diff options
author | c0nsumer <c0nsumer@yandex-team.com> | 2024-07-25 19:03:48 +0300 |
---|---|---|
committer | c0nsumer <c0nsumer@yandex-team.com> | 2024-07-25 19:13:08 +0300 |
commit | 790f370a8a0bea0631222fd07a2ff26a8536d58a (patch) | |
tree | 5ab3845998fe2a1e7bf3cd377bfb5cb5a4423775 | |
parent | c4df9035ef733d9287a31ffae8c682f8bed97d32 (diff) | |
download | ydb-790f370a8a0bea0631222fd07a2ff26a8536d58a.tar.gz |
RUN_JAVA_PROGRAM supported
7f22d27fd1f8d48b3b4aa51a72c445997c9e6285
-rw-r--r-- | build/export_generators/ide-gradle/build.gradle.kts.jinja | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/build/export_generators/ide-gradle/build.gradle.kts.jinja b/build/export_generators/ide-gradle/build.gradle.kts.jinja index a1e2563878..5eedab187e 100644 --- a/build/export_generators/ide-gradle/build.gradle.kts.jinja +++ b/build/export_generators/ide-gradle/build.gradle.kts.jinja @@ -258,23 +258,41 @@ tasks.named<Test>("test") { {% endif -%} -{% set runs = targets|selectattr("runs") -%} +{# run_java_program #} +{# {% set runs = targets|selectattr("runs") -%} #} +{% set runs = target.runs -%} {% if runs -%} {% for run in runs -%} -tasks.build.dependsOn( - task<JavaExec>("runJavaProgram") { + +val runJav = task<JavaExec>("runJavaProgram") { group = "build" - description = "Code generation by rub java program" + description = "Code generation by run java program" - mainClass.set(mainClass) + mainClass.set("{{ run.args[0] }}") {% if run.classpath -%} - classpath = "{{ run.classpath }}" +{% for classpath in run.classpath -%} +{% set real_classpath = classpath|replace('@', '') -%} +{% set real_classpath = real_classpath|replace('.run.cp', '') -%} +{% set real_classpath = real_classpath|replace('.cplst', '') -%} +{% set real_classpath = real_classpath|replace(export_root, '') -%} +{% set real_gradle_classpath = real_classpath|replace('/', ':') %} + val classPath = "{{ real_gradle_classpath }}" + val classPathParts = classPath.split(":") + classPathParts[classPathParts.size - 2] + classpath = files("$project_root{{ real_classpath }}") + project(classPath.replace(":${classPathParts[classPathParts.size - 2]}.jar", "")).configurations.runtimeClasspath.get() +{% endfor -%} {% else -%} classpath = sourceSets.main.get().runtimeClasspath {% endif -%} -{% if run.args -%} -{# for arg in run.args #} - args = "{{ run.args }}" +{% set args = run.args -%} +{% if args -%} + val argsList = mutableListOf( +{% for arg in args -%} + "{{ arg }}", +{% endfor -%} + ) + argsList.removeAt(0) + args = argsList {% endif -%} {% if run.in_dir -%} {% for dir in run.in_dir -%} @@ -300,7 +318,11 @@ tasks.build.dependsOn( #} {% endif -%} } -) +tasks { + build { + dependsOn(runJav) + } +} {% endfor -%} {% endif -%} |