Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ framework.
###### Gradle

```
testImplementation 'com.tngtech.archunit:archunit:1.4.2'
testImplementation 'com.tngtech.archunit:archunit:1.5.0'
```

###### Maven
Expand All @@ -26,7 +26,7 @@ testImplementation 'com.tngtech.archunit:archunit:1.4.2'
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>1.4.2</version>
<version>1.5.0</version>
<scope>test</scope>
</dependency>
```
Expand Down
4 changes: 2 additions & 2 deletions build-steps/release/test-release.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply from: scriptRelativePath(this, 'vcs-utils.gradle')
apply from: scriptRelativePath(this, 'archunit-examples-utils.gradle')

task testRelease() {
tasks.register('testRelease') {
File testReleaseDir = new File(project.buildDir, 'test-release')

def configureStagingRepository = {
Expand Down Expand Up @@ -31,7 +31,7 @@ task testRelease() {
}.getFiles().collect { it.name.replaceAll(/\.java$/, '') }

def outputStream = new ByteArrayOutputStream()
exec {
project.services.get(ExecOperations).exec {
workingDir testReleaseDir
commandLine './gradlew', ":${exampleProjectName}:build", '-P', "sonatypeUsername=${project.getProperty('sonatypeUsername')}", '-P', "sonatypePassword=${project.getProperty('sonatypePassword')}"
ignoreExitValue true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,39 +1,38 @@
import groovy.xml.XmlSlurper

import java.nio.file.Files
import java.util.jar.JarFile

plugins {
id 'archunit.java-artifact-check-conventions'
}

task ensureReleaseCheckUpToDate {
doFirst {
def mavenProject = new XmlSlurper().parseText(getExpectedPomFileContent())
def releaseCheckDependencies = mavenProject.dependencies.dependency
.findAll { it.groupId != 'com.tngtech.archunit' }
.collect {
[groupId: it.groupId.toString(), artifactId: it.artifactId.toString(), version: it.version.toString()]
}
ext.getExpectedPomFileContent = {
getClass().getResourceAsStream("release_check/${project.name}.pom").text.replace('${archunit.version}', version).stripIndent()
}

ext.comparePom = { String actual ->
println "Verifying correct POM of ${project.name}"

releaseCheckDependencies.each { releaseCheckDependency ->
VersionCatalog versionCatalog = versionCatalogs.named("libs")
def dependencies = versionCatalog.libraryAliases.collect { versionCatalog.findLibrary(it).get().get() }
def matchingProjectDependency = dependencies.find {
it.group == releaseCheckDependency.groupId &&
it.name == releaseCheckDependency.artifactId &&
it.version == releaseCheckDependency.version
}
assert matchingProjectDependency != null:
"No project dependency was found for expected release dependency ${releaseCheckDependency}"
}
String expected = getExpectedPomFileContent()
if (actual.replaceAll("\\s", "") != expected.replaceAll("\\s", "")) {
throw new AssertionError("""POM of artifact '${project.name}' does not match:
--------
Actual:
${actual}
--------
Expected:
${expected}
--------
""")
}
}
check.dependsOn(ensureReleaseCheckUpToDate)

ext.getExpectedPomFileContent = {
getClass().getResourceAsStream("release_check/${project.name}.pom").text.replace('${archunit.version}', version).stripIndent()
task checkPom {
dependsOn 'generatePomFileForMavenJavaPublication'
doLast {
comparePom(new File(buildDir, 'publications/mavenJava/pom-default.xml').text)
}
}
check.dependsOn(checkPom)

task checkUploadedArtifacts {
doLast {
Expand All @@ -58,24 +57,6 @@ task checkUploadedArtifacts {
getArtifact(project.name, ".pom").text.stripIndent()
}

def checkPom = {
println "Verifying correct POM of ${project.name}"

String actual = getUploadedPomFileContent()
String expected = getExpectedPomFileContent()
if (actual.replaceAll("\\s", "") != expected.replaceAll("\\s", "")) {
throw new AssertionError("""POM of artifact '${project.name}' does not match:
--------
Actual:
${actual}
--------
Expected:
${expected}
--------
""")
}
}

def checkSourcesExist = {
assert getUploadedFile(project.name, 'jar', 'sources') != null
}
Expand All @@ -84,7 +65,7 @@ ${expected}
assert getUploadedFile(project.name, 'jar', 'javadoc') != null
}

checkPom()
comparePom(getUploadedPomFileContent())
checkSourcesExist()
checkJavadocExists()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,21 @@ publishing {
name = 'Manfred Hanke'
email = 'manfred.hanke@tngtech.com'
}
developer {
id = 'schulzjo-tng'
name = 'Jonathan Schulz'
email = 'jonathan.schulz@tngtech.com'
}
developer {
id = 'StefanGraeber'
name = 'Stefan Gräber'
email = 'stefan.graeber@tngtech.com'
}
developer {
id = 'TheManWhoStaresAtCode'
name = 'Andreas Zöller'
email = 'andreas.zoeller@tngtech.com'
}
}

organization {
Expand Down
15 changes: 15 additions & 0 deletions buildSrc/src/main/resources/release_check/archunit-junit4.pom
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
15 changes: 15 additions & 0 deletions buildSrc/src/main/resources/release_check/archunit-junit5-api.pom
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
15 changes: 15 additions & 0 deletions buildSrc/src/main/resources/release_check/archunit-junit5.pom
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
15 changes: 15 additions & 0 deletions buildSrc/src/main/resources/release_check/archunit-junit6-api.pom
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
15 changes: 15 additions & 0 deletions buildSrc/src/main/resources/release_check/archunit-junit6.pom
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
15 changes: 15 additions & 0 deletions buildSrc/src/main/resources/release_check/archunit.pom
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,21 @@
<name>Manfred Hanke</name>
<email>manfred.hanke@tngtech.com</email>
</developer>
<developer>
<id>schulzjo-tng</id>
<name>Jonathan Schulz</name>
<email>jonathan.schulz@tngtech.com</email>
</developer>
<developer>
<id>StefanGraeber</id>
<name>Stefan Gräber</name>
<email>stefan.graeber@tngtech.com</email>
</developer>
<developer>
<id>TheManWhoStaresAtCode</id>
<name>Andreas Zöller</name>
<email>andreas.zoeller@tngtech.com</email>
</developer>
</developers>
<scm>
<connection>scm:git@github.com:TNG/ArchUnit.git</connection>
Expand Down
2 changes: 1 addition & 1 deletion docs/_data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.2
url: https://javadoc.io/doc/com.tngtech.archunit/archunit/1.5.0
- title: "About"
url: /about
Loading
Loading