Update Maven examples (and Gradle wrapper) - #1450
Conversation
16def1b to
c61e9e0
Compare
c61e9e0 to
2ceef68
Compare
| import groovy.transform.Field | ||
|
|
||
| ext.archunitExamplesGitRepo = 'TNG/ArchUnit-Examples.git' | ||
| ext.updateArchUnitExampleVersion = { File archUnitExampleDir -> |
There was a problem hiding this comment.
can be tested with
./gradlew clean updateArchUnitExample && cd build/example-update/ && git diff
(noting that release.sh additionally does && git add -A && git commit -s -m "release ArchUnit $VERSION" && git push).
| <version>2.22.2</version> | ||
| <version>3.0.0-M3</version> <!-- Since 3.0.0-M4, the test report for JUnit5 tests does not contain fully qualified names in testcase/@classname anymore. --> | ||
| <configuration> | ||
| <argLine>-Xmx2G</argLine> | ||
| </configuration> | ||
| </plugin> | ||
| <plugin> | ||
| <groupId>org.apache.maven.plugins</groupId> | ||
| <artifactId>maven-compiler-plugin</artifactId> | ||
| <version>3.8.1</version> | ||
| <version>3.15.0</version> |
There was a problem hiding this comment.
These collide with a change on #1659:
I prefer my approach where this is covered by dependabot
There was a problem hiding this comment.
I like your approach, and I don't think it's a semantic conflict, but that they complement each other nicely:
- This PR is to update https://github.com/TNG/ArchUnit-Examples based on the version in the ArchUnit repository
- Your PR allows the version in the ArchUnit repository to be updated automatically.
There was a problem hiding this comment.
Good point. We still need to be aware of this regarding merge conflicts and merge order, though.
There was a problem hiding this comment.
(I've dropped updating the pom.xml template from this PR.)
| </build> | ||
| <modules> | ||
| <module>example-junit4</module> | ||
| <module>example-junit5</module> |
There was a problem hiding this comment.
Reminder: We must not forget junit6 in the PR that is merged last
2ceef68 to
8ca1b55
Compare
Signed-off-by: Manfred Hanke <manfred.hanke@tngtech.com>
which were introduced with TNG/ArchUnit-Examples#14 so `./gradlew updateArchUnitExample` also updates them, not only the Gradle build files (see result in `build/example-update/`) Signed-off-by: Manfred Hanke <Manfred.Hanke@tngtech.com>
using the Gradle wrapper from the ArchUnit repository, which is automatically updated, so `./gradlew updateArchUnitExample` also updates it for the ArchUnit-Examples repository (see result in `build/example-update/`) Signed-off-by: Manfred Hanke <Manfred.Hanke@tngtech.com>
Since version 3.2.0, the maven-wrapper uses distributionType=only-script by default, which downloads Maven directly and skips maven-wrapper.jar (https://maven.apache.org/tools/wrapper/maven-wrapper-plugin/wrapper-mojo.html#distributionType) Co-authored-by: Dr. Jonathan Schulz <jonathan.schulz@tngtech.com> Signed-off-by: Manfred Hanke <manfred.hanke@tngtech.com>
8ca1b55 to
7271cc6
Compare
# [ArchUnit 1.5.0](https://github.com/TNG/ArchUnit/releases/tag/v1.5.0) ## Enhancements ### Core * Support Java 27 / class file major version 71 (#1618) * Improve descriptions of `JavaAccess.Predicates.originOwner` and `JavaAccess.Predicates.targetOwner` (#1603) * Expose information on sealed classes via `JavaClass`: `isSealed()` and `getPermittedSubclasses()` (#1677) * Consider dependencies from caught exceptions (#1555) * `ImportOption.DoNotIncludeTests` and `OnlyIncludeTests` consider tests in custom Gradle source sets (#1660) ### Lang * `ArchConditions` offers new `ArchCondition<JavaClass> haveAnyDependenciesThat(DescribedPredicate<Dependency>)` (#1580) ### Library * `ArchitectureMetrics.lakosMetrics` is computed much more performantly (#1629) * `TextFileBasedViolationStore` is now thread-safe under parallel test execution (#1656) * `ModuleDependency` now provides stable descriptions (#1648) ### JUnit * `archunit-junit6` supports ArchUnit with JUnit 6 (~#1556~, ~#1658~, #1659) * `AnalyzeClasses` supports individual classes (#1569) * (`archunit-junit:0.9.0` (which was renamed with [ArchUnit 0.9.0](https://github.com/TNG/ArchUnit/releases/tag/v0.9.0)) now relocates to `archunit-junit4:0.9.0` (#1673)) * will only be published after #1684 🙈 ### Documentation * Document `Priority` (#1671) * Document Package Identifiers in User Guide (#1672) ## Internal Improvements * Text files now use UNIX line breaks (#1602, #1611) * Update Gradle from 8 to 9; build & test with JDK 25 (#1550, and also #1612, #1619) * Separate integration tests by JUnit version (#1636) * Replace `junit-dataprovider` with `junit-jupiter-params` (#1655) * ArchUnit releases now update Maven examples (and Gradle wrapper) of [ArchUnit-Examples](https://github.com/TNG/ArchUnit-Examples) (#1450) * Avoid managing hamcrest dependency (#1467)
This PR extends the tasks triggered by
updateArchUnitExample(in particular for every release), which update the ArchUnit-Examples, byIt also updates the example dependencies and Maven version used in archunit-maven-test.