diff --git a/HMCL/HMCLauncher.exe b/HMCL/HMCLauncher.exe deleted file mode 100644 index bfe3e45c3..000000000 Binary files a/HMCL/HMCLauncher.exe and /dev/null differ diff --git a/HMCL/build.gradle b/HMCL/build.gradle index 9ac87a913..72ffa3234 100644 --- a/HMCL/build.gradle +++ b/HMCL/build.gradle @@ -1,11 +1,14 @@ import org.apache.tools.ant.filters.ReplaceTokens -import proguard.gradle.ProGuardTask import java.security.MessageDigest import java.util.jar.JarFile import java.util.jar.Pack200 import java.util.zip.GZIPOutputStream +plugins { + id "edu.sc.seis.launch4j" version "2.4.4" +} + if (!hasProperty('mainClass')) { ext.mainClass = 'org.jackhuang.hmcl.Main' } @@ -54,11 +57,6 @@ jar { } doLast { - //new File("build/signed").mkdirs() - //ant.signjar(signedjar: archivePath, jar: archivePath, - // keystore: "HMCL.keystore", storepass: "123456", - // alias: "HMCL") - def messageDigest = MessageDigest.getInstance("SHA1") archivePath.eachByte 1024 * 1024, { byte[] buf, int bytesRead -> messageDigest.update(buf, 0, bytesRead) @@ -76,30 +74,6 @@ processResources { } } -task makeExecutable(dependsOn: jar) doLast { - ext { - jar.classifier = '' - makeExecutableinjar = jar.archivePath - jar.classifier = '' - makeExecutableoutjar = jar.archivePath - jar.classifier = '' - } - def loc = new File(project.buildDir, "libs/" + makeExecutableoutjar.getName().substring(0, makeExecutableoutjar.getName().length() - 4) + ".exe") - def fos = new FileOutputStream(loc) - def is = new FileInputStream(new File(project.buildDir, '../HMCLauncher.exe')) - int read - def bytes = new byte[8192] - while((read = is.read(bytes)) != -1) - fos.write(bytes, 0, read) - is.close() - is = new FileInputStream(makeExecutableoutjar) - while((read = is.read(bytes)) != -1) - fos.write(bytes, 0, read) - is.close() - fos.close() - -} - task makePackGZ(dependsOn: jar) doLast { ext { jar.classifier = '' @@ -123,41 +97,21 @@ task makePackGZ(dependsOn: jar) doLast { fileEx.append sha1Hex } -task proguard(type: ProGuardTask, dependsOn: jar) { - ext { - def re = jar.classifier - injar = jar.archivePath - jar.classifier = 'optimized' - outjar = jar.archivePath - jar.classifier = re - } +launch4j { + mainClassName = mainClass + icon = "${projectDir}/icon.ico" - injars(/*["filter": "!META-INF/**,**"], */injar) - String javaHome = System.getProperty("java.home") - if (!javaHome.endsWith("jre")) - javaHome += File.separator + "jre" - libraryjars javaHome + "/lib/rt.jar" - libraryjars javaHome + "/lib/jce.jar" - libraryjars javaHome + "/lib/jsse.jar" - libraryjars javaHome + "/lib/ext/jfxrt.jar" - outjars outjar + jvmOptions = ["-XX:MinHeapFreeRatio=5", "-XX:MaxHeapFreeRatio=15"] - configuration 'proguard.pro' + version = mavenVersion + productName = "HMCL" + internalName = "HMCL-${mavenVersion}" + outfile = "HMCL-${mavenVersion}.exe" + + outputDir = "libs" + + copyright = "Copyright (C) 2018 huangyuhui " } -task combineMETA_INF(type: Jar) { - ext { - def re = jar.classifier - injar = jar.archivePath - jar.classifier = 'optimized' - outjar = jar.archivePath - jar.classifier = re - } - from zipTree(outjar) - from zipTree(injar).matching { - include "META-INF/" - } -} - -build.dependsOn makeExecutable -build.dependsOn makePackGZ \ No newline at end of file +build.dependsOn makePackGZ +build.dependsOn createExe \ No newline at end of file diff --git a/HMCL/proguard.pro b/HMCL/proguard.pro deleted file mode 100644 index b6615f366..000000000 --- a/HMCL/proguard.pro +++ /dev/null @@ -1,15 +0,0 @@ --target 1.8 --dontoptimize --dontobfuscate - -# JFoenix --keep class com.jfoenix.** { - ; - ; -} - -# HMCL --keep class org.jackhuang.** { - ; - ; -} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 92b306127..ad33237f0 100644 --- a/build.gradle +++ b/build.gradle @@ -19,15 +19,6 @@ group 'org.jackhuang' version '3.0' -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath 'net.sf.proguard:proguard-gradle:5.3.3' - } -} - repositories { mavenCentral() }