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

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -8
Dockerfile CHANGED
@@ -54,14 +54,15 @@ RUN mkdir -p luajava/src/main/java/party/iroiro/luajava/util && \
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,21 +70,25 @@ RUN echo 'package party.iroiro.luajava;' > luajava/src/main/java/party/iroiro/lu
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' {} +
 
82
 
83
  # 6. Компиляция
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 \
@@ -104,7 +109,7 @@ RUN echo 'import gradio as gr' > app.py && \
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
 
54
  echo '}' >> luajava/src/main/java/party/iroiro/luajava/util/GlobalLibraryLoader.java
55
 
56
  # 4. FIX: Рефакторинг LuaException/LuaError (Обход бага d8)
57
+ # Удаляем старый файл ЖЕСТКО через find
58
+ RUN find . -name "LuaException.java" -delete
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 (Класс, ссылающийся на Enum)
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
  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
+ # Добавляем импорт LuaError
77
  RUN find . -name "*.java" -exec sed -i '/^package /a import party.iroiro.luajava.LuaError;' {} +
78
 
79
+ # 5. Удаляем аннотации и ЧИСТИМ ИМПОРТЫ (удаляем старый импорт вложенного класса)
80
  RUN find . -name "*.java" -exec sed -i 's/@NotNull//g' {} + && \
81
  find . -name "*.java" -exec sed -i 's/@Nullable//g' {} + && \
82
+ find . -name "*.java" -exec sed -i '/import org.jetbrains.annotations/d' {} + && \
83
+ find . -name "*.java" -exec sed -i '/import party.iroiro.luajava.LuaException.LuaError;/d' {} +
84
 
85
  # 6. Компиляция
86
  RUN mkdir classes
87
  RUN javac -source 8 -target 8 -d classes $(find . -name "*.java")
88
 
89
+ # ПРОВЕРКА: Если вдруг javac все-таки создал вложенный класс, удаляем его
90
+ RUN find classes -name "*LuaException\$LuaError.class" -delete
91
+
92
  # 7. Сборка DEX
93
  RUN ${ANDROID_SDK_ROOT}/build-tools/34.0.0/d8 \
94
  --lib ${ANDROID_SDK_ROOT}/platforms/android-34/android.jar \
 
109
  echo '' >> app.py && \
110
  echo 'with gr.Blocks() as demo:' >> app.py && \
111
  echo ' gr.Markdown("# Download LuaJava DEX")' >> app.py && \
112
+ echo ' gr.Markdown("Compilation SUCCESS! No inner classes.")' >> app.py && \
113
  echo ' gr.File(value=file_path, label="luajava_wrapper.dex", interactive=False)' >> app.py && \
114
  echo '' >> app.py && \
115
  echo 'demo.launch(server_name="0.0.0.0", server_port=7860)' >> app.py