From 0267034222efa012f12b9eef623046eddee0a469 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Tue, 9 May 2023 14:13:48 -0700 Subject: [PATCH] chore: Don't copy generator .jar files to build-tools/ Gradle complains that when multiple tasks have the same output path, it cannot decide accurately whether they need to run or not. The copyJarToBuildTools task of all three generators (android-dts-generator, android-metadata-generator, and static-binding-generator) shared the same output path, so they were always getting run. Instead, we can leave the .jar files in the location where they are built, and reference them from there in tasks that subsequently require them. This fix was submitted separately to android-dts-generator, which is a git submodule, in https://github.com/NativeScript/android-dts-generator/pull/77 This commit pulls in a newer version of android-dts-generator which includes that fix. --- build.gradle | 6 +++--- test-app/app/build.gradle | 4 ++-- test-app/build-tools/.gitignore | 3 --- test-app/build-tools/android-dts-generator | 2 +- .../android-metadata-generator/build.gradle | 10 ---------- .../static-binding-generator/build.gradle | 11 ----------- .../static-binding-generator/runtests.gradle | 13 ++----------- 7 files changed, 8 insertions(+), 41 deletions(-) diff --git a/build.gradle b/build.gradle index 24182cc94..84ac9eb77 100644 --- a/build.gradle +++ b/build.gradle @@ -261,11 +261,11 @@ task copyFilesToProjectTemeplate { into "$DIST_FRAMEWORK_PATH/app/src/main/java/com/tns/internal" } copy { - from "$BUILD_TOOLS_PATH/static-binding-generator.jar" + from "$BUILD_TOOLS_PATH/static-binding-generator/build/libs/static-binding-generator.jar" into "$DIST_FRAMEWORK_PATH/build-tools" } copy { - from "$BUILD_TOOLS_PATH/dts-generator.jar" + from "$BUILD_TOOLS_PATH/android-dts-generator/build/libs/dts-generator.jar" into "$DIST_FRAMEWORK_PATH/build-tools" } copy { @@ -273,7 +273,7 @@ task copyFilesToProjectTemeplate { into "$DIST_FRAMEWORK_PATH/build-tools/jsparser" } copy { - from "$BUILD_TOOLS_PATH/android-metadata-generator.jar" + from "$BUILD_TOOLS_PATH/android-metadata-generator/build/libs/android-metadata-generator.jar" into "$DIST_FRAMEWORK_PATH/build-tools" } copy { diff --git a/test-app/app/build.gradle b/test-app/app/build.gradle index 1af4c8181..cea1c94ee 100644 --- a/test-app/app/build.gradle +++ b/test-app/app/build.gradle @@ -504,7 +504,7 @@ task runSbg(type: BuildToolTask) { mainClass = "-jar" def paramz = new ArrayList() - paramz.add("static-binding-generator.jar") + paramz.add("static-binding-generator/build/libs/static-binding-generator.jar") if (failOnCompilationWarningsEnabled()) { paramz.add("-show-deprecation-warnings") @@ -841,7 +841,7 @@ task buildMetadata(type: BuildToolTask) { setOutputs outLogger def paramz = new ArrayList() - paramz.add("android-metadata-generator.jar") + paramz.add("android-metadata-generator/build/libs/android-metadata-generator.jar") if(enableAnalytics){ paramz.add("analyticsFilePath=$analyticsFilePath") diff --git a/test-app/build-tools/.gitignore b/test-app/build-tools/.gitignore index 60654ac99..b948262cc 100644 --- a/test-app/build-tools/.gitignore +++ b/test-app/build-tools/.gitignore @@ -1,13 +1,10 @@ -static-binding-generator.jar sbg-bindings.txt sbg-interface-names.txt sbg-js-parsed-files.txt sbg-input-file.txt sbg-output-file.txt sbg-java-dependencies.txt -android-metadata-generator.jar mdg-output-dir.txt mdg-java-dependencies.txt -dts-generator.jar sbg-input-output-dirs.txt mdg-java-out.txt diff --git a/test-app/build-tools/android-dts-generator b/test-app/build-tools/android-dts-generator index 5809c90f4..1b5b25452 160000 --- a/test-app/build-tools/android-dts-generator +++ b/test-app/build-tools/android-dts-generator @@ -1 +1 @@ -Subproject commit 5809c90f4ca48ab20c9ffe5ac346b23994c44f73 +Subproject commit 1b5b2545247ea7fe2e9442578870fc2434cfedcb diff --git a/test-app/build-tools/android-metadata-generator/build.gradle b/test-app/build-tools/android-metadata-generator/build.gradle index e22b1b761..91f205a74 100644 --- a/test-app/build-tools/android-metadata-generator/build.gradle +++ b/test-app/build-tools/android-metadata-generator/build.gradle @@ -93,13 +93,3 @@ jar { duplicatesStrategy = 'include' } - -task copyJarToBuildTools (type: Copy) { - from "$projectDir/build/libs/android-metadata-generator.jar" - into "$projectDir/../" -} - -jar.finalizedBy(copyJarToBuildTools) - - - diff --git a/test-app/build-tools/static-binding-generator/build.gradle b/test-app/build-tools/static-binding-generator/build.gradle index 2bc2e5c8e..0fe6445ae 100644 --- a/test-app/build-tools/static-binding-generator/build.gradle +++ b/test-app/build-tools/static-binding-generator/build.gradle @@ -33,18 +33,9 @@ dependencies { } compileJava { - if (!findProject(':dts-generator').is(null)) { - dependsOn ':dts-generator:copyJarToBuildTools' - } options.compilerArgs << "-Xlint:all" << "-Xlint:-options" << "-Werror" } -task copyJarToBuildTools (type: Copy) { - inputs.file("$projectDir/build/libs/static-binding-generator.jar") - from "$projectDir/build/libs/static-binding-generator.jar" - into "$projectDir/../" -} - jar { configurations.implementation.setCanBeResolved(true) @@ -72,5 +63,3 @@ jar { duplicatesStrategy = 'include' } - -jar.finalizedBy(copyJarToBuildTools) \ No newline at end of file diff --git a/test-app/build-tools/static-binding-generator/runtests.gradle b/test-app/build-tools/static-binding-generator/runtests.gradle index e5ae203d5..cd7e770a8 100644 --- a/test-app/build-tools/static-binding-generator/runtests.gradle +++ b/test-app/build-tools/static-binding-generator/runtests.gradle @@ -58,16 +58,7 @@ jar { duplicatesStrategy = 'include' } -task copyJar(dependsOn: 'jar') { - doFirst { - def source = file("$projectDir/build/libs/static-binding-generator.jar").toPath() - print source.toFile().exists() - def dest = file("$projectDir/../static-binding-generator.jar").toPath() - Files.copy(source, dest, StandardCopyOption.REPLACE_EXISTING) - } -} - -task prepareInputFiles(dependsOn: 'copyJar') { +task prepareInputFiles { doFirst { inputFile.write(appRoot) outputFile.write(generatedJavaClassesRoot.toString()) @@ -77,7 +68,7 @@ task prepareInputFiles(dependsOn: 'copyJar') { } task runSbg(type: JavaExec, dependsOn: 'prepareInputFiles') { - classpath = files('../static-binding-generator.jar', '../') + classpath = files('build/libs/static-binding-generator.jar', '../') workingDir = "../" main = "org.nativescript.staticbindinggenerator.Main" }