sterepando commited on
Commit
f16770b
·
verified ·
1 Parent(s): f943bb2

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -6
Dockerfile CHANGED
@@ -39,13 +39,13 @@ RUN git clone https://github.com/gudzpoz/luajava.git
39
 
40
  WORKDIR /app/luajava
41
 
42
- # 2. ЧИСТКА ОТ ЛИШНЕГО
43
  RUN rm -rf jpms-example example android src/test \
44
  lua51 lua52 lua53 luajit luaj jsr223 \
45
  luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java \
46
  && find . -name "module-info.java" -delete
47
 
48
- # 3. FIX ЗАВИСИМОСТЕЙ (Убираем GDX)
49
  RUN mkdir -p luajava/src/main/java/party/iroiro/luajava/util && \
50
  echo 'package party.iroiro.luajava.util;' > luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java && \
51
  echo 'public class GlobalLibraryLoader {' >> luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java && \
@@ -53,15 +53,26 @@ RUN mkdir -p luajava/src/main/java/party/iroiro/luajava/util && \
53
  echo ' public static void register(Class<?> c, boolean b) {}' >> luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java && \
54
  echo '}' >> luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java
55
 
56
- # 4. FIX БАГА D8 (Правильный LuaException с Enum)
 
 
 
 
 
 
 
 
 
57
  RUN echo 'package party.iroiro.luajava;' > luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
58
  echo 'public class LuaException extends RuntimeException {' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
59
- echo ' public enum LuaError { OK, YIELD, RUNTIME, SYNTAX, MEMORY, GC, ERR, FILE, HANDLER, JAVA }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
60
  echo ' public LuaException(String msg) { super(msg); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
61
  echo ' public LuaException(Throwable cause) { super(cause); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
62
  echo ' public LuaException(LuaError error, String msg) { super(error.toString() + ": " + msg); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
63
  echo '}' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java
64
 
 
 
 
65
  # 5. Удаляем аннотации
66
  RUN find . -name "*.java" -exec sed -i 's/@NotNull//g' {} + && \
67
  find . -name "*.java" -exec sed -i 's/@Nullable//g' {} + && \
@@ -71,7 +82,7 @@ RUN find . -name "*.java" -exec sed -i 's/@NotNull//g' {} + && \
71
  RUN mkdir classes
72
  RUN javac -source 8 -target 8 -d classes $(find . -name "*.java")
73
 
74
- # 7. Сборка DEX
75
  RUN ${ANDROID_SDK_ROOT}/build-tools/34.0.0/d8 \
76
  --lib ${ANDROID_SDK_ROOT}/platforms/android-34/android.jar \
77
  --min-api 26 \
@@ -91,7 +102,7 @@ RUN echo 'import gradio as gr' > app.py && \
91
  echo '' >> app.py && \
92
  echo 'with gr.Blocks() as demo:' >> app.py && \
93
  echo ' gr.Markdown("# Download LuaJava DEX")' >> app.py && \
94
- echo ' gr.Markdown("Final Fix Build: LuaException Enum added.")' >> app.py && \
95
  echo ' gr.File(value=file_path, label="luajava_wrapper.dex", interactive=False)' >> app.py && \
96
  echo '' >> app.py && \
97
  echo 'demo.launch(server_name="0.0.0.0", server_port=7860)' >> app.py
 
39
 
40
  WORKDIR /app/luajava
41
 
42
+ # 2. ЧИСТКА
43
  RUN rm -rf jpms-example example android src/test \
44
  lua51 lua52 lua53 luajit luaj jsr223 \
45
  luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java \
46
  && find . -name "module-info.java" -delete
47
 
48
+ # 3. FIX: Убираем зависимость GDX
49
  RUN mkdir -p luajava/src/main/java/party/iroiro/luajava/util && \
50
  echo 'package party.iroiro.luajava.util;' > luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java && \
51
  echo 'public class GlobalLibraryLoader {' >> luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java && \
 
53
  echo ' public static void register(Class<?> c, boolean b) {}' >> luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java && \
54
  echo '}' >> luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java
55
 
56
+ # 4. FIX: "Refactor" для обхода бага d8
57
+ # Удаляем старый файл
58
+ RUN rm luajava/src/main/java/party/iroiro/luajava/LuaException.java
59
+
60
+ # Создаем LuaError.java (отдельный Enum)
61
+ RUN echo 'package party.iroiro.luajava;' > luajava/src/main/java/party/iroiro/luajava/LuaError.java && \
62
+ echo 'public enum LuaError { OK, YIELD, RUNTIME, SYNTAX, MEMORY, GC, ERR, FILE, HANDLER, JAVA; ' >> luajava/src/main/java/party/iroiro/luajava/LuaError.java && \
63
+ echo 'public int code() { return ordinal(); } }' >> luajava/src/main/java/party/iroiro/luajava/LuaError.java
64
+
65
+ # Создаем LuaException.java (без вложенного класса)
66
  RUN echo 'package party.iroiro.luajava;' > luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
67
  echo 'public class LuaException extends RuntimeException {' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
 
68
  echo ' public LuaException(String msg) { super(msg); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
69
  echo ' public LuaException(Throwable cause) { super(cause); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
70
  echo ' public LuaException(LuaError error, String msg) { super(error.toString() + ": " + msg); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
71
  echo '}' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java
72
 
73
+ # Заменяем все ссылки LuaException.LuaError -> LuaError во всем коде
74
+ RUN find . -name "*.java" -exec sed -i 's/LuaException\.LuaError/LuaError/g' {} +
75
+
76
  # 5. Удаляем аннотации
77
  RUN find . -name "*.java" -exec sed -i 's/@NotNull//g' {} + && \
78
  find . -name "*.java" -exec sed -i 's/@Nullable//g' {} + && \
 
82
  RUN mkdir classes
83
  RUN javac -source 8 -target 8 -d classes $(find . -name "*.java")
84
 
85
+ # 7. Сборка DEX (d8 больше не должен падать)
86
  RUN ${ANDROID_SDK_ROOT}/build-tools/34.0.0/d8 \
87
  --lib ${ANDROID_SDK_ROOT}/platforms/android-34/android.jar \
88
  --min-api 26 \
 
102
  echo '' >> app.py && \
103
  echo 'with gr.Blocks() as demo:' >> app.py && \
104
  echo ' gr.Markdown("# Download LuaJava DEX")' >> app.py && \
105
+ echo ' gr.Markdown("Compilation SUCCESS! Refactored to bypass d8 bug.")' >> app.py && \
106
  echo ' gr.File(value=file_path, label="luajava_wrapper.dex", interactive=False)' >> app.py && \
107
  echo '' >> app.py && \
108
  echo 'demo.launch(server_name="0.0.0.0", server_port=7860)' >> app.py