Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import proguard.gradle.ProGuardTask
- import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
- apply plugin: 'com.github.johnrengelman.shadow'
- apply plugin: 'java'
- apply plugin: 'maven-publish'
- buildscript {
- repositories {
- mavenCentral()
- jcenter()
- maven { url "https://plugins.gradle.org/m2/" }
- }
- dependencies {
- classpath group: 'net.sf.proguard', name: 'proguard-gradle', version: '5.3.1'
- classpath group: 'com.github.jengelman.gradle.plugins', name: 'shadow', version: '1.2.4'
- classpath 'gradle.plugin.edu.sc.seis.gradle:launch4j:1.6.2'
- }
- }
- repositories {
- mavenCentral()
- jcenter()
- }
- jar {
- manifest { attributes("Main-Class": "com.skcraft.launcher.Launcher") }
- }
- dependencies {
- compile 'org.projectlombok:lombok:1.12.2'
- compile 'com.fasterxml.jackson.core:jackson-databind:2.3.0'
- compile 'commons-lang:commons-lang:2.6'
- compile 'commons-io:commons-io:1.2'
- compile 'com.google.guava:guava:15.0'
- compile 'com.beust:jcommander:1.32'
- compile 'com.miglayout:miglayout:3.7.4'
- compile 'com.google.code.findbugs:jsr305:3.0.0'
- compile files ('libs/javax-crypto.jar')
- compile files ('libs/jfxrt.jar')
- compile 'org.jsoup:jsoup:1.9.2'
- compile 'com.jfoenix:jfoenix:0.0.0-SNAPSHOT'
- compile 'com.googlecode.json-simple:json-simple:1.1'
- manifest {
- attributes("Main-Class": "com.skcraft.launcher.FxApp")
- }
- }
- processResources {
- filesMatching('**/*.properties') {
- filter {
- it.replace('${project.version}', project.version)
- }
- }
- }
- task obfuscate(type: proguard.gradle.ProGuardTask) {
- configuration '../proguard.txt'
- injars jar
- outjars "${buildDir}/libs/launcher-${version}-obf.jar"
- libraryjars files(configurations.compile.collect())
- }
- task finalJar(type: ShadowJar) {
- from file("${buildDir}/libs/launcher-${version}-obf.jar")
- dependencies {
- exclude(dependency('org.projectlombok:lombok'))
- }
- }
- task wrapper(type: Wrapper) { gradleVersion = "3.1" }
- publishing {
- publications {
- mavenJava(MavenPublication)
- {
- artifact shadowJar
- //from components.java
- }
- }
- repositories {
- maven {
- //checks for a the local property as a gradle argument and if exists outputs to a local dir.
- if (project.hasProperty("local") && project.getProperty("local") == "true")
- url "file:" + projectDir.path + "/build/maven"
- else
- url "file:////usr/share/nginx/maven/"
- }
- }
- }
- tasks.build.dependsOn(obfuscate)
- tasks.build.dependsOn(finalJar)
- # Include java runtime classes
- -libraryjars <java.home>/lib/rt.jar
- # Output a source map file
- -printmapping proguard.map
- -dontshrink
- -dontoptimize
- -keep class !com.skcraft.** { *; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement