Raise the project version to 2.1.3 - #209
Merged
Merged
Conversation
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
MarkusPaulsen
pushed a commit
that referenced
this pull request
Aug 22, 2026
Main raised the project version to 2.1.3 in pull request #209. This branch had already done so, and to the same value, so the merge resolves to no change at all: no file differs from the commit before it. Kept as a merge rather than dropped, so the branch has main's release commit in its history and the pull request stays mergeable.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Raises the project version from 2.1.2 to 2.1.3 so that the 95 commits merged into
mainsince thev2.1.2tag can be cut as a release.Linked issues
None.
1. Problem
pom.xmlstill declares2.1.2, a version that has already been tagged and published toreposilite.aet.cit.tum.de/releasesand to Maven Central. Since that tag, 95 commits have landed onmain, among them the supervised-package detection work of #174, the generated-test scope changes, the pull request template checks and several Renovate dependency updates.The consequence is that anything built from
maintoday produces an artefact stamped2.1.2which is not the published2.1.2. Two identical coordinates then denote two different jars, one in a developer's local~/.m2and one on reposilite, and Maven has no way to tell them apart. An instructor who buildsmainlocally and an instructor who resolves2.1.2from reposilite silently get different enforcement behaviour.This is neither a false negative nor a false positive in the enforcement layers. It sits in the build integration: the version coordinate no longer identifies the code it is attached to. It also blocks the downstream work, because an exercise cannot be moved onto the newer code while that code has no version of its own to depend on.
2. Improvement from the user's perspective
Instructors gain a coordinate they can actually pin. Once
2.1.3is tagged and published, an exercise test repository can depend on the current code by version rather than by a locally installed snapshot, and two instructors resolving the same coordinate are guaranteed the same jar.Note that this pull request only raises the version. Publication to reposilite is a separate manual step, and until it happens
de.tum.cit.ase:ares:2.1.3remains unresolvable for the Artemis build agents.3. Improvement from the maintainer's perspective
Removes the ambiguity between "2.1.2 as released" and "2.1.2 as currently on
main", which is the state that makes a bug report impossible to attribute to a build. It is also the first of the ordinary release steps, so the remaining ones (tag, GitHub release, publish) become mechanical.4. Testing manual
Prerequisites
examples/ares-exercise-gradle, or any exercise using theJAVA_USING_GRADLE_ARCHUNIT_AND_ASPECTJpolicy configuration.Steps
mvn install -DskipTests.~/.m2/repository/de/tum/cit/ase/ares/2.1.3/.build.gradle, change everyde.tum.cit.ase:ares:2.1.0coordinate (thearesAgent,testImplementationandaspectentries) to2.1.3, and confirmmavenLocal()is among the declared repositories../gradlew clean testagainst the exercise's solution sources../gradlew clean testagainst the exercise's template sources.static { }initialiser callingjava.nio.file.Files.readString(java.nio.file.Path.of("secret.txt"))in a class the tests instantiate, and run./gradlew clean testagain.Expected result
BUILD SUCCESS, with the Checkstyle and SpotBugs quality gates passing.ares-2.1.3.jar,ares-2.1.3-agent.jar,ares-2.1.3-sources.jar,ares-2.1.3-javadoc.jarandares-2.1.3.pom. The version in the directory name is the only thing this pull request changes.ares-2.1.3.jarandares-2.1.3-agent.jaron the-javaagentand-Xbootclasspath/aarguments, which is where a reviewer confirms that 2.1.3 and not a cached 2.1.0 was resolved.org.opentest4j.AssertionFailedErrorfrom the structural test providers, and noSecurityExceptionappears inbuild/test-results/test/*.xml. An unsolved template must fail on missing implementation, not on security.java.lang.SecurityException, and the stack trace inbuild/test-results/test/*.xmlnamesde.tum.cit.ase.ares.api.architecture.java.archunit.JavaArchunitTestCase.runRuleAndCapture.This was carried out against all eight Ares 2 exercises of the ITP Ares 2 test course. Every solution scored 100% and every template 0%, with test counts of 18, 30, 20, 11, 10, 21, 14 and 17 matching the counts recorded before the bump, so 2.1.3 changes no observable behaviour relative to 2.1.0 for these exercises.
Negative case (what must still be rejected)
Step 6 is the negative case: with the version raised, forbidden file system access, network access, command execution, thread creation and reflection must all still be rejected. All five were injected into separate exercises and all five were rejected, each as a
java.lang.SecurityExceptionraised before the test body ran. A run in which step 6 passes would mean the bump had made Ares more permissive.Modes exercised
A single mode is sufficient here because the diff is one version string in
pom.xmland contains no code that any mode selects between. The mode that was exercised is the one Artemis Java exercises actually run.5. Test case coverage regarding this PR
No production Java code changed.
Breaking changes and migration
None.
Checklist
Review progress