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

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -9
Dockerfile CHANGED
@@ -45,7 +45,7 @@ RUN rm -rf jpms-example example android src/test \
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,16 +53,15 @@ 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: "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 && \
@@ -70,10 +69,13 @@ RUN echo 'package party.iroiro.luajava;' > luajava/src/main/java/party/iroiro/lu
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' {} + && \
79
  find . -name "*.java" -exec sed -i '/import org.jetbrains.annotations/d' {} +
@@ -82,7 +84,7 @@ RUN find . -name "*.java" -exec sed -i 's/@NotNull//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,7 +104,7 @@ RUN echo 'import gradio as gr' > app.py && \
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
 
45
  luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java \
46
  && find . -name "module-info.java" -delete
47
 
48
+ # 3. FIX: Заглушка GlobalLibraryLoader
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: Рефакторинг LuaException/LuaError (Обход бага d8)
 
57
  RUN rm luajava/src/main/java/party/iroiro/luajava/LuaException.java
58
 
59
+ # Создаем LuaError.java
60
  RUN echo 'package party.iroiro.luajava;' > luajava/src/main/java/party/iroiro/luajava/LuaError.java && \
61
  echo 'public enum LuaError { OK, YIELD, RUNTIME, SYNTAX, MEMORY, GC, ERR, FILE, HANDLER, JAVA; ' >> luajava/src/main/java/party/iroiro/luajava/LuaError.java && \
62
  echo 'public int code() { return ordinal(); } }' >> luajava/src/main/java/party/iroiro/luajava/LuaError.java
63
 
64
+ # Создаем LuaException.java
65
  RUN echo 'package party.iroiro.luajava;' > luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
66
  echo 'public class LuaException extends RuntimeException {' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
67
  echo ' public LuaException(String msg) { super(msg); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
 
69
  echo ' public LuaException(LuaError error, String msg) { super(error.toString() + ": " + msg); }' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java && \
70
  echo '}' >> luajava/src/main/java/party/iroiro/luajava/LuaException.java
71
 
72
+ # Заменяем обращения к вложенному классу на новый Enum
73
  RUN find . -name "*.java" -exec sed -i 's/LuaException\.LuaError/LuaError/g' {} +
74
 
75
+ # !!! ВАЖНО: Добавляем импорт LuaError во ВСЕ файлы, чтобы подпакеты его видели !!!
76
+ RUN find . -name "*.java" -exec sed -i '/^package /a import party.iroiro.luajava.LuaError;' {} +
77
+
78
+ # 5. Удаляем аннотации JetBrains
79
  RUN find . -name "*.java" -exec sed -i 's/@NotNull//g' {} + && \
80
  find . -name "*.java" -exec sed -i 's/@Nullable//g' {} + && \
81
  find . -name "*.java" -exec sed -i '/import org.jetbrains.annotations/d' {} +
 
84
  RUN mkdir classes
85
  RUN javac -source 8 -target 8 -d classes $(find . -name "*.java")
86
 
87
+ # 7. Сборка DEX
88
  RUN ${ANDROID_SDK_ROOT}/build-tools/34.0.0/d8 \
89
  --lib ${ANDROID_SDK_ROOT}/platforms/android-34/android.jar \
90
  --min-api 26 \
 
104
  echo '' >> app.py && \
105
  echo 'with gr.Blocks() as demo:' >> app.py && \
106
  echo ' gr.Markdown("# Download LuaJava DEX")' >> app.py && \
107
+ echo ' gr.Markdown("Compilation SUCCESS! Fixed visibility of LuaError.")' >> app.py && \
108
  echo ' gr.File(value=file_path, label="luajava_wrapper.dex", interactive=False)' >> app.py && \
109
  echo '' >> app.py && \
110
  echo 'demo.launch(server_name="0.0.0.0", server_port=7860)' >> app.py