Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. import proguard.gradle.ProGuardTask
  2. import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
  3.  
  4. apply plugin: 'com.github.johnrengelman.shadow'
  5. apply plugin: 'java'
  6. apply plugin: 'maven-publish'
  7.  
  8. buildscript {
  9. repositories {
  10. mavenCentral()
  11. jcenter()
  12. maven { url "https://plugins.gradle.org/m2/" }
  13. }
  14.  
  15. dependencies {
  16. classpath group: 'net.sf.proguard', name: 'proguard-gradle', version: '5.3.1'
  17. classpath group: 'com.github.jengelman.gradle.plugins', name: 'shadow', version: '1.2.4'
  18. classpath 'gradle.plugin.edu.sc.seis.gradle:launch4j:1.6.2'
  19. }
  20. }
  21.  
  22. repositories {
  23. mavenCentral()
  24. jcenter()
  25. }
  26.  
  27. jar {
  28. manifest { attributes("Main-Class": "com.skcraft.launcher.Launcher") }
  29. }
  30.  
  31. dependencies {
  32. compile 'org.projectlombok:lombok:1.12.2'
  33. compile 'com.fasterxml.jackson.core:jackson-databind:2.3.0'
  34. compile 'commons-lang:commons-lang:2.6'
  35. compile 'commons-io:commons-io:1.2'
  36. compile 'com.google.guava:guava:15.0'
  37. compile 'com.beust:jcommander:1.32'
  38. compile 'com.miglayout:miglayout:3.7.4'
  39. compile 'com.google.code.findbugs:jsr305:3.0.0'
  40. compile files ('libs/javax-crypto.jar')
  41. compile files ('libs/jfxrt.jar')
  42. compile 'org.jsoup:jsoup:1.9.2'
  43. compile 'com.jfoenix:jfoenix:0.0.0-SNAPSHOT'
  44. compile 'com.googlecode.json-simple:json-simple:1.1'
  45.  
  46. manifest {
  47. attributes("Main-Class": "com.skcraft.launcher.FxApp")
  48. }
  49. }
  50.  
  51. processResources {
  52. filesMatching('**/*.properties') {
  53. filter {
  54. it.replace('${project.version}', project.version)
  55. }
  56. }
  57. }
  58.  
  59. task obfuscate(type: proguard.gradle.ProGuardTask) {
  60. configuration '../proguard.txt'
  61.  
  62. injars jar
  63. outjars "${buildDir}/libs/launcher-${version}-obf.jar"
  64.  
  65. libraryjars files(configurations.compile.collect())
  66. }
  67.  
  68. task finalJar(type: ShadowJar) {
  69. from file("${buildDir}/libs/launcher-${version}-obf.jar")
  70.  
  71. dependencies {
  72. exclude(dependency('org.projectlombok:lombok'))
  73. }
  74. }
  75.  
  76. task wrapper(type: Wrapper) { gradleVersion = "3.1" }
  77.  
  78. publishing {
  79. publications {
  80. mavenJava(MavenPublication)
  81. {
  82. artifact shadowJar
  83. //from components.java
  84. }
  85. }
  86.  
  87. repositories {
  88. maven {
  89. //checks for a the local property as a gradle argument and if exists outputs to a local dir.
  90. if (project.hasProperty("local") && project.getProperty("local") == "true")
  91. url "file:" + projectDir.path + "/build/maven"
  92. else
  93. url "file:////usr/share/nginx/maven/"
  94. }
  95. }
  96. }
  97.  
  98. tasks.build.dependsOn(obfuscate)
  99. tasks.build.dependsOn(finalJar)
  100.  
  101. # Include java runtime classes
  102. -libraryjars <java.home>/lib/rt.jar
  103.  
  104. # Output a source map file
  105. -printmapping proguard.map
  106. -dontshrink
  107. -dontoptimize
  108.  
  109. -keep class !com.skcraft.** { *; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement