summaryrefslogtreecommitdiff
path: root/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'build.py')
-rw-r--r--build.py56
1 files changed, 48 insertions, 8 deletions
diff --git a/build.py b/build.py
index 082577a0..aa7c6f84 100644
--- a/build.py
+++ b/build.py
@@ -1,18 +1,45 @@
1 1
2import os 2import os
3import ssjb 3import sys
4 4
5# settings 5# settings
6PathSsjb = "../ssjb"
6GroupId = "cuchaz" 7GroupId = "cuchaz"
7ProjectName = "enigma" 8ProjectName = "enigma"
8Version = "0.6b" 9Version = "0.6b"
9Author = "Cuchaz" 10Author = "Cuchaz"
10 11
11DirBin = "bin" 12DirBin = "bin"
13DirLib = "lib"
12DirBuild = "build" 14DirBuild = "build"
13DirTemp = os.path.join(DirBuild, "tmp") 15DirTemp = os.path.join(DirBuild, "tmp")
14PathLocalMavenRepo = "../maven" 16PathLocalMavenRepo = "../maven"
15 17
18# import ssjb
19sys.path.insert(0, PathSsjb)
20import ssjb
21import ssjb.ivy
22
23
24# dependencies
25ExtraRepos = [
26 "http://maven.cuchazinteractive.com"
27]
28Deps = [
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]
34ProguardDeps = [
35 ssjb.ivy.Dep("net.sf.proguard:proguard-base:5.1")
36]
37TestDeps = [
38 ssjb.ivy.Dep("junit:junit:4.12"),
39 ssjb.ivy.Dep("org.hamcrest:hamcrest-all:1.3")
40]
41
42# functions
16 43
17def getJarFullName(name=None) : 44def 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
99def 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
66def taskBuildTestJars(): 105def 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
112ssjb.registerTask("getDeps", taskGetDeps)
73ssjb.registerTask("main", taskMain) 113ssjb.registerTask("main", taskMain)
74ssjb.registerTask("buildTestJars", taskBuildTestJars) 114ssjb.registerTask("buildTestJars", taskBuildTestJars)
75ssjb.run() 115ssjb.run()