mirror of
https://github.com/github/codeql.git
synced 2025-12-19 02:13:17 +01:00
54 lines
1.7 KiB
Python
Executable File
54 lines
1.7 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import subprocess
|
|
import shutil
|
|
import os
|
|
import os.path
|
|
import sys
|
|
import shlex
|
|
|
|
|
|
def run_process(cmd):
|
|
try:
|
|
print("Running command: " + shlex.join(cmd))
|
|
return subprocess.run(cmd, check=True, capture_output=True)
|
|
except subprocess.CalledProcessError as e:
|
|
print("In: " + os.getcwd(), file=sys.stderr)
|
|
print("Command failed: " + shlex.join(cmd), file=sys.stderr)
|
|
print("stdout output:\n" + e.stdout.decode(encoding='UTF-8',
|
|
errors='strict'), file=sys.stderr)
|
|
print("stderr output:\n" + e.stderr.decode(encoding='UTF-8',
|
|
errors='strict'), file=sys.stderr)
|
|
raise e
|
|
|
|
root = '../../../../../../../../..'
|
|
|
|
sys.path.append(root + '/ql/java/kotlin-extractor')
|
|
import kotlin_plugin_versions
|
|
defaultKotlinDependencyVersion = kotlin_plugin_versions.get_single_version()
|
|
|
|
builddir = 'build'
|
|
dependency_dir = root + '/resources/kotlin-dependencies/'
|
|
dependencies = ['kotlin-stdlib-' + defaultKotlinDependencyVersion +
|
|
'.jar', 'kotlin-compiler-' + defaultKotlinDependencyVersion + '.jar']
|
|
classpath = ':'.join([dependency_dir + dep for dep in dependencies])
|
|
srcs = ['plugin/Plugin.kt']
|
|
output = 'plugin.jar'
|
|
|
|
if os.path.exists(builddir):
|
|
shutil.rmtree(builddir)
|
|
os.makedirs(builddir)
|
|
|
|
run_process(['kotlinc',
|
|
'-J-Xmx2G',
|
|
'-d', builddir,
|
|
'-module-name', 'test',
|
|
'-no-reflect', '-no-stdlib',
|
|
'-jvm-target', '1.8',
|
|
'-classpath', classpath] + srcs)
|
|
|
|
run_process(['jar', '-c', '-f', output,
|
|
'-C', builddir, '.',
|
|
'-C', 'plugin/resources', 'META-INF'])
|
|
shutil.rmtree(builddir)
|