Skip to content

Commit

Permalink
build: Update to Gradle Wrapper 8.10.2 / Develocity Plugin 3.18.1 / P…
Browse files Browse the repository at this point in the history
…lugin Dependencies / Dependencies (#100426)

* build: Update to Gradle Wrapper 8.10.2

* build: Migrate to Develocity Plugin 3.18.1

* build: Update plugin dependencies

* build: Update om.intershop.gradle.test:test-gradle-plugin dependency

* build: Update dependencies
- com.sun.xml.bind:jaxb-xjc
- com.sun.xml.bind:jaxb-jxc
- com.sun.xml.bind:jaxb-impl
- com.sun.xml.bind:jaxb-core
- org.glassfish.jaxb:jaxb-runtime
- jakarta.xml.bind:jakarta.xml.bind-api
- jakarta.activation:jakarta.activation-api

* build: Migrate to explicit non-deprecated Gradle test suite configuration

* build: Migrate to non-deprecated Gradle configuration

* refactor: Remove some unused code

* fix: Migrate deprecated code to non-deprecated

* test: Update dependencies in integration tests
- jakarta.xml.bind:jakarta.xml.bind-api
- org.glassfish.jaxb:jaxb-runtime

* test: Configure Java compile task for integration tests to show details about unchecked/deprecated code

* test: Migrate deprecated Gradle configuration in integration tests
  • Loading branch information
DevDavido authored Oct 10, 2024
1 parent fa6cad1 commit 2e1295e
Show file tree
Hide file tree
Showing 14 changed files with 223 additions and 126 deletions.
14 changes: 7 additions & 7 deletions README.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,13 @@ jaxb {
If the JavaBasePlugin is applied to the project, generated java sources will be added to the specified source set. Per default the main source set is used.

IMPORTANT: This plugin uses the following dependencies: +
**    com.sun.xml.bind:jaxb-xjc:4.0.0** +
**    com.sun.xml.bind:jaxb-jxc:4.0.0** +
**    com.sun.xml.bind:jaxb-impl:4.0.0** +
**    com.sun.xml.bind:jaxb-core:4.0.0** +
**    org.glassfish.jaxb:jaxb-runtime:4.0.0** +
**    jakarta.xml.bind:jakarta.xml.bind-api:4.0.0** +
**    jakarta.activation:jakarta.activation-api:2.1.0** +
**    com.sun.xml.bind:jaxb-xjc:4.0.5** +
**    com.sun.xml.bind:jaxb-jxc:4.0.5** +
**    com.sun.xml.bind:jaxb-impl:4.0.5** +
**    com.sun.xml.bind:jaxb-core:4.0.5** +
**    org.glassfish.jaxb:jaxb-runtime:4.0.5** +
**    jakarta.xml.bind:jakarta.xml.bind-api:4.0.2** +
**    jakarta.activation:jakarta.activation-api:2.1.3** +

These dependencies are pre-defined by the plugin in the configuration `jaxb`, which will be passed to the argument `-classpath` of JAXB tools (`xjc` for `javaGen` and `schemagen` for `schemaGen`). If you want to use another version of JAXB in the code/schema generation process, you can overwrite configuration `jaxb` in your `project.dependencies`.
Moreover, you can add additional dependencies to `-classpath` of JAXB tools with the configuration `jaxbext`, e.g., in order to use JAXB `-extension` like `-Xequals`, `-Xcopyable`, etc.
Expand Down
94 changes: 52 additions & 42 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ import org.asciidoctor.gradle.jvm.AsciidoctorTask
*/

plugins {
`jvm-test-suite`

// project plugins
groovy

kotlin("jvm") version "1.9.21"
kotlin("jvm") version "1.9.25"

// test coverage
jacoco
Expand All @@ -33,15 +34,15 @@ plugins {
signing

// plugin for documentation
id("org.asciidoctor.jvm.convert") version "3.3.2"
id("org.asciidoctor.jvm.convert") version "4.0.3"

// documentation
id("org.jetbrains.dokka") version "1.9.10"
id("org.jetbrains.dokka") version "1.9.20"

// plugin for publishing to Gradle Portal
id("com.gradle.plugin-publish") version "1.2.1"
id("com.gradle.plugin-publish") version "1.3.0"

id("com.dorongold.task-tree") version "2.1.1"
id("com.dorongold.task-tree") version "4.0.0"
}

// release configuration
Expand Down Expand Up @@ -88,36 +89,45 @@ if (project.version.toString().endsWith("-SNAPSHOT")) {
status = "snapshot"
}

val buildDir = layout.buildDirectory.asFile.get()
tasks {
withType<Test>().configureEach {
testLogging {
showStandardStreams = true
showStackTraces = true
events(org.gradle.api.tasks.testing.logging.TestLogEvent.FAILED)
testing {
suites.withType<JvmTestSuite> {
useSpock()

dependencies {
implementation("com.intershop.gradle.test:test-gradle-plugin:5.1.0")
implementation(gradleTestKit())
}

this.javaLauncher.set( project.javaToolchains.launcherFor {
languageVersion.set(JavaLanguageVersion.of(17))
})
targets {
all {
testTask.configure {
systemProperty("intershop.gradle.versions", "8.5,8.10.2")

systemProperty("intershop.gradle.versions","8.5")
testLogging {
showStandardStreams = true
showStackTraces = true
events(org.gradle.api.tasks.testing.logging.TestLogEvent.FAILED)
}

if(project.hasProperty("repoURL")
&& project.hasProperty("repoUser")
&& project.hasProperty("repoPasswd")) {
systemProperty("repo_url_config", project.property("repoURL").toString())
systemProperty("repo_user_config", project.property("repoUser").toString())
systemProperty("repo_passwd_config", project.property("repoPasswd").toString())
if(project.hasProperty("repoURL")
&& project.hasProperty("repoUser")
&& project.hasProperty("repoPasswd")) {
systemProperty("repo_url_config", project.property("repoURL").toString())
systemProperty("repo_user_config", project.property("repoUser").toString())
systemProperty("repo_passwd_config", project.property("repoPasswd").toString())
}
}
}
}

useJUnitPlatform()
}
}

val buildDir = layout.buildDirectory.asFile.get()
tasks {
register<Copy>("copyAsciiDoc") {
includeEmptyDirs = false

val outputDir = file("$buildDir/tmp/asciidoctorSrc")
val outputDir = project.layout.buildDirectory.dir("tmp/asciidoctorSrc")
val inputFiles = fileTree(rootDir) {
include("**/*.asciidoc")
exclude("build/**")
Expand All @@ -127,7 +137,7 @@ tasks {
outputs.dir( outputDir )

doFirst {
outputDir.mkdir()
outputDir.get().asFile.mkdir()
}

from(inputFiles)
Expand All @@ -137,7 +147,7 @@ tasks {
withType<AsciidoctorTask> {
dependsOn("copyAsciiDoc")

setSourceDir(file("$buildDir/tmp/asciidoctorSrc"))
setSourceDir(project.layout.buildDirectory.dir("tmp/asciidoctorSrc"))
sources(delegateClosureOf<PatternSet> {
include("README.asciidoc")
})
Expand All @@ -146,18 +156,21 @@ tasks {
setBackends(listOf("html5", "docbook"))
}

options = mapOf( "doctype" to "article",
"ruby" to "erubis")
attributes = mapOf(
"latestRevision" to project.version,
"toc" to "left",
"toclevels" to "2",
"source-highlighter" to "coderay",
"icons" to "font",
"setanchors" to "true",
"idprefix" to "asciidoc",
"idseparator" to "-",
"docinfo1" to "true")
setOptions(mapOf(
"doctype" to "article",
"ruby" to "erubis"
))
setAttributes(mapOf(
"latestRevision" to project.version,
"toc" to "left",
"toclevels" to "2",
"source-highlighter" to "coderay",
"icons" to "font",
"setanchors" to "true",
"idprefix" to "asciidoc",
"idseparator" to "-",
"docinfo1" to "true"
))
}

withType<JacocoReport> {
Expand Down Expand Up @@ -262,7 +275,4 @@ signing {
dependencies {
implementation(gradleApi())
implementation(gradleKotlinDsl())

testImplementation("com.intershop.gradle.test:test-gradle-plugin:5.0.1")
testImplementation(gradleTestKit())
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
7 changes: 5 additions & 2 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

##############################################################################
#
Expand Down Expand Up @@ -55,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Expand Down Expand Up @@ -84,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down
22 changes: 12 additions & 10 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
Expand Down Expand Up @@ -43,11 +45,11 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2

goto fail

Expand All @@ -57,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto execute

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2

goto fail

Expand Down
11 changes: 11 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
plugins {
id("com.gradle.develocity") version "3.18.1"
}

develocity {
buildScan {
termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use"
termsOfUseAgree = "yes"
}
}

rootProject.name = "jaxb-gradle-plugin"
16 changes: 8 additions & 8 deletions src/main/kotlin/com/intershop/gradle/jaxb/JaxbPlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -169,14 +169,14 @@ open class JaxbPlugin: Plugin<Project> {
.defaultDependencies { dependencies: DependencySet ->
// this will be executed if configuration is empty
val dependencyHandler = project.dependencies
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-xjc:4.0.0"))
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-jxc:4.0.0"))
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-impl:4.0.0"))
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-core:4.0.0"))

dependencies.add(dependencyHandler.create("org.glassfish.jaxb:jaxb-runtime:4.0.0"))
dependencies.add(dependencyHandler.create("jakarta.xml.bind:jakarta.xml.bind-api:4.0.0"))
dependencies.add(dependencyHandler.create("jakarta.activation:jakarta.activation-api:2.1.0"))
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-xjc:4.0.5"))
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-jxc:4.0.5"))
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-impl:4.0.5"))
dependencies.add(dependencyHandler.create("com.sun.xml.bind:jaxb-core:4.0.5"))

dependencies.add(dependencyHandler.create("org.glassfish.jaxb:jaxb-runtime:4.0.5"))
dependencies.add(dependencyHandler.create("jakarta.xml.bind:jakarta.xml.bind-api:4.0.2"))
dependencies.add(dependencyHandler.create("jakarta.activation:jakarta.activation-api:2.1.3"))
}

project.configurations.maybeCreate(JaxbExtension.ADD_JAXB_CONFIGURATION_NAME)
Expand Down
Loading

0 comments on commit 2e1295e

Please sign in to comment.