summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/procyon-decompiler-0.5.26-enigma.jarbin1757481 -> 0 bytes
-rw-r--r--libs/proguard.jarbin853203 -> 0 bytes
-rw-r--r--ssjb.py185
3 files changed, 0 insertions, 185 deletions
diff --git a/libs/procyon-decompiler-0.5.26-enigma.jar b/libs/procyon-decompiler-0.5.26-enigma.jar
deleted file mode 100644
index 4a3737ee..00000000
--- a/libs/procyon-decompiler-0.5.26-enigma.jar
+++ /dev/null
Binary files differ
diff --git a/libs/proguard.jar b/libs/proguard.jar
deleted file mode 100644
index a948c89b..00000000
--- a/libs/proguard.jar
+++ /dev/null
Binary files differ
diff --git a/ssjb.py b/ssjb.py
deleted file mode 100644
index fa98c823..00000000
--- a/ssjb.py
+++ /dev/null
@@ -1,185 +0,0 @@
1
2# stupidly simple jar builder
3# Jeff Martin
4
5import os
6import sys
7import shutil
8import subprocess
9import zipfile
10import tempfile
11import re
12import fnmatch
13
14
15# setup tasks
16tasks = {}
17
18def registerTask(name, func):
19 tasks[name] = func
20
21def run():
22
23 # get the task name
24 taskName = "main"
25 if len(sys.argv) > 1:
26 taskName = sys.argv[1]
27
28 # find that task
29 try:
30 task = tasks[taskName]
31 except:
32 print "Couldn't find task: %s" % taskName
33 return
34
35 # run it!
36 print "Running task: %s" % taskName
37 task()
38
39
40# set up the default main task
41def mainTask():
42 print "The main task doesn't do anything by default"
43
44registerTask("main", mainTask)
45
46
47# library of useful functions
48
49def findFiles(dirSrc, pattern=None):
50 out = []
51 for root, dirs, files in os.walk(dirSrc):
52 for file in files:
53 path = os.path.join(root, file)[len(dirSrc) + 1:]
54 if pattern is None or fnmatch.fnmatch(path, pattern):
55 out.append(path)
56 return out
57
58def copyFile(dirDest, pathSrc, renameTo=None):
59 (dirParent, filename) = os.path.split(pathSrc)
60 if renameTo is None:
61 renameTo = filename
62 pathDest = os.path.join(dirDest, renameTo)
63 shutil.copy2(pathSrc, pathDest)
64
65def copyFiles(dirDest, dirSrc, paths):
66 for path in paths:
67 pathSrc = os.path.join(dirSrc, path)
68 pathDest = os.path.join(dirDest, path)
69 dirParent = os.path.dirname(pathDest)
70 if not os.path.isdir(dirParent):
71 os.makedirs(dirParent)
72 shutil.copy2(pathSrc, pathDest)
73
74def patternStringToRegex(patternString):
75
76 # escape special chars
77 patternString = re.escape(patternString)
78
79 # process ** and * wildcards
80 replacements = {
81 re.escape("**"): ".*",
82 re.escape("*"): "[^" + os.sep + "]+"
83 }
84 def getReplacement(match):
85 print "matched", match
86 return "a"
87 patternString = re.compile("(\\\\\*)+").sub(lambda m: replacements[m.group(0)], patternString)
88
89 return re.compile("^" + patternString + "$")
90
91def matchesAnyPath(path, patternStrings):
92 for patternString in patternStrings:
93 pattern = patternStringToRegex(patternString)
94 # TEMP
95 print path, pattern.match(path) is not None
96 if pattern.match(path) is not None:
97 return True
98 return False
99
100def delete(path):
101 try:
102 if os.path.isdir(path):
103 shutil.rmtree(path)
104 elif os.path.isfile(path):
105 os.remove(path)
106 except:
107 # don't care if it failed
108 pass
109
110def buildManifest(title, version, author, mainClass=None):
111 manifest = {
112 "Title": title,
113 "Version": version,
114 "Created-by": author
115 }
116 if mainClass is not None:
117 manifest["Main-Class"] = mainClass
118 return manifest
119
120def jar(pathOut, dirIn, dirRoot=None, manifest=None):
121
122 # build the base args
123 if dirRoot is None:
124 dirRoot = dirIn
125 dirIn = "."
126 invokeArgs = ["jar"]
127 filesArgs = ["-C", dirRoot, dirIn]
128
129 if manifest is not None:
130 # make a temp file for the manifest
131 tempFile, tempFilename = tempfile.mkstemp(text=True)
132 try:
133 # write the manifest
134 for (key, value) in manifest.iteritems():
135 os.write(tempFile, "%s: %s\n" % (key, value))
136 os.close(tempFile)
137
138 # build the jar with a manifest
139 subprocess.call(invokeArgs + ["cmf", tempFilename, pathOut] + filesArgs)
140
141 finally:
142 os.remove(tempFilename)
143 else:
144 # just build the jar without a manifest
145 subprocess.call(invokeArgs + ["cf", pathOut] + filesArgs)
146
147 print "Wrote jar: %s" % pathOut
148
149def unpackJar(dirOut, pathJar):
150 with zipfile.ZipFile(pathJar) as zf:
151 for member in zf.infolist():
152 zf.extract(member, dirOut)
153 print "Unpacked jar: %s" % pathJar
154
155def unpackJars(dirOut, dirJars, recursive=False):
156 for name in os.listdir(dirJars):
157 path = os.path.join(dirJars, name)
158 if os.path.isfile(path):
159 if name[-4:] == ".jar":
160 unpackJar(dirOut, path)
161 elif os.path.isdir(path) and recursive:
162 unpackJars(dirOut, path, recursive)
163
164def callJava(classpath, className, javaArgs):
165 subprocess.call(["java", "-cp", classpath, className] + javaArgs)
166
167def callJavaJar(jar, javaArgs):
168 subprocess.call(["java", "-jar", jar] + javaArgs)
169
170def deployJarToLocalMavenRepo(pathLocalRepo, pathJar, artifactDesc):
171
172 # parse the artifact description
173 (groupId, artifactId, version) = artifactDesc.split(":")
174
175 args = ["mvn", "install:install-file",
176 "-Dmaven.repo.local=%s" % pathLocalRepo,
177 "-Dfile=%s" % pathJar,
178 "-Dpackaging=jar",
179 "-DgroupId=%s" % groupId,
180 "-DartifactId=%s" % artifactId,
181 "-Dversion=%s" % version
182 ]
183 subprocess.call(args)
184 print "Deployed Maven artifact %s to %s" % (artifactDesc, pathLocalRepo)
185