[MRELEASE-560] Check for changed subprojects (in multimodule projects) and release only the projects which have changed
- Dominant language
- Java
- Stars
- 128
- Forks
- 145
- Avg merge
- 7h 7m
- Merged PRs (30d)
- 3
Description
**[Peter Simon](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=molotov)** opened **[MRELEASE-560](https://issues.apache.org/jira/browse/MRELEASE-560?redirect=false)** and commented
This feature makes it possible for multimodule projects to configure if the subprojects that have no changes since the last release shell be released or not. By setting the argument -DreleaseOnlyChanged=true only the changed submodules will be released (default -DreleaseOnlyChanged=false).
To compare the workingcopy with the last release, the poms are modified by adding a property lastReleaseRev which contains the revision of the last release. If this property doesn't exist (as it is for the first release) the project will be released.
If only the changed subprojects shall be released, the different phases (f.ex. RewritePomsPhase) will be skipped for those projects.
This patch also includes the patch for MRELEA[SE-550](https://issues.apache.org/jira/browse/SE-550).
---
**Affects:** 2.1
**Attachments:**
- [releaseOnlyChangedProjects.patch](https://issues.apache.org/jira/secure/attachment/12718170/releaseOnlyChangedProjects.patch) (_36.52 kB_)
1 votes, 2 watchers
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the attached releaseOnlyChangedProjects.patch and the release phases, especially RewritePomsPhase. Trace how multimodule POMs are modified and how the releaseOnlyChanged argument is handled. Done means unchanged subprojects skip release phases while first releases and changed projects still release normally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100