[ 
http://jira.codehaus.org/browse/MRELEASE-596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prashant  Bhate updated MRELEASE-596:
-------------------------------------

    Attachment: DefaultVersionInfo.java

Attaching DefaultVersionInfo.java FYA

> Enhance DefaultVersionInfo  getNextVersion to increment version at specified 
> index
> ----------------------------------------------------------------------------------
>
>                 Key: MRELEASE-596
>                 URL: http://jira.codehaus.org/browse/MRELEASE-596
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>            Reporter: Prashant  Bhate
>         Attachments: DefaultVersionInfo.java, DefaultVersionInfoTest.java
>
>
> Current DefaultVersionInfo always increment either annotationRevision if 
> available or least version from digits. say if 1.2.3 would be incremented to 
> 1.2.4 always.
> I am currently implementing fix for 
> http://jira.codehaus.org/browse/MVERSIONS-124 which requires NextVersion with 
> version incremented at specified index. 
> Hence it would be good to include another method shown below that will 
> increment  annotationRevision  if parameter index is -ve. Otherwise it would 
> roll the digit at specified index and reset rest of the digits 
> {code}
>       /**
>        * Increment version at specified index. While incrementing digits set
>        * remaining segments to zero.
>        * 
>        * @param index
>        *            If -ve increment annotationRevision else increment digits 
> at
>        *            index and reset remaining to 0.
>        * @return new instance of version info
>        */
>       public VersionInfo getNextVersion(int index) {
>               DefaultVersionInfo version = null;
>               if (digits != null) {
>                       List digits = new ArrayList(this.digits);
>                       String annotationRevision = this.annotationRevision;
>                       if (index < 0) {
>                               if (StringUtils.isNumeric(annotationRevision)) {
>                                       annotationRevision = 
> incrementVersionString(annotationRevision);
>                               }
>                       } else if (index < digits.size()) {
>                               int next = index;
>                               digits.set(next, 
> incrementVersionString((String) digits
>                                               .get(next)));
>                               for (int i = next + 1; i < digits.size(); i++) {
>                                       digits.set(i, "0");
>                               }
>                       }
>                       version = new DefaultVersionInfo(digits, annotation,
>                                       annotationRevision, buildSpecifier, 
> annotationSeparator,
>                                       annotationRevSeparator, buildSeparator);
>               }
>               return version;
>       }
> {code}    
> Request some one to validate this and schedule this for checkin if possible
> Regards,
> Prashant

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to