From adfe7f87ffb77fd8285af56140480c242d324de8 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 21 Jan 2015 00:16:31 -0500 Subject: update build system to make maven artifacts --- build.py | 96 +++++++++++++++++++++++++++++----------------------------------- 1 file changed, 44 insertions(+), 52 deletions(-) (limited to 'build.py') diff --git a/build.py b/build.py index b9d1121f..2868b750 100644 --- a/build.py +++ b/build.py @@ -3,67 +3,61 @@ import os import ssjb # settings -projectName = "enigma" -version = "0.6b" -author = "Cuchaz" +GroupId = "cuchaz" +ProjectName = "enigma" +Version = "0.6b" +Author = "Cuchaz" -dirBin = "bin" -dirBuild = "build" -dirTemp = os.path.join(dirBuild, "tmp") +DirBin = "bin" +DirBuild = "build" +DirTemp = os.path.join(DirBuild, "tmp") +PathLocalMavenRepo = "../maven" def getJarFullName(name=None) : if name is not None: - return "%s-%s-%s.jar" % (projectName, name, version) + return "%s-%s-%s.jar" % (ProjectName, name, Version) else: - return "%s-%s.jar" % (projectName, version) - -def buildGuiJar(): - jarName = "gui" - os.makedirs(dirTemp) - ssjb.copyFiles(dirTemp, dirBin, ssjb.findFiles(dirBin)) - ssjb.unpackJars(dirTemp, "ivy/bundles", recursive=True) - ssjb.unpackJars(dirTemp, "ivy/jars", recursive=True) - ssjb.unpackJars(dirTemp, "libs", recursive=True) - ssjb.delete(os.path.join(dirTemp, "LICENSE.txt")) - ssjb.copyFile(dirTemp, "license.APL2.txt") - ssjb.copyFile(dirTemp, "license.GPL3.txt") - ssjb.copyFile(dirTemp, "readme.txt") - manifest = ssjb.buildManifest(projectName, version, author, "cuchaz.enigma.Main") - ssjb.jar(os.path.join(dirBuild, getJarFullName()), dirTemp, manifest=manifest) - ssjb.delete(dirTemp) - -def buildTranslateJar(): - jarName = "translate" - os.makedirs(dirTemp) - files = ssjb.findFiles(dirBin, "cuchaz/enigma/mapping/*") - files += ssjb.findFiles(dirBin, "cuchaz/enigma/bytecode/*") - ssjb.copyFiles(dirTemp, dirBin, files) - ssjb.copyFile(dirTemp, "license.GPL3.txt", renameTo="license.txt") - ssjb.copyFile(dirTemp, "readme.translate.txt", renameTo="readme.txt") - manifest = ssjb.buildManifest("%s-%s" % (projectName, jarName), version, author) - ssjb.jar(os.path.join(dirBuild, getJarFullName(jarName)), dirTemp, manifest=manifest) - ssjb.delete(dirTemp) + return "%s-%s.jar" % (ProjectName, Version) + +def buildJar(): + os.makedirs(DirTemp) + ssjb.copyFiles(DirTemp, DirBin, ssjb.findFiles(DirBin)) + # TODO: teach ssjb where to find ivy jars + ssjb.unpackJars(DirTemp, "ivy/bundles", recursive=True) + ssjb.unpackJars(DirTemp, "ivy/jars", recursive=True) + ssjb.unpackJars(DirTemp, "libs", recursive=True) + ssjb.delete(os.path.join(DirTemp, "LICENSE.txt")) + ssjb.delete(os.path.join(DirTemp, "META-INF/maven")) + ssjb.copyFile(DirTemp, "license.APL2.txt") + ssjb.copyFile(DirTemp, "license.GPL3.txt") + ssjb.copyFile(DirTemp, "readme.txt") + manifest = ssjb.buildManifest(ProjectName, Version, Author, "cuchaz.enigma.Main") + ssjb.jar(os.path.join(DirBuild, getJarFullName()), DirTemp, manifest=manifest) + ssjb.delete(DirTemp) + ssjb.deployJarToLocalMavenRepo( + PathLocalMavenRepo, + getJarFullName(), + "%s:%s:%s" % (GroupId, ProjectName, Version) + ) def taskMain(): - ssjb.delete(dirBuild) - os.makedirs(dirBuild) - buildGuiJar() - buildTranslateJar() - + ssjb.delete(DirBuild) + os.makedirs(DirBuild) + buildJar() def makeTestJar(name, glob): - pathJar = os.path.join(dirBuild, "%s.jar" % name) - pathObfJar = os.path.join(dirBuild, "%s.obf.jar" % name) + pathJar = os.path.join(DirBuild, "%s.jar" % name) + pathObfJar = os.path.join(DirBuild, "%s.obf.jar" % name) # build the deobf jar - ssjb.delete(dirTemp) - os.makedirs(dirTemp) - ssjb.copyFiles(dirTemp, dirBin, ssjb.findFiles(dirBin, "cuchaz/enigma/inputs/Keep.class")) - ssjb.copyFiles(dirTemp, dirBin, ssjb.findFiles(dirBin, glob)) - ssjb.jar(pathJar, dirTemp) - ssjb.delete(dirTemp) + ssjb.delete(DirTemp) + os.makedirs(DirTemp) + ssjb.copyFiles(DirTemp, DirBin, ssjb.findFiles(DirBin, "cuchaz/enigma/inputs/Keep.class")) + ssjb.copyFiles(DirTemp, DirBin, ssjb.findFiles(DirBin, glob)) + ssjb.jar(pathJar, DirTemp) + ssjb.delete(DirTemp) # build the obf jar ssjb.callJavaJar("libs/proguard.jar", ["@proguard.conf", "-injars", pathJar, "-outjars", pathObfJar]) @@ -74,10 +68,8 @@ def taskBuildTestJars(): makeTestJar("testInheritanceTree", "cuchaz/enigma/inputs/inheritanceTree/*.class") makeTestJar("testInnerClasses", "cuchaz/enigma/inputs/innerClasses/*.class") + ssjb.registerTask("main", taskMain) ssjb.registerTask("buildTestJars", taskBuildTestJars) - - -if __name__ == "__main__": - ssjb.run() +ssjb.run() -- cgit v1.2.3