diff --git a/README.md b/README.md index d39e9c7915..714ba63504 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ framework. ###### Gradle ``` -testImplementation 'com.tngtech.archunit:archunit:1.4.1' +testImplementation 'com.tngtech.archunit:archunit:1.4.2' ``` ###### Maven @@ -26,7 +26,7 @@ testImplementation 'com.tngtech.archunit:archunit:1.4.1' com.tngtech.archunit archunit - 1.4.1 + 1.4.2 test ``` diff --git a/archunit-maven-test/build.gradle b/archunit-maven-test/build.gradle index b041c16555..6294c6afed 100644 --- a/archunit-maven-test/build.gradle +++ b/archunit-maven-test/build.gradle @@ -16,8 +16,8 @@ def repositoryUrls = [ releases : 'https://nexus.int.tngtech.com/repository/maven-releases' ], sonatype: [ - snapshots: 'https://oss.sonatype.org/content/repositories/snapshots', - releases : 'https://oss.sonatype.org/content/repositories/releases' + snapshots: 'https://central.sonatype.com/repository/maven-snapshots', + releases : 'https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/' ] ] def createRepositoriesTag = { repoUrls -> diff --git a/build-steps/release/publish.gradle b/build-steps/release/publish.gradle index 66746ca103..6a10433a86 100644 --- a/build-steps/release/publish.gradle +++ b/build-steps/release/publish.gradle @@ -7,6 +7,8 @@ nexusPublishing { packageGroup = 'com.tngtech' repositories { sonatype { + nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/")) + snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/")) username = findProperty("sonatypeUsername") password = findProperty("sonatypePassword") } diff --git a/build-steps/release/test-release.gradle b/build-steps/release/test-release.gradle index 9b1a02dbf4..5cb2489fb1 100644 --- a/build-steps/release/test-release.gradle +++ b/build-steps/release/test-release.gradle @@ -9,15 +9,22 @@ task testRelease() { text = text.replace('mavenCentral()', ''' mavenCentral() maven { - url "https://oss.sonatype.org/content/repositories/staging/" - credentials { - username project.getProperty('sonatypeUsername') - password project.getProperty('sonatypePassword') + url "https://central.sonatype.com/api/v1/publisher/deployments/download/" + credentials(HttpHeaderCredentials) { + name = "Authorization" + value = "Bearer " + (project.getProperty('sonatypeUsername') + ":" + project.getProperty('sonatypePassword')).bytes.encodeBase64() + } + authentication { + header(HttpHeaderAuthentication) } }''') } } + def configureHttpSocketTimeout = { + new File(testReleaseDir, 'gradle.properties') << 'systemProp.org.gradle.internal.http.socketTimeout=600000\n' + } + def testExampleProject = { String exampleProjectName -> List testClassNames = fileTree(new File(testReleaseDir, exampleProjectName)) { include '**/*Test.java' @@ -47,6 +54,7 @@ task testRelease() { updateArchUnitExampleVersion(testReleaseDir) configureStagingRepository() + configureHttpSocketTimeout() testExampleProject('example-plain') testExampleProject('example-junit4') diff --git a/buildSrc/src/main/groovy/archunit.java-release-check-conventions.gradle b/buildSrc/src/main/groovy/archunit.java-release-check-conventions.gradle index ed8a2b516d..65a2cb8b53 100644 --- a/buildSrc/src/main/groovy/archunit.java-release-check-conventions.gradle +++ b/buildSrc/src/main/groovy/archunit.java-release-check-conventions.gradle @@ -38,23 +38,25 @@ ext.getExpectedPomFileContent = { task checkUploadedArtifacts { doLast { - def tngRepoId = project.findProperty('tngRepoId') ?: rootProject.closeSonatypeStagingRepository.stagingRepositoryId.get() - def rootUrl = "https://oss.sonatype.org/service/local/repositories/${tngRepoId}/content/com/tngtech/archunit" - - def createArtifactUrl = { String artifactId -> - "${rootUrl}/${artifactId}/${version}/${artifactId}-${version}" + def getArtifact = { String artifactId, String fullEnding -> + def repositoryUrl = 'https://central.sonatype.com/api/v1/publisher/deployments/download' + def artifactUrl = "$repositoryUrl/com/tngtech/archunit/$artifactId/$version/$artifactId-$version$fullEnding" + def connection = new URL(artifactUrl).openConnection() + def token = (project.getProperty('sonatypeUsername') + ':' + project.getProperty('sonatypePassword')).bytes.encodeBase64() + connection.setRequestProperty("Authorization", "Bearer $token") + return connection.inputStream } def getUploadedFile = { String artifactId, String ending, String suffix -> def fullEnding = (!suffix.isEmpty() ? "-${suffix}" : '') + ".${ending}" def tempDir = Files.createTempDirectory('release-check').toFile() File result = new File(tempDir, "${artifactId}${fullEnding}") - result.bytes = new URL("${createArtifactUrl(artifactId)}${fullEnding}").bytes + result.bytes = getArtifact(artifactId, fullEnding).bytes result } def getUploadedPomFileContent = { - new URL("${createArtifactUrl(project.name)}.pom").text.stripIndent() + getArtifact(project.name, ".pom").text.stripIndent() } def checkPom = { diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml index e3a263bcf6..bb58289cf8 100644 --- a/docs/_data/navigation.yml +++ b/docs/_data/navigation.yml @@ -10,6 +10,6 @@ main: - title: "User Guide" url: /userguide/html/000_Index.html - title: "API" - url: https://javadoc.io/doc/com.tngtech.archunit/archunit/1.4.1 + url: https://javadoc.io/doc/com.tngtech.archunit/archunit/1.4.2 - title: "About" url: /about diff --git a/docs/_pages/getting-started.md b/docs/_pages/getting-started.md index 6fbcbf8f25..9b27a2f6cd 100644 --- a/docs/_pages/getting-started.md +++ b/docs/_pages/getting-started.md @@ -15,7 +15,7 @@ ArchUnit can be obtained from Maven Central. com.tngtech.archunit archunit - 1.4.1 + 1.4.2 test ``` @@ -23,7 +23,7 @@ ArchUnit can be obtained from Maven Central. #### Gradle ```groovy dependencies { - testImplementation 'com.tngtech.archunit:archunit:1.4.1' + testImplementation 'com.tngtech.archunit:archunit:1.4.2' } ``` diff --git a/docs/_posts/2026-04-18-release-v1.4.2.markdown b/docs/_posts/2026-04-18-release-v1.4.2.markdown new file mode 100644 index 0000000000..e70077c275 --- /dev/null +++ b/docs/_posts/2026-04-18-release-v1.4.2.markdown @@ -0,0 +1,8 @@ +--- +layout: splash +title: "New release of ArchUnit (v1.4.2)" +date: 2026-04-18 12:00:00 +categories: news release +--- + +A new release of ArchUnit (v1.4.2) is out. For details see [the release on GitHub](https://github.com/TNG/ArchUnit/releases/tag/v1.4.2 "ArchUnit v1.4.2 on GitHub"). diff --git a/docs/userguide/html/000_Index.html b/docs/userguide/html/000_Index.html index b29b4464dc..249b9bd183 100644 --- a/docs/userguide/html/000_Index.html +++ b/docs/userguide/html/000_Index.html @@ -450,7 +450,7 @@ @@ -649,7 +649,7 @@

2.2. JUnit 5

<dependency>
     <groupId>com.tngtech.archunit</groupId>
     <artifactId>archunit-junit5</artifactId>
-    <version>1.4.1</version>
+    <version>1.4.2</version>
     <scope>test</scope>
 </dependency>
@@ -658,7 +658,7 @@

2.2. JUnit 5

build.gradle
dependencies {
-    testImplementation 'com.tngtech.archunit:archunit-junit5:1.4.1'
+    testImplementation 'com.tngtech.archunit:archunit-junit5:1.4.2'
 }
@@ -675,7 +675,7 @@

<dependency> <groupId>com.tngtech.archunit</groupId> <artifactId>archunit</artifactId> - <version>1.4.1</version> + <version>1.4.2</version> <scope>test</scope> </dependency> @@ -684,7 +684,7 @@

build.gradle
dependencies {
-   testImplementation 'com.tngtech.archunit:archunit:1.4.1'
+   testImplementation 'com.tngtech.archunit:archunit:1.4.2'
 }