sterepando commited on
Commit
9f7e929
·
verified ·
1 Parent(s): 71d3637

Update Dockerfile

Browse files
Files changed (1) hide show
  1. 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
- # Создание gradle wrapper и build.gradle
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 = "1.0.0"\n\
25
- group = "com.freecam"\n\
 
 
 
 
26
  \n\
27
  repositories {\n\
28
  mavenCentral()\n\
29
- maven { url "https://maven.fabricmc.net/" }\n\
 
 
 
30
  }\n\
31
  \n\
32
  dependencies {\n\
33
- minecraft "com.mojang:minecraft:1.20.1"\n\
34
- mappings "net.fabricmc:yarn:1.20.1+build.10:v2"\n\
35
- modImplementation "net.fabricmc:fabric-loader:0.15.0"\n\
36
- modImplementation "net.fabricmc.fabric-api:fabric-api:0.92.0+1.20.1"\n\
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.archivesBaseName}"}\n\
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": "1.0.0",\n\
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": ["com.freecam.mod.FreeCamMod"]\n\
 
 
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
- cp build/libs/*.jar /app/download/freecam-mod.jar
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\