55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
import os
|
|
import os.path
|
|
import shutil
|
|
import subprocess
|
|
import sys
|
|
|
|
(
|
|
script,
|
|
javac,
|
|
jar,
|
|
source_dir,
|
|
build_dir,
|
|
private_name,
|
|
powder_jar_name,
|
|
android_jar,
|
|
java_runtime,
|
|
sdl_jar,
|
|
debug_release,
|
|
*javac_sources,
|
|
) = sys.argv
|
|
|
|
powder_jar_path = os.path.join(build_dir, powder_jar_name)
|
|
private_dir = os.path.join(build_dir, private_name)
|
|
class_dir = os.path.join(private_dir, 'class')
|
|
|
|
if os.path.exists(powder_jar_path):
|
|
os.remove(powder_jar_path)
|
|
if os.path.exists(class_dir):
|
|
shutil.rmtree(class_dir)
|
|
os.makedirs(class_dir)
|
|
|
|
if subprocess.run([
|
|
javac,
|
|
'-d', class_dir,
|
|
'-source', '1.8',
|
|
'-target', '1.8',
|
|
'-bootclasspath', java_runtime,
|
|
'-classpath', os.pathsep.join([ android_jar, sdl_jar ]),
|
|
*javac_sources,
|
|
], cwd = build_dir).returncode:
|
|
sys.exit(1)
|
|
|
|
jar_inputs = []
|
|
for root, dirs, files in os.walk(class_dir):
|
|
for name in files:
|
|
if name.endswith(".class"):
|
|
jar_inputs.append(os.path.relpath(os.path.join(root, name), start = class_dir))
|
|
if subprocess.run([
|
|
jar,
|
|
'cMf',
|
|
powder_jar_path,
|
|
*jar_inputs,
|
|
], cwd = class_dir).returncode:
|
|
sys.exit(1)
|