From c976d2e73ce63ed82fa108c9e81ff039b0c59152 Mon Sep 17 00:00:00 2001 From: Werner Dietl Date: Thu, 4 Jun 2026 11:27:59 -0400 Subject: [PATCH 1/3] Fix jspecify-conformance build --- .../bin-devel/test-jspecify-conformance.sh | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/checker/bin-devel/test-jspecify-conformance.sh b/checker/bin-devel/test-jspecify-conformance.sh index c65032bce743..e6f018e93d73 100755 --- a/checker/bin-devel/test-jspecify-conformance.sh +++ b/checker/bin-devel/test-jspecify-conformance.sh @@ -12,6 +12,39 @@ source "$SCRIPT_DIR"/clone-related.sh ./gradlew assembleForJavac --console=plain -Dorg.gradle.internal.http.socketTimeout=60000 -Dorg.gradle.internal.http.connectionTimeout=60000 "$SCRIPT_DIR/.git-scripts/git-clone-related" eisop jspecify-conformance +"$SCRIPT_DIR/.git-scripts/git-clone-related" jspecify jspecify +"$SCRIPT_DIR/.git-scripts/git-clone-related" jspecify jspecify-reference-checker + +# Build conformance test artifacts locally. +# This duplicates logic from jspecify-conformance/.github/workflows/workflow.yml + +cat > /tmp/publish-helper.gradle <<'INIT' +allprojects { + pluginManager.apply('maven-publish') + tasks.withType(Sign).configureEach { enabled = false } +} +INIT + +cd ../jspecify +./gradlew --init-script /tmp/publish-helper.gradle :conformance-tests:publishToMavenLocal + +cd ../jspecify-reference-checker +cat > conformance-test-framework/settings.gradle <<'SETTINGS' +rootProject.name = 'conformance-test-framework' +dependencyResolutionManagement { + versionCatalogs { + libs { + library('guava', 'com.google.guava:guava:33.6.0-jre') + library('jspecify', 'org.jspecify:jspecify:1.0.0') + library('truth', 'com.google.truth:truth:1.4.5') + library('junit', 'junit:junit:4.13.2') + } + } +} +SETTINGS +./gradlew --project-dir conformance-test-framework \ + --init-script /tmp/publish-helper.gradle publishToMavenLocal + cd ../jspecify-conformance # This does not use "-PcfVersion=local", because that project does not # use the CF gradle plugin. From 53f81a0a1b1ca1fc19bd6af83c30fc5e1587f807 Mon Sep 17 00:00:00 2001 From: Werner Dietl Date: Thu, 4 Jun 2026 11:37:33 -0400 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Werner Dietl --- checker/bin-devel/test-jspecify-conformance.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/checker/bin-devel/test-jspecify-conformance.sh b/checker/bin-devel/test-jspecify-conformance.sh index e6f018e93d73..e91daf6ea0c3 100755 --- a/checker/bin-devel/test-jspecify-conformance.sh +++ b/checker/bin-devel/test-jspecify-conformance.sh @@ -18,6 +18,7 @@ source "$SCRIPT_DIR"/clone-related.sh # Build conformance test artifacts locally. # This duplicates logic from jspecify-conformance/.github/workflows/workflow.yml +trap 'rm -f /tmp/publish-helper.gradle' EXIT cat > /tmp/publish-helper.gradle <<'INIT' allprojects { pluginManager.apply('maven-publish') @@ -26,7 +27,7 @@ allprojects { INIT cd ../jspecify -./gradlew --init-script /tmp/publish-helper.gradle :conformance-tests:publishToMavenLocal +./gradlew --console=plain --warning-mode=all --init-script /tmp/publish-helper.gradle :conformance-tests:publishToMavenLocal cd ../jspecify-reference-checker cat > conformance-test-framework/settings.gradle <<'SETTINGS' @@ -43,9 +44,9 @@ dependencyResolutionManagement { } SETTINGS ./gradlew --project-dir conformance-test-framework \ - --init-script /tmp/publish-helper.gradle publishToMavenLocal + --console=plain --warning-mode=all --init-script /tmp/publish-helper.gradle publishToMavenLocal cd ../jspecify-conformance # This does not use "-PcfVersion=local", because that project does not # use the CF gradle plugin. -./gradlew test --console=plain -PcfLocal +./gradlew test --console=plain --warning-mode=all -PcfLocal From afecdc276a6f2db7f8141d802f2954721d002971 Mon Sep 17 00:00:00 2001 From: Werner Dietl Date: Thu, 4 Jun 2026 13:48:03 -0400 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Werner Dietl --- checker/bin-devel/test-jspecify-conformance.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/checker/bin-devel/test-jspecify-conformance.sh b/checker/bin-devel/test-jspecify-conformance.sh index e91daf6ea0c3..39ae2ab3e816 100755 --- a/checker/bin-devel/test-jspecify-conformance.sh +++ b/checker/bin-devel/test-jspecify-conformance.sh @@ -19,7 +19,7 @@ source "$SCRIPT_DIR"/clone-related.sh # This duplicates logic from jspecify-conformance/.github/workflows/workflow.yml trap 'rm -f /tmp/publish-helper.gradle' EXIT -cat > /tmp/publish-helper.gradle <<'INIT' +cat > /tmp/publish-helper.gradle << 'INIT' allprojects { pluginManager.apply('maven-publish') tasks.withType(Sign).configureEach { enabled = false } @@ -30,7 +30,7 @@ cd ../jspecify ./gradlew --console=plain --warning-mode=all --init-script /tmp/publish-helper.gradle :conformance-tests:publishToMavenLocal cd ../jspecify-reference-checker -cat > conformance-test-framework/settings.gradle <<'SETTINGS' +cat > conformance-test-framework/settings.gradle << 'SETTINGS' rootProject.name = 'conformance-test-framework' dependencyResolutionManagement { versionCatalogs { @@ -44,7 +44,7 @@ dependencyResolutionManagement { } SETTINGS ./gradlew --project-dir conformance-test-framework \ - --console=plain --warning-mode=all --init-script /tmp/publish-helper.gradle publishToMavenLocal + --console=plain --warning-mode=all --init-script /tmp/publish-helper.gradle publishToMavenLocal cd ../jspecify-conformance # This does not use "-PcfVersion=local", because that project does not