Example #1
0
def buildStandaloneJar(dirOut):
    with ssjb.file.TempDir(os.path.join(dirOut, "tmp")) as dirTemp:
        ssjb.file.copyTree(dirTemp, DirBin, ssjb.file.find(DirBin))
        for path in ssjb.ivy.getJarPaths(StandaloneDeps, ExtraRepos):
            ssjb.jar.unpackJar(dirTemp, path)
        ssjb.file.delete(os.path.join(dirTemp, "LICENSE.txt"))
        ssjb.file.delete(os.path.join(dirTemp, "META-INF/maven"))
        applyReadme(dirTemp)
        manifest = ssjb.jar.buildManifest(ArtifactStandalone.artifactId,
                                          ArtifactStandalone.version, Author,
                                          "cuchaz.enigma.Main")
        pathFatJar = os.path.join(DirBuild,
                                  "%s-fat.jar" % ArtifactStandalone.getName())
        ssjb.jar.makeJar(pathFatJar, dirTemp, manifest=manifest)

        # proguard the jar (without obfuscating) to remove some bloat
        # the guava library is particularly bad...
        pathDietJar = os.path.join(DirBuild,
                                   "%s.jar" % ArtifactStandalone.getName())
        ssjb.callJavaJar(os.path.join(DirLib, "proguard.jar"), [
            "@proguard-build.conf", "-injars", pathFatJar, "-outjars",
            pathDietJar
        ])

        ssjb.ivy.deployJarToLocalMavenRepo(PathLocalMavenRepo, pathDietJar,
                                           ArtifactStandalone)
Example #2
0
def buildStandaloneJar(dirOut):
	with ssjb.file.TempDir(os.path.join(dirOut, "tmp")) as dirTemp:
		ssjb.file.copyTree(dirTemp, DirBin, ssjb.file.find(DirBin))
		for path in ssjb.ivy.getJarPaths(StandaloneDeps, ExtraRepos):
			ssjb.jar.unpackJar(dirTemp, path)
		ssjb.file.delete(os.path.join(dirTemp, "LICENSE.txt"))
		ssjb.file.delete(os.path.join(dirTemp, "META-INF/maven"))
		applyReadme(dirTemp)
		manifest = ssjb.jar.buildManifest(
			ArtifactStandalone.artifactId,
			ArtifactStandalone.version,
			Author,
			"cuchaz.enigma.Main"
		)
		pathFatJar = os.path.join(DirBuild, "%s-fat.jar" % ArtifactStandalone.getName()) 
		ssjb.jar.makeJar(pathFatJar, dirTemp, manifest=manifest)

		# proguard the jar (without obfuscating) to remove some bloat
		# the guava library is particularly bad...
		pathDietJar = os.path.join(DirBuild, "%s.jar" % ArtifactStandalone.getName())
		ssjb.callJavaJar(
			os.path.join(DirLib, "proguard.jar"),
			["@proguard-build.conf", "-injars", pathFatJar, "-outjars", pathDietJar]
		)

		ssjb.ivy.deployJarToLocalMavenRepo(PathLocalMavenRepo, pathDietJar, ArtifactStandalone)
Example #3
0
def buildTestJar(name, glob):

	ssjb.file.mkdir(os.path.join(DirBuild, "test-inputs"))
	ssjb.file.mkdir(os.path.join(DirBuild, "test-obf"))
	pathJar = os.path.join(DirBuild, "test-inputs/%s.jar" % name)
	pathObfJar = os.path.join(DirBuild, "test-obf/%s.jar" % name)

	# build the unobf jar
	with ssjb.file.TempDir("tmp") as dirTemp:
		ssjb.file.copyTree(dirTemp, DirBin, ssjb.file.find(DirBin, "cuchaz/enigma/inputs/Keep.class"))
		ssjb.file.copyTree(dirTemp, DirBin, ssjb.file.find(DirBin, glob))
		ssjb.jar.makeJar(pathJar, dirTemp)

	# build the obf jar
	ssjb.callJavaJar(
		os.path.join(DirLib, "proguard.jar"),
		["@proguard-test.conf", "-injars", pathJar, "-outjars", pathObfJar]
	)
Example #4
0
def buildTestJar(name, glob):

    ssjb.file.mkdir(os.path.join(DirBuild, "test-inputs"))
    ssjb.file.mkdir(os.path.join(DirBuild, "test-obf"))
    pathJar = os.path.join(DirBuild, "test-inputs/%s.jar" % name)
    pathObfJar = os.path.join(DirBuild, "test-obf/%s.jar" % name)

    # build the unobf jar
    with ssjb.file.TempDir("tmp") as dirTemp:
        ssjb.file.copyTree(
            dirTemp, DirBin,
            ssjb.file.find(DirBin, "cuchaz/enigma/inputs/Keep.class"))
        ssjb.file.copyTree(dirTemp, DirBin, ssjb.file.find(DirBin, glob))
        ssjb.jar.makeJar(pathJar, dirTemp)

    # build the obf jar
    ssjb.callJavaJar(
        os.path.join(DirLib, "proguard.jar"),
        ["@proguard-test.conf", "-injars", pathJar, "-outjars", pathObfJar])