Spaces:
Paused
Paused
Update Dockerfile
Browse files- Dockerfile +63 -27
Dockerfile
CHANGED
|
@@ -15,57 +15,87 @@ WORKDIR /app
|
|
| 15 |
# Создание структуры мода
|
| 16 |
RUN mkdir -p src/main/java/com/freecam/mod src/main/resources
|
| 17 |
|
| 18 |
-
# Создание
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
RUN echo 'plugins {\n\
|
| 20 |
id "fabric-loom" version "1.4-SNAPSHOT"\n\
|
| 21 |
id "maven-publish"\n\
|
| 22 |
}\n\
|
| 23 |
\n\
|
| 24 |
-
version =
|
| 25 |
-
group =
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
\n\
|
| 27 |
repositories {\n\
|
| 28 |
mavenCentral()\n\
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
| 30 |
}\n\
|
| 31 |
\n\
|
| 32 |
dependencies {\n\
|
| 33 |
-
minecraft "com.mojang:minecraft
|
| 34 |
-
mappings "net.fabricmc:yarn
|
| 35 |
-
modImplementation "net.fabricmc:fabric-loader
|
| 36 |
-
modImplementation "net.fabricmc.fabric-api:fabric-api
|
| 37 |
}\n\
|
| 38 |
\n\
|
| 39 |
processResources {\n\
|
| 40 |
inputs.property "version", project.version\n\
|
|
|
|
| 41 |
filesMatching("fabric.mod.json") {\n\
|
| 42 |
expand "version": project.version\n\
|
| 43 |
}\n\
|
| 44 |
}\n\
|
| 45 |
\n\
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
java {\n\
|
|
|
|
|
|
|
| 47 |
sourceCompatibility = JavaVersion.VERSION_17\n\
|
| 48 |
targetCompatibility = JavaVersion.VERSION_17\n\
|
| 49 |
}\n\
|
| 50 |
\n\
|
| 51 |
jar {\n\
|
| 52 |
from("LICENSE") {\n\
|
| 53 |
-
rename { "${it}_${project.
|
| 54 |
}\n\
|
| 55 |
}' > build.gradle
|
| 56 |
|
| 57 |
-
# Создание gradle.properties
|
| 58 |
-
RUN echo 'org.gradle.jvmargs=-Xmx2G\n\
|
| 59 |
-
org.gradle.daemon=false' > gradle.properties
|
| 60 |
-
|
| 61 |
-
# Создание settings.gradle
|
| 62 |
-
RUN echo 'pluginManagement {\n\
|
| 63 |
-
repositories {\n\
|
| 64 |
-
maven { url "https://maven.fabricmc.net/" }\n\
|
| 65 |
-
gradlePluginPortal()\n\
|
| 66 |
-
}\n\
|
| 67 |
-
}' > settings.gradle
|
| 68 |
-
|
| 69 |
# Создание основного класса мода
|
| 70 |
RUN echo 'package com.freecam.mod;\n\
|
| 71 |
\n\
|
|
@@ -126,21 +156,26 @@ public class FreeCamMod implements ClientModInitializer {\n\
|
|
| 126 |
RUN echo '{\n\
|
| 127 |
"schemaVersion": 1,\n\
|
| 128 |
"id": "freecam",\n\
|
| 129 |
-
"version": "
|
| 130 |
"name": "FreeCam Mod",\n\
|
| 131 |
"description": "FreeCam with Ctrl+H",\n\
|
| 132 |
"authors": ["Author"],\n\
|
| 133 |
"contact": {},\n\
|
| 134 |
"license": "MIT",\n\
|
| 135 |
-
"icon": "assets/freecam/icon.png",\n\
|
| 136 |
"environment": "client",\n\
|
| 137 |
"entrypoints": {\n\
|
| 138 |
-
"client": [
|
|
|
|
|
|
|
| 139 |
},\n\
|
| 140 |
"depends": {\n\
|
| 141 |
"fabricloader": ">=0.15.0",\n\
|
| 142 |
-
"minecraft": "1.20.1",\n\
|
|
|
|
| 143 |
"fabric-api": "*"\n\
|
|
|
|
|
|
|
|
|
|
| 144 |
}\n\
|
| 145 |
}' > src/main/resources/fabric.mod.json
|
| 146 |
|
|
@@ -153,11 +188,12 @@ RUN wget https://services.gradle.org/distributions/gradle-8.5-bin.zip && \
|
|
| 153 |
ENV PATH="/opt/gradle/bin:${PATH}"
|
| 154 |
|
| 155 |
# Сборка мода
|
| 156 |
-
RUN gradle build --no-daemon
|
|
|
|
| 157 |
|
| 158 |
# Копирование JAR в доступное место
|
| 159 |
RUN mkdir -p /app/download && \
|
| 160 |
-
|
| 161 |
|
| 162 |
# Создание простого Python HTTP сервера
|
| 163 |
RUN echo 'from http.server import HTTPServer, SimpleHTTPRequestHandler\n\
|
|
|
|
| 15 |
# Создание структуры мода
|
| 16 |
RUN mkdir -p src/main/java/com/freecam/mod src/main/resources
|
| 17 |
|
| 18 |
+
# Создание settings.gradle
|
| 19 |
+
RUN echo 'pluginManagement {\n\
|
| 20 |
+
repositories {\n\
|
| 21 |
+
maven {\n\
|
| 22 |
+
name = "Fabric"\n\
|
| 23 |
+
url = "https://maven.fabricmc.net/"\n\
|
| 24 |
+
}\n\
|
| 25 |
+
mavenCentral()\n\
|
| 26 |
+
gradlePluginPortal()\n\
|
| 27 |
+
}\n\
|
| 28 |
+
}\n\
|
| 29 |
+
\n\
|
| 30 |
+
rootProject.name = "freecam-mod"' > settings.gradle
|
| 31 |
+
|
| 32 |
+
# Создание gradle.properties
|
| 33 |
+
RUN echo 'org.gradle.jvmargs=-Xmx2G\n\
|
| 34 |
+
org.gradle.daemon=false\n\
|
| 35 |
+
\n\
|
| 36 |
+
minecraft_version=1.20.1\n\
|
| 37 |
+
yarn_mappings=1.20.1+build.10\n\
|
| 38 |
+
loader_version=0.15.0\n\
|
| 39 |
+
\n\
|
| 40 |
+
fabric_version=0.92.0+1.20.1\n\
|
| 41 |
+
\n\
|
| 42 |
+
mod_version=1.0.0\n\
|
| 43 |
+
maven_group=com.freecam\n\
|
| 44 |
+
archives_base_name=freecam-mod' > gradle.properties
|
| 45 |
+
|
| 46 |
+
# Создание build.gradle
|
| 47 |
RUN echo 'plugins {\n\
|
| 48 |
id "fabric-loom" version "1.4-SNAPSHOT"\n\
|
| 49 |
id "maven-publish"\n\
|
| 50 |
}\n\
|
| 51 |
\n\
|
| 52 |
+
version = project.mod_version\n\
|
| 53 |
+
group = project.maven_group\n\
|
| 54 |
+
\n\
|
| 55 |
+
base {\n\
|
| 56 |
+
archivesName = project.archives_base_name\n\
|
| 57 |
+
}\n\
|
| 58 |
\n\
|
| 59 |
repositories {\n\
|
| 60 |
mavenCentral()\n\
|
| 61 |
+
}\n\
|
| 62 |
+
\n\
|
| 63 |
+
loom {\n\
|
| 64 |
+
splitEnvironmentSourceSets()\n\
|
| 65 |
}\n\
|
| 66 |
\n\
|
| 67 |
dependencies {\n\
|
| 68 |
+
minecraft "com.mojang:minecraft:${project.minecraft_version}"\n\
|
| 69 |
+
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"\n\
|
| 70 |
+
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"\n\
|
| 71 |
+
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"\n\
|
| 72 |
}\n\
|
| 73 |
\n\
|
| 74 |
processResources {\n\
|
| 75 |
inputs.property "version", project.version\n\
|
| 76 |
+
\n\
|
| 77 |
filesMatching("fabric.mod.json") {\n\
|
| 78 |
expand "version": project.version\n\
|
| 79 |
}\n\
|
| 80 |
}\n\
|
| 81 |
\n\
|
| 82 |
+
tasks.withType(JavaCompile).configureEach {\n\
|
| 83 |
+
it.options.release = 17\n\
|
| 84 |
+
}\n\
|
| 85 |
+
\n\
|
| 86 |
java {\n\
|
| 87 |
+
withSourcesJar()\n\
|
| 88 |
+
\n\
|
| 89 |
sourceCompatibility = JavaVersion.VERSION_17\n\
|
| 90 |
targetCompatibility = JavaVersion.VERSION_17\n\
|
| 91 |
}\n\
|
| 92 |
\n\
|
| 93 |
jar {\n\
|
| 94 |
from("LICENSE") {\n\
|
| 95 |
+
rename { "${it}_${project.base.archivesName.get()}"}\n\
|
| 96 |
}\n\
|
| 97 |
}' > build.gradle
|
| 98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 99 |
# Создание основного класса мода
|
| 100 |
RUN echo 'package com.freecam.mod;\n\
|
| 101 |
\n\
|
|
|
|
| 156 |
RUN echo '{\n\
|
| 157 |
"schemaVersion": 1,\n\
|
| 158 |
"id": "freecam",\n\
|
| 159 |
+
"version": "${version}",\n\
|
| 160 |
"name": "FreeCam Mod",\n\
|
| 161 |
"description": "FreeCam with Ctrl+H",\n\
|
| 162 |
"authors": ["Author"],\n\
|
| 163 |
"contact": {},\n\
|
| 164 |
"license": "MIT",\n\
|
|
|
|
| 165 |
"environment": "client",\n\
|
| 166 |
"entrypoints": {\n\
|
| 167 |
+
"client": [\n\
|
| 168 |
+
"com.freecam.mod.FreeCamMod"\n\
|
| 169 |
+
]\n\
|
| 170 |
},\n\
|
| 171 |
"depends": {\n\
|
| 172 |
"fabricloader": ">=0.15.0",\n\
|
| 173 |
+
"minecraft": "~1.20.1",\n\
|
| 174 |
+
"java": ">=17",\n\
|
| 175 |
"fabric-api": "*"\n\
|
| 176 |
+
},\n\
|
| 177 |
+
"suggests": {\n\
|
| 178 |
+
"another-mod": "*"\n\
|
| 179 |
}\n\
|
| 180 |
}' > src/main/resources/fabric.mod.json
|
| 181 |
|
|
|
|
| 188 |
ENV PATH="/opt/gradle/bin:${PATH}"
|
| 189 |
|
| 190 |
# Сборка мода
|
| 191 |
+
RUN gradle build --no-daemon || true && \
|
| 192 |
+
gradle build --no-daemon --stacktrace
|
| 193 |
|
| 194 |
# Копирование JAR в доступное место
|
| 195 |
RUN mkdir -p /app/download && \
|
| 196 |
+
find build/libs -name "*.jar" ! -name "*-sources.jar" -exec cp {} /app/download/freecam-mod.jar \;
|
| 197 |
|
| 198 |
# Создание простого Python HTTP сервера
|
| 199 |
RUN echo 'from http.server import HTTPServer, SimpleHTTPRequestHandler\n\
|