diff options
| author | 2015-01-24 14:59:02 -0500 | |
|---|---|---|
| committer | 2015-01-24 14:59:02 -0500 | |
| commit | c45dbbe43eaa9ecbfa9d59fc80a19f2aa4adb6d9 (patch) | |
| tree | 3e9c7908233659cd87bdbe1330dab3a95362c71b /build.py | |
| parent | remove libs from repo (diff) | |
| download | enigma-fork-c45dbbe43eaa9ecbfa9d59fc80a19f2aa4adb6d9.tar.gz enigma-fork-c45dbbe43eaa9ecbfa9d59fc80a19f2aa4adb6d9.tar.xz enigma-fork-c45dbbe43eaa9ecbfa9d59fc80a19f2aa4adb6d9.zip | |
switched to new and improved ssjb
ssjb can handle all of the dependencies now
Diffstat (limited to 'build.py')
| -rw-r--r-- | build.py | 56 |
1 files changed, 48 insertions, 8 deletions
| @@ -1,18 +1,45 @@ | |||
| 1 | 1 | ||
| 2 | import os | 2 | import os |
| 3 | import ssjb | 3 | import sys |
| 4 | 4 | ||
| 5 | # settings | 5 | # settings |
| 6 | PathSsjb = "../ssjb" | ||
| 6 | GroupId = "cuchaz" | 7 | GroupId = "cuchaz" |
| 7 | ProjectName = "enigma" | 8 | ProjectName = "enigma" |
| 8 | Version = "0.6b" | 9 | Version = "0.6b" |
| 9 | Author = "Cuchaz" | 10 | Author = "Cuchaz" |
| 10 | 11 | ||
| 11 | DirBin = "bin" | 12 | DirBin = "bin" |
| 13 | DirLib = "lib" | ||
| 12 | DirBuild = "build" | 14 | DirBuild = "build" |
| 13 | DirTemp = os.path.join(DirBuild, "tmp") | 15 | DirTemp = os.path.join(DirBuild, "tmp") |
| 14 | PathLocalMavenRepo = "../maven" | 16 | PathLocalMavenRepo = "../maven" |
| 15 | 17 | ||
| 18 | # import ssjb | ||
| 19 | sys.path.insert(0, PathSsjb) | ||
| 20 | import ssjb | ||
| 21 | import ssjb.ivy | ||
| 22 | |||
| 23 | |||
| 24 | # dependencies | ||
| 25 | ExtraRepos = [ | ||
| 26 | "http://maven.cuchazinteractive.com" | ||
| 27 | ] | ||
| 28 | Deps = [ | ||
| 29 | ssjb.ivy.Dep("com.google.guava:guava:17.0"), | ||
| 30 | ssjb.ivy.Dep("de.sciss:jsyntaxpane:1.0.0"), | ||
| 31 | ssjb.ivy.Dep("org.javassist:javassist:3.18.1-GA"), | ||
| 32 | ssjb.ivy.Dep("org.bitbucket.mstrobel:procyon-decompiler:0.5.26-enigma") | ||
| 33 | ] | ||
| 34 | ProguardDeps = [ | ||
| 35 | ssjb.ivy.Dep("net.sf.proguard:proguard-base:5.1") | ||
| 36 | ] | ||
| 37 | TestDeps = [ | ||
| 38 | ssjb.ivy.Dep("junit:junit:4.12"), | ||
| 39 | ssjb.ivy.Dep("org.hamcrest:hamcrest-all:1.3") | ||
| 40 | ] | ||
| 41 | |||
| 42 | # functions | ||
| 16 | 43 | ||
| 17 | def getJarFullName(name=None) : | 44 | def getJarFullName(name=None) : |
| 18 | if name is not None: | 45 | if name is not None: |
| @@ -53,15 +80,27 @@ def makeTestJar(name, glob): | |||
| 53 | pathObfJar = os.path.join(DirBuild, "%s.obf.jar" % name) | 80 | pathObfJar = os.path.join(DirBuild, "%s.obf.jar" % name) |
| 54 | 81 | ||
| 55 | # build the deobf jar | 82 | # build the deobf jar |
| 56 | ssjb.delete(DirTemp) | 83 | ssjb.file.delete(DirTemp) |
| 57 | os.makedirs(DirTemp) | 84 | ssjb.file.mkdir(DirTemp) |
| 58 | ssjb.copyFiles(DirTemp, DirBin, ssjb.findFiles(DirBin, "cuchaz/enigma/inputs/Keep.class")) | 85 | ssjb.file.copyTree(DirTemp, DirBin, ssjb.file.find(DirBin, "cuchaz/enigma/inputs/Keep.class")) |
| 59 | ssjb.copyFiles(DirTemp, DirBin, ssjb.findFiles(DirBin, glob)) | 86 | ssjb.file.copyTree(DirTemp, DirBin, ssjb.file.find(DirBin, glob)) |
| 60 | ssjb.jar(pathJar, DirTemp) | 87 | ssjb.jar.makeJar(pathJar, DirTemp) |
| 61 | ssjb.delete(DirTemp) | 88 | ssjb.file.delete(DirTemp) |
| 62 | 89 | ||
| 63 | # build the obf jar | 90 | # build the obf jar |
| 64 | ssjb.callJavaJar("libs/proguard.jar", ["@proguard.conf", "-injars", pathJar, "-outjars", pathObfJar]) | 91 | ssjb.callJavaJar( |
| 92 | os.path.join(DirLib, "proguard.jar"), | ||
| 93 | ["@proguard.conf", "-injars", pathJar, "-outjars", pathObfJar] | ||
| 94 | ) | ||
| 95 | |||
| 96 | |||
| 97 | # tasks | ||
| 98 | |||
| 99 | def taskGetDeps(): | ||
| 100 | ssjb.file.mkdir(DirLib) | ||
| 101 | ssjb.ivy.makeLibsJar(os.path.join(DirLib, "deps.jar"), Deps, extraRepos=ExtraRepos) | ||
| 102 | ssjb.ivy.makeLibsJar(os.path.join(DirLib, "test-deps.jar"), TestDeps) | ||
| 103 | ssjb.ivy.makeJar(os.path.join(DirLib, "proguard.jar"), ProguardDeps) | ||
| 65 | 104 | ||
| 66 | def taskBuildTestJars(): | 105 | def taskBuildTestJars(): |
| 67 | makeTestJar("testLoneClass", "cuchaz/enigma/inputs/loneClass/*.class") | 106 | makeTestJar("testLoneClass", "cuchaz/enigma/inputs/loneClass/*.class") |
| @@ -70,6 +109,7 @@ def taskBuildTestJars(): | |||
| 70 | makeTestJar("testInnerClasses", "cuchaz/enigma/inputs/innerClasses/*.class") | 109 | makeTestJar("testInnerClasses", "cuchaz/enigma/inputs/innerClasses/*.class") |
| 71 | 110 | ||
| 72 | 111 | ||
| 112 | ssjb.registerTask("getDeps", taskGetDeps) | ||
| 73 | ssjb.registerTask("main", taskMain) | 113 | ssjb.registerTask("main", taskMain) |
| 74 | ssjb.registerTask("buildTestJars", taskBuildTestJars) | 114 | ssjb.registerTask("buildTestJars", taskBuildTestJars) |
| 75 | ssjb.run() | 115 | ssjb.run() |