diff --git a/gradle/aggregation/build.gradle.kts b/gradle/aggregation/build.gradle.kts index b5b0892..369f2c4 100644 --- a/gradle/aggregation/build.gradle.kts +++ b/gradle/aggregation/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("software.sava.gradle.feature.publish-maven-central") + id("software.sava.build.feature.publish-maven-central") } dependencies { diff --git a/gradle/modules.properties b/gradle/modules.properties index 47dc123..e69de29 100644 --- a/gradle/modules.properties +++ b/gradle/modules.properties @@ -1 +0,0 @@ -systems.comodal.json_iterator=software.sava:json-iterator diff --git a/gradle/plugins/build.gradle.kts b/gradle/plugins/build.gradle.kts deleted file mode 100644 index 0684608..0000000 --- a/gradle/plugins/build.gradle.kts +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - `kotlin-dsl` -} - -repositories { - gradlePluginPortal() -} - -dependencies { - implementation("com.autonomousapps:dependency-analysis-gradle-plugin:2.18.0") - implementation("com.github.iherasymenko.jlink:jlink-plugin:0.7") - implementation("com.gradle:develocity-gradle-plugin:4.0.2") - implementation("com.gradleup.nmcp:nmcp:0.1.5") - implementation("org.gradlex:java-module-dependencies:1.9.1") - implementation("org.gradlex:java-module-testing:1.7") - implementation("org.gradlex:jvm-dependency-conflict-resolution:2.4") -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.base.dependency-rules.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.base.dependency-rules.gradle.kts deleted file mode 100644 index f2331cd..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.base.dependency-rules.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id("org.gradlex.jvm-dependency-conflict-resolution") -} - -@Suppress("UnstableApiUsage") -val bomVersion = providers.fileContents(isolated.rootProject.projectDirectory - .file("gradle/solana-version-catalog-version.txt")).asText.get().trim() - -jvmDependencyConflicts { - consistentResolution { - platform("software.sava:solana-version-catalog:$bomVersion") - } -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.base.repositories.settings.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.base.repositories.settings.gradle.kts deleted file mode 100644 index eddf294..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.base.repositories.settings.gradle.kts +++ /dev/null @@ -1,18 +0,0 @@ -val gprUser = - providers.gradleProperty("gpr.user").orElse(providers.environmentVariable("GITHUB_ACTOR")).orElse("") -val gprToken = - providers.gradleProperty("gpr.token").orElse(providers.environmentVariable("GITHUB_TOKEN")).orElse("") - -dependencyResolutionManagement { - @Suppress("UnstableApiUsage") - repositories { - maven { - url = uri("https://maven.pkg.github.com/sava-software/solana-version-catalog") - credentials { - username = gprUser.get() - password = gprToken.get() - } - } - mavenCentral() - } -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.base.version.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.base.version.gradle.kts deleted file mode 100644 index 4e9ee66..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.base.version.gradle.kts +++ /dev/null @@ -1 +0,0 @@ -version = providers.gradleProperty("version").getOrElse("") diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.build.settings.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.build.settings.gradle.kts deleted file mode 100644 index ecc9ddb..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.build.settings.gradle.kts +++ /dev/null @@ -1,10 +0,0 @@ -plugins { - id("software.sava.gradle.report.develocity") - id("software.sava.gradle.base.repositories") - id("org.gradlex.java-module-dependencies") -} - -includeBuild(".") - -include(":aggregation") -project(":aggregation").projectDir = file("gradle/aggregation") diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.check.dependencies.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.check.dependencies.gradle.kts deleted file mode 100644 index 45f1087..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.check.dependencies.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -import org.gradlex.javamodule.dependencies.tasks.ModuleDirectivesOrderingCheck - -plugins { - id("java") - id("com.autonomousapps.dependency-analysis") - id("org.gradlex.java-module-dependencies") -} - -tasks.withType().configureEach { enabled = false } - -tasks.check { - dependsOn(tasks.checkAllModuleInfo) -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.compile.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.compile.gradle.kts deleted file mode 100644 index baab9a9..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.compile.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -plugins { - id("java") -} - -val jlv = JavaLanguageVersion.of(providers.gradleProperty("javaVersion").getOrElse("21")) - -java { - toolchain.languageVersion = jlv -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.javadoc.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.javadoc.gradle.kts deleted file mode 100644 index a3c2d43..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.javadoc.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -plugins { - id("java") -} - -tasks.withType().configureEach { - val standardOption = options as StandardJavadocDocletOptions - standardOption.addStringOption("Xdoclint:none", "-quiet") - standardOption.addBooleanOption("html5", true) -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.publish-maven-central.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.publish-maven-central.gradle.kts deleted file mode 100644 index eacb0b2..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.publish-maven-central.gradle.kts +++ /dev/null @@ -1,12 +0,0 @@ -plugins { - id("maven-publish") - id("com.gradleup.nmcp.aggregation") -} - -nmcpAggregation { - centralPortal { - username = providers.environmentVariable("MAVEN_CENTRAL_TOKEN") - password = providers.environmentVariable("MAVEN_CENTRAL_SECRET") - publishingType = "USER_MANAGED" // "AUTOMATIC" - } -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.publish.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.publish.gradle.kts deleted file mode 100644 index b24a531..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.publish.gradle.kts +++ /dev/null @@ -1,80 +0,0 @@ -plugins { - id("java") - id("maven-publish") - id("signing") - id("com.gradleup.nmcp") -} - -val gprUser = - providers.gradleProperty("gpr.user.write").orElse(providers.environmentVariable("GITHUB_ACTOR")).orElse("") -val gprToken = - providers.gradleProperty("gpr.token.write").orElse(providers.environmentVariable("GITHUB_TOKEN")).orElse("") -val signingKey = - providers.environmentVariable("GPG_PUBLISH_SECRET").orNull -val signingPassphrase = - providers.environmentVariable("GPG_PUBLISH_PHRASE").orNull -val publishSigningEnabled = - providers.gradleProperty("sign").getOrElse("false").toBoolean() - -java { - withJavadocJar() - withSourcesJar() -} - -signing { - sign(publishing.publications) - useInMemoryPgpKeys(signingKey, signingPassphrase) -} - -tasks.withType().configureEach { enabled = publishSigningEnabled } - -val vcs = "https://github.com/sava-software/json-iterator" - -publishing { - publications.withType().configureEach { - versionMapping { - allVariants { fromResolutionResult() } - } - } - - publications.register("mavenJava") { - from(components["java"]) - - pom { - name = project.name - description = "Json Parser" - url = vcs - licenses { - license { - name = "MIT License" - url = "https://github.com/sava-software/json-iterator/blob/master/LICENSE" - } - } - developers { - developer { - name = "Jim" - id = "jpe7s" - email = "jpe7s.salt188@passfwd.com" - organization = "Sava Software" - organizationUrl = "https://github.com/sava-software" - } - } - scm { - connection = "scm:git:git@github.com:sava-software/json-iterator.git" - developerConnection = "scm:git:ssh@github.com:sava-software/json-iterator.git" - url = vcs - } - } - } - - repositories { - maven { - name = "GithubPackages" - url = uri("https://maven.pkg.github.com/sava-software/json-iterator") - credentials { - username = gprUser.get() - password = gprToken.get() - } - } - } -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.test.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.test.gradle.kts deleted file mode 100644 index c5f8cc9..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.feature.test.gradle.kts +++ /dev/null @@ -1,22 +0,0 @@ -import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL - -plugins { - id("java") - id("org.gradlex.java-module-dependencies") - id("org.gradlex.java-module-testing") -} - -tasks.test { - testLogging { - events("passed", "skipped", "failed", "standardOut", "standardError") - exceptionFormat = FULL - showStandardStreams = true - } -} - -// remove automatically added compile time dependencies for strict dependency analysis -configurations.testImplementation { - withDependencies { - removeIf { it.group == "org.junit.jupiter" && it.name == "junit-jupiter" } - } -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.java-module.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.java-module.gradle.kts deleted file mode 100644 index cde82be..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.java-module.gradle.kts +++ /dev/null @@ -1,10 +0,0 @@ -plugins { - id("java-library") - id("software.sava.gradle.base.dependency-rules") - id("software.sava.gradle.base.version") - id("software.sava.gradle.feature.compile") - id("software.sava.gradle.feature.test") - id("software.sava.gradle.feature.javadoc") - id("software.sava.gradle.feature.publish") - id("software.sava.gradle.check.dependencies") -} diff --git a/gradle/plugins/src/main/kotlin/software.sava.gradle.report.develocity.settings.gradle.kts b/gradle/plugins/src/main/kotlin/software.sava.gradle.report.develocity.settings.gradle.kts deleted file mode 100644 index 669c73d..0000000 --- a/gradle/plugins/src/main/kotlin/software.sava.gradle.report.develocity.settings.gradle.kts +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id("com.gradle.develocity") -} - -// Configure Build Scans (local builds have to opt-in via --scan) -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use" - termsOfUseAgree = "yes" - if (!providers.environmentVariable("CI").getOrElse("false").toBoolean()) { - publishing.onlyIf { false } - } - -// publishing.onlyIf { providers.environmentVariable("CI").getOrElse("false").toBoolean() } - } -} diff --git a/gradle/sava.properties b/gradle/sava.properties new file mode 100644 index 0000000..c62ae26 --- /dev/null +++ b/gradle/sava.properties @@ -0,0 +1,3 @@ +productDescription=Json Parser +javaVersion=17 +solanaBOMVersion=0.9.1 diff --git a/gradle/solana-version-catalog-version.txt b/gradle/solana-version-catalog-version.txt deleted file mode 100644 index f374f66..0000000 --- a/gradle/solana-version-catalog-version.txt +++ /dev/null @@ -1 +0,0 @@ -0.9.1 diff --git a/json-iterator/build.gradle.kts b/json-iterator/build.gradle.kts index 711358c..6c3cdf2 100644 --- a/json-iterator/build.gradle.kts +++ b/json-iterator/build.gradle.kts @@ -1,5 +1,5 @@ testModuleInfo { requires("org.junit.jupiter.api") - runtimeOnly("org.junit.jupiter.engine") requires("org.junit.jupiter.params") + runtimeOnly("org.junit.jupiter.engine") } diff --git a/settings.gradle.kts b/settings.gradle.kts index ae12ba3..8352a32 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,16 +1,28 @@ -pluginManagement { - includeBuild("gradle/plugins") -} plugins { - id("software.sava.gradle.build") + id("software.sava.build") version "0.1.0" } -rootProject.name = "ji" +rootProject.name = "json-iterator" javaModules { - directory(".") { - group = "software.sava" - plugin("software.sava.gradle.java-module") + directory(".") { + group = "software.sava" + plugin("software.sava.build.java-module") + } +} + +// TODO - to be removed once 'solana-version-catalog' is on Maven Central +val gprUser = providers.gradleProperty("gpr.user").orElse(providers.environmentVariable("GITHUB_ACTOR")).orElse("") +val gprToken = providers.gradleProperty("gpr.token").orElse(providers.environmentVariable("GITHUB_TOKEN")).orElse("") +dependencyResolutionManagement { + @Suppress("UnstableApiUsage") + repositories { + maven { + url = uri("https://maven.pkg.github.com/sava-software/solana-version-catalog") + credentials { + username = gprUser.get() + password = gprToken.get() + } } - versions("gradle/versions") + } }