On Tue, Mar 10, 2015 at 5:12 PM, Selvaratnam Uthaiyashankar < [email protected]> wrote:
> Why do we have to use the release plugin for the milestone releases? I > don't think it is correct to use the release plugin for milestone release. > Maven release plugin was already used by some other teams during milestone releases and I also under impression that we should use release plugin for all releases. If we are not suppose to use release plugin, shall we agree on following procedure. 1. Create a tag in product repo. 2. Create tags in SNAPSHOT dependency repos. 3. RM locally build the pack, test and release. Thanks ! > > We chat yesterday, but I didn't realize we talked about Maven release > plugin. It shouldn't be forked. > > @Kasun, it is similar to ESB depends on carbon-mediation. It is developed > and maintained by same team. It is valid to depend on SNAPSHOT for a > milestone release. However, you can't depend on SNAPSHOT components > developed by some other team (again, there are exceptions, but team has to > justify that). For example, ESB can't depend on corbon-governance SNAPSHOT. > > > On Tue, Mar 10, 2015 at 8:10 AM, Sagara Gunathunga <[email protected]> > wrote: > >> >> >> >> On Tue, Mar 10, 2015 at 12:34 AM, Kasun Indrasiri <[email protected]> wrote: >> >>> 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. >>> >> >> If I reiterate the problem, ATM carbon-governance/carbon-registry are >> stable in terms of set of completed features but not yet production ready >> as whole hence IMHO we should avoid proper release numbers (e.g >> carbon-registry-4.3.2 >> ) for something not yet production ready, we should use either post-fix >> like SNAPSHOT or M2, M3 etc. >> >> If we just use proper release numbers for milestone versions it will >> make disaster for end users (both internal and external) because they can't >> simply find which version is production ready and which one is not yet >> ready, usually users tend to use latest available version but with this >> approach there is a high chance that latest one is not production ready. >> BTW some of the popular project like Spring[1] use set of post-fix so that >> end users can easily distinguish GA, Alpha, Beta, M-X versions. >> >> [1] - http://repo1.maven.org/maven2/org/springframework/spring-core/ >> >> Thanks ! >> >>> >>> 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/ >>> >> >> >> >> -- >> 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 >> >> > > > -- > S.Uthaiyashankar > VP Engineering > WSO2 Inc. > http://wso2.com/ - "lean . enterprise . middleware" > > Phone: +94 714897591 > -- 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
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
