Refactor: Multi-module Maven project structure

- Restructured to multi-module Maven project (bootstrap + launcher)
- Removed duplicate code (launcher/launcher/ with JCEF)
- Added JavaFX modules to lib/javafx in ZIP
- Added JRE 21 to lib/jre21 in ZIP
- Fixed Bootstrap with UTF-8 encoding and JavaFX module-path
- Fixed JAR naming (zernmclauncher.jar)
- Added Windows build configuration (ZernMC-win-*.zip)
- Fixed version parsing for -any, -alpha, -beta suffixes
This commit is contained in:
SashegDev
2026-05-06 21:35:14 +00:00
parent 523f659269
commit 0cef411125
97 changed files with 590 additions and 9924 deletions
+11 -52
View File
@@ -2,9 +2,8 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>me.sashegdev</groupId>
<artifactId>ZernMCLauncher</artifactId>
@@ -13,24 +12,24 @@
<artifactId>zernmc-bootstrap</artifactId>
<packaging>jar</packaging>
<name>ZernMC Bootstrap</name>
<description>ZernMC Launcher - Bootstrap (auto-updater)</description>
<description>Bootstrap module - handles updates and Java launching</description>
<dependencies>
<!-- Minimal dependencies for Bootstrap -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
@@ -42,56 +41,16 @@
<goal>shade</goal>
</goals>
<configuration>
<outputFile>../../server/builds/zernmc/zernmc.jar</outputFile>
<outputFile>../../server/builds/zernmc-bootstrap.jar</outputFile>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>me.sashegdev.zernmc.launcher.Bootstrap</mainClass>
<manifestEntries>
<Implementation-Version>1.0.8</Implementation-Version>
<Implementation-Title>ZernMC Bootstrap</Implementation-Title>
<Implementation-Vendor>ZernMC</Implementation-Vendor>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>2.5.0</version>
<executions>
<execution>
<id>l4j</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<outfile>../../server/builds/zernmc/zernmc.exe</outfile>
<jar>../../server/builds/zernmc/zernmc.jar</jar>
<headerType>gui</headerType>
<dontWrapJar>true</dontWrapJar>
<jre>
<path>lib/jre21-custom</path>
<minVersion>21</minVersion>
</jre>
<versionInfo>
<fileVersion>1.0.8.0</fileVersion>
<txtFileVersion>1.0.8</txtFileVersion>
<fileDescription>ZernMC Launcher Bootstrap</fileDescription>
<productVersion>1.0.8.0</productVersion>
<txtProductVersion>1.0.8</txtProductVersion>
<productName>ZernMC Launcher</productName>
<companyName>ZernMC</companyName>
<internalName>zernmc</internalName>
<originalFilename>zernmc.exe</originalFilename>
</versionInfo>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>