How about depending only on released components for a given product milestone? Because a given milestone is a stable pack that depends on the stables upstream components.
On Mon, Mar 9, 2015 at 2:06 PM, Sagara Gunathunga <[email protected]> wrote: > > We are about to release G-Reg 5.0.0 M3 pack but found an issue when > releasing a milestone version. Let me take G-Reg as an example, G-Reg > 5.0.0-M3 version is depends on carbon-governance SNAPSHOT version and that > is a legitimate use as well ( As G-Reg 5.0.0-M3 version, we actually > release some of the completed features of carbon-governance/carbon-registry > repos.) but Maven release plug-in does not support to release any project > with SNAPSHOT dependencies [1] [4], so we have 2 options to solve this > issue. > > > > *1. ) Modify Maven release plug-in to allow SNAPSHOT dependencies.* > > Pros > --------- > - Fix is relatively straightforward, we just have to remove validation in > code and allow SNAPSHOT dependencies. > > - No change to release process. > > > Cons > --------- > - We have to fork and maintain Maven release plug-in locally and will lose > new changes from Apache. > > - If we consider G-Reg-5.0.0-M3 pack, technically it's a milestone version > not a snapshot version so as a principle 'creation process of the pack' > should be repeatable but if we allow SNAPSHOT dependencies inside product > packs 'creation process of the pack' is not repeatable. This is not > something standard, if we decided to go with this approach at least we > should not call them as milestone packs instead SNAPSHOT packs (like > nightly builds) e.g - G-Reg-5.0.0-SNAPSHOT-08-03-15 pack etc. > > > > > > > *2.) Instead of SNAPSHOT dependencies, first release own dependencies with > M-'X' (e.g - carbon-governance-4.4.0-M1 ) and then use these released > versions within the milestone product pack. * > > Example - G-Reg 5.0.0-M3 pack can have carbon-governance-4.4.0-M2 and > carbon-registry-4.3.2-M5 but NOT carbon-identity-4.3.1-M2 > > Pros > --------- > - Again relatively straightforward, we don't need to fork and maintain > Maven release plug-in. > > - AFAIK adding post-fix to distinguish Milestone, Alpha, Beta versions is > a standard practise [2] , [3] hence end users already aware not to use > milestone versions in production. > > > Cons > --------- > - There is a chance that other teams can use M-X packs in there milestone > releases, we need a proper governance and disciplines not to do that (e.g > - carbon-governance-4.4.0-M1 should be only use by G-Reg team within WSO2 > other than special permissions) > > > WDYT ? > > > > > [1] - > http://maven.apache.org/maven-release/maven-release-plugin/examples/prepare-release.html > > [2] - Spring releases - > http://repo1.maven.org/maven2/org/springframework/spring-core/ > > [3] - Hibernate releases - > http://repo1.maven.org/maven2/org/hibernate/hibernate-search/ > > [4] - When I tied for above, build was stopped with following error. > > [INFO] > ------------------------------------------------------------------------ > > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) > on project carbon-governance: Can't release project due to non released > dependencies : > > [ERROR] > org.wso2.carbon.registry:org.wso2.carbon.registry.admin.api:jar:4.3.1-SNAPSHOT:compile > > [ERROR] > org.wso2.carbon.registry:org.wso2.carbon.registry.common:jar:4.3.1-SNAPSHOT:compile > > [ERROR] > org.wso2.carbon.registry:org.wso2.carbon.registry.extensions:jar:4.3.1-SNAPSHOT:compile > > [ERROR] > org.wso2.carbon.registry:org.wso2.carbon.registry.indexing:jar:4.3.1-SNAPSHOT:compile > > [ERROR] in project 'WSO2 Carbon - Governance' > (org.wso2.carbon.governance:org.wso2.carbon.governance.api:bundle:4.3.1-SNAPSHOT) > > > > Thanks ! > -- > Sagara Gunathunga > > Senior Technical Lead; WSO2, Inc.; http://wso2.com > V.P Apache Web Services; http://ws.apache.org/ > Linkedin; http://www.linkedin.com/in/ssagara > Blog ; http://ssagara.blogspot.com > > -- Kasun Indrasiri Software Architect WSO2, Inc.; http://wso2.com lean.enterprise.middleware cell: +94 77 556 5206 Blog : http://kasunpanorama.blogspot.com/
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
