// Path: src/main/java/org/codehaus/mojo/buildhelper/versioning/DefaultVersioning.java
// public class DefaultVersioning
//     implements Versioning
// {
// 
//     private VersionInformation vi;
// 
//     private String version;
// 
//     public DefaultVersioning( String version )
//     {
//         this.version = version;
//         this.vi = new VersionInformation( version );
// 
//     }
// 
//     public String getVersion()
//     {
//         return this.version;
//     }
// 
//     @Override
//     public int getMajor()
//     {
//         return this.vi.getMajor();
//     }
// 
//     @Override
//     public int getMinor()
//     {
//         return this.vi.getMinor();
//     }
// 
//     @Override
//     public int getPatch()
//     {
//         return this.vi.getPatch();
//     }
// 
//     @Override
//     public String getAsOSGiVersion()
//     {
//         StringBuffer osgiVersion = new StringBuffer();
//         osgiVersion.append( this.getMajor() );
//         osgiVersion.append( "." + this.getMinor() );
//         osgiVersion.append( "." + this.getPatch() );
// 
//         if ( this.getQualifier() != null || this.getBuildNumber() != 0 )
//         {
//             osgiVersion.append( "." );
// 
//             if ( this.getBuildNumber() != 0 )
//             {
//                 osgiVersion.append( this.getBuildNumber() );
//             }
//             if ( this.getQualifier() != null )
//             {
//                 // Do not allow having "." in it cause it's not allowed in OSGi.
//                 String qualifier = this.getQualifier().replaceAll( "\\.", "_" );
//                 osgiVersion.append( qualifier );
//             }
//         }
// 
//         return osgiVersion.toString();
//     }
// 
//     @Override
//     public long getBuildNumber()
//     {
//         return this.vi.getBuildNumber();
//     }
// 
//     @Override
//     public String getQualifier()
//     {
//         return this.vi.getQualifier();
//     }
// 
// }


import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.codehaus.mojo.buildhelper.versioning.DefaultVersioning;
        parseVersion( versionString );
    }

    private void defineVersionProperty( String name, String value )
    {
        defineProperty( propertyPrefix + '.' + name, value );
    }

    private void defineFormattedVersionProperty( String name, String value )
    {
        defineProperty( formattedPropertyPrefix + '.' + name, value );
    }

    private void defineVersionProperty( String name, int value )
    {
        defineVersionProperty( name, Integer.toString( value ) );
    }

    private void defineVersionProperty( String name, long value )
    {
        defineVersionProperty( name, Long.toString( value ) );
    }

    /**
     * Parse a version String and add the components to a properties object.
     *
     * @param version the version to parse
     */
    public void parseVersion( String version )
    {
// Path: src/main/java/org/codehaus/mojo/buildhelper/versioning/DefaultVersioning.java
// public class DefaultVersioning
//     implements Versioning
// {
// 
//     private VersionInformation vi;
// 
//     private String version;
// 
//     public DefaultVersioning( String version )
//     {
//         this.version = version;
//         this.vi = new VersionInformation( version );
// 
//     }
// 
//     public String getVersion()
//     {
//         return this.version;
//     }
// 
//     @Override
//     public int getMajor()
//     {
//         return this.vi.getMajor();
//     }
// 
//     @Override
//     public int getMinor()
//     {
//         return this.vi.getMinor();
//     }
// 
//     @Override
//     public int getPatch()
//     {
//         return this.vi.getPatch();
//     }
// 
//     @Override
//     public String getAsOSGiVersion()
//     {
//         StringBuffer osgiVersion = new StringBuffer();
//         osgiVersion.append( this.getMajor() );
//         osgiVersion.append( "." + this.getMinor() );
//         osgiVersion.append( "." + this.getPatch() );
// 
//         if ( this.getQualifier() != null || this.getBuildNumber() != 0 )
//         {
//             osgiVersion.append( "." );
// 
//             if ( this.getBuildNumber() != 0 )
//             {
//                 osgiVersion.append( this.getBuildNumber() );
//             }
//             if ( this.getQualifier() != null )
//             {
//                 // Do not allow having "." in it cause it's not allowed in OSGi.
//                 String qualifier = this.getQualifier().replaceAll( "\\.", "_" );
//                 osgiVersion.append( qualifier );
//             }
//         }
// 
//         return osgiVersion.toString();
//     }
// 
//     @Override
//     public long getBuildNumber()
//     {
//         return this.vi.getBuildNumber();
//     }
// 
//     @Override
//     public String getQualifier()
//     {
//         return this.vi.getQualifier();
//     }
// 
// }


// Path: src/main/java/org/codehaus/mojo/buildhelper/ParseVersionMojo.java
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.codehaus.mojo.buildhelper.versioning.DefaultVersioning;

        parseVersion( versionString );
    }

    private void defineVersionProperty( String name, String value )
    {
        defineProperty( propertyPrefix + '.' + name, value );
    }

    private void defineFormattedVersionProperty( String name, String value )
    {
        defineProperty( formattedPropertyPrefix + '.' + name, value );
    }

    private void defineVersionProperty( String name, int value )
    {
        defineVersionProperty( name, Integer.toString( value ) );
    }

    private void defineVersionProperty( String name, long value )
    {
        defineVersionProperty( name, Long.toString( value ) );
    }

    /**
     * Parse a version String and add the components to a properties object.
     *
     * @param version the version to parse
     */
    public void parseVersion( String version )
    {
        DefaultVersioning artifactVersion = new DefaultVersioning( version );