From 0700835a3dfc872909cabfff21d1265983ea801c Mon Sep 17 00:00:00 2001 From: Sam Gammon Date: Sun, 18 Feb 2024 15:57:21 -0800 Subject: [PATCH 1/5] General build upgrades and improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - feat: support for build scans with gradle enterprise - feat: support for caching with buildless (inert without key) - feat: support for gradle java toolchains - feat: support for static analysis with detekt - feat: support for gradle toolchains - feat: support for toolchain vs. runtime target - feat: support for dynamic provisioning of toolchains - feat: support for static java checking with pmd - feat: enable typed project accessors, use them project-wide - feat: stricter repositories, locking for build classpath - feat: property to retarget java or kotlin bytecode versions - feat: parameter name integration between javac and kotlinc - feat: kotlin coverage support via `kover` plugin - feat: dependency verification for gradle build - feat: support for new gradle `jvm-test-suite` plugin - feat: reasonable local and remote build caching support - feat: project icon in intellij new ui - feat: aggregate reporting for tests, coverage, detekt - fix: repeatable/consistent archives from gradle - fix: don't list ephemeral spotless configurations in lockfiles - fix: make version catalog symbols available in `buildSrc` - fix: specify `rootProject.name` for `buildSrc` - fix: error when running `gradlew tasks` - fix: various java or gradle deprecations - fix: move all tool (linter, etc) versions into version catalog - chore: add testlogger for clearer test outcomes - chore: check build configuration with gradle doctor plugin - chore: generate initial suite of dependency verification material - chore: transition to property set syntax (`property = xyz`) - chore: cleanup uses of `buildDir` (becomes `layout.buildDirectory`) - chore: add Gradle Versions plugin for update checks - chore: upgrade Gradle → `8.6` (supports Java 21) - chore: upgrade Kotlin → `1.9.22` (build-time) - chore: upgrade KotlinX Serialization → `1.6.3` - chore: upgrade KotlinX HTML → `0.11.0` - chore: general dependency upgrades, where safe Not yet completed: - feat: signing of artifacts with sigstore - feat: embedding of SPDX SBOM in artifacts - feat: dependency vulnerability checks with owasp - test: checksum failures Signed-off-by: Sam Gammon --- .gitignore | 1 + .idea/codeStyles/Project.xml | 2 - .idea/icon.svg | 23 + bench/bench.gradle.kts | 16 +- bench/gradle.lockfile | 41 +- build.gradle.kts | 64 +- buildSrc/build.gradle.kts | 49 +- buildSrc/gradle.lockfile | 83 + buildSrc/settings.gradle.kts | 4 +- buildSrc/src/main/kotlin/BuildInfo.kt | 5 +- buildSrc/src/main/kotlin/GradleVersionInfo.kt | 7 +- .../src/main/kotlin/pklAllProjects.gradle.kts | 114 +- buildSrc/src/main/kotlin/pklFatJar.gradle.kts | 8 +- .../src/main/kotlin/pklGraalVm.gradle.kts | 2 +- .../main/kotlin/pklHtmlValidator.gradle.kts | 4 +- .../src/main/kotlin/pklJavaLibrary.gradle.kts | 34 +- .../main/kotlin/pklJvmEntrypoint.gradle.kts | 19 + .../main/kotlin/pklKotlinLibrary.gradle.kts | 66 +- .../src/main/kotlin/pklKotlinTest.gradle.kts | 33 + .../main/kotlin/pklPublishLibrary.gradle.kts | 9 +- config/detekt/detekt.yml | 16 + docs/docs.gradle.kts | 14 +- docs/gradle.lockfile | 34 +- gradle.properties | 34 +- gradle/libs.versions.toml | 53 +- gradle/verification-keyring.gpg | Bin 0 -> 207433 bytes gradle/verification-keyring.keys | 5651 +++++++++++++++++ gradle/verification-metadata.xml | 4528 +++++++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 59821 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 41 +- gradlew.bat | 35 +- pkl-cli/detekt-baseline.xml | 44 + pkl-cli/gradle.lockfile | 46 +- pkl-cli/pkl-cli.gradle.kts | 92 +- .../pkl/cli/CliDownloadPackageCommandTest.kt | 4 + .../org/pkl/cli/CliProjectPackagerTest.kt | 2 + .../org/pkl/cli/CliProjectResolverTest.kt | 3 + pkl-codegen-java/detekt-baseline.xml | 24 + pkl-codegen-java/gradle.lockfile | 37 +- pkl-codegen-java/pkl-codegen-java.gradle.kts | 16 +- pkl-codegen-kotlin/detekt-baseline.xml | 22 + pkl-codegen-kotlin/gradle.lockfile | 40 +- .../pkl-codegen-kotlin.gradle.kts | 18 +- .../codegen/kotlin/KotlinCodeGeneratorTest.kt | 2 + pkl-commons-cli/detekt-baseline.xml | 12 + pkl-commons-cli/gradle.lockfile | 35 +- pkl-commons-cli/pkl-commons-cli.gradle.kts | 10 +- pkl-commons-test/detekt-baseline.xml | 11 + pkl-commons-test/gradle.lockfile | 28 +- pkl-commons-test/pkl-commons-test.gradle.kts | 28 +- .../org/pkl/commons/test/FileTestUtils.kt | 1 + pkl-commons/gradle.lockfile | 28 +- pkl-commons/pkl-commons.gradle.kts | 4 +- pkl-config-java/gradle.lockfile | 38 +- pkl-config-java/pkl-config-java.gradle.kts | 16 +- pkl-config-kotlin/detekt-baseline.xml | 14 + pkl-config-kotlin/gradle.lockfile | 37 +- .../pkl-config-kotlin.gradle.kts | 10 +- .../org/pkl/config/kotlin/ConfigExtensions.kt | 2 + .../pkl/config/kotlin/ConfigExtensionsTest.kt | 2 + pkl-core/gradle.lockfile | 44 - pkl-core/pkl-core.gradle.kts | 16 +- .../pkl/core/LanguageSnippetTestsEngine.kt | 2 +- .../ProjectDependenciesResolverTest.kt | 5 +- .../org/pkl/core/project/ProjectTest.kt | 4 +- pkl-doc/detekt-baseline.xml | 45 + pkl-doc/gradle.lockfile | 79 +- pkl-doc/pkl-doc.gradle.kts | 12 +- .../kotlin/org/pkl/doc/CliDocGeneratorTest.kt | 2 + pkl-executor/gradle.lockfile | 35 +- pkl-executor/pkl-executor.gradle.kts | 10 +- pkl-gradle/gradle.lockfile | 30 +- pkl-gradle/pkl-gradle.gradle.kts | 23 +- .../pkl/gradle/KotlinCodeGeneratorsTest.kt | 3 +- pkl-server/detekt-baseline.xml | 34 + pkl-server/gradle.lockfile | 34 +- pkl-server/pkl-server.gradle.kts | 23 +- pkl-tools/gradle.lockfile | 32 +- pkl-tools/pkl-tools.gradle.kts | 49 +- settings.gradle.kts | 41 +- stdlib/gradle.lockfile | 24 - stdlib/stdlib.gradle.kts | 10 +- 83 files changed, 11288 insertions(+), 889 deletions(-) create mode 100644 .idea/icon.svg create mode 100644 buildSrc/gradle.lockfile create mode 100644 buildSrc/src/main/kotlin/pklJvmEntrypoint.gradle.kts create mode 100644 config/detekt/detekt.yml create mode 100644 gradle/verification-keyring.gpg create mode 100644 gradle/verification-keyring.keys create mode 100644 gradle/verification-metadata.xml create mode 100644 pkl-cli/detekt-baseline.xml create mode 100644 pkl-codegen-java/detekt-baseline.xml create mode 100644 pkl-codegen-kotlin/detekt-baseline.xml create mode 100644 pkl-commons-cli/detekt-baseline.xml create mode 100644 pkl-commons-test/detekt-baseline.xml create mode 100644 pkl-config-kotlin/detekt-baseline.xml delete mode 100644 pkl-core/gradle.lockfile create mode 100644 pkl-doc/detekt-baseline.xml create mode 100644 pkl-server/detekt-baseline.xml delete mode 100644 stdlib/gradle.lockfile diff --git a/.gitignore b/.gitignore index ae9f11566..2fe7ce84d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # macOS .DS_STORE +.codebase/ # Gradle .gradle/ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index afb7ce46c..1fa98d1f5 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -239,10 +239,8 @@ -