[ 
https://issues.apache.org/jira/browse/GERONIMO-5427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12924517#action_12924517
 ] 

Shawn Jiang commented on GERONIMO-5427:
---------------------------------------

We can't modified the org.osgi.framework.Version class because it comes from 
the OSGi spec.  From the javadoc[1], the third part of OSGI version must be a 
number.

{noformat}

public Version(java.lang.String version)

    Created a version identifier from the specified string.

    Here is the grammar for version strings.

     version ::= major('.'minor('.'micro('.'qualifier)?)?)?
     major ::= digit+
     minor ::= digit+
     micro ::= digit+
     qualifier ::= (alpha|digit|'_'|'-')+
     digit ::= [0..9]
     alpha ::= [a..zA..Z]
     

    There must be no whitespace in version.

    Parameters:
        version - String representation of the version identifier. 
    Throws:
        java.lang.IllegalArgumentException - If version is improperly formatted.
{noformat}


There's similar workaround in current Geronimo code.  



{code:title="org.apache.geronimo.aries.builder.ApplicationInstaller.getVersion(Version)"}
private static String getVersion(Version version) {
        String str = version.getMajor() + "." + version.getMinor() + "." + 
version.getMicro();
        String qualifier = version.getQualifier();
        if (qualifier != null && qualifier.trim().length() > 0) {
            str += "-" + version.getQualifier().trim();
        }
        return str;
    }
{code}




[1]http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Version.html#Version%28java.lang.String%29

> using a maven snapshot in a plugin causes the osgi-plugin to throw a NFE
> ------------------------------------------------------------------------
>
>                 Key: GERONIMO-5427
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-5427
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: buildsystem
>    Affects Versions: 3.0-M1
>            Reporter: Mark Struberg
>         Attachments: GERONIMO-5427.patch
>
>
> This is somehow related to GERONIMO-5392:
> It seems that a very similar thing also happens while building plugins which 
> reference to SNAPSHOT versions.
> While upgrading the plugins/myfaces to myfaces-2.0.1-SNAPSHOT locally and 
> trying to compile the plugin, I get the following Exception:
> java.lang.NumberFormatException: For input string: "1-SNAPSHOT"
>       at 
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
>       at java.lang.Integer.parseInt(Integer.java:458)
>       at java.lang.Integer.parseInt(Integer.java:499)
>       at org.osgi.framework.Version.<init>(Version.java:133)
>       at org.osgi.framework.Version.parseVersion(Version.java:218)
>       at 
> org.eclipse.osgi.service.resolver.VersionRange.<init>(VersionRange.java:92)
>       at 
> org.eclipse.osgi.internal.resolver.StateBuilder.getVersionRange(StateBuilder.java:532)
>       at 
> org.eclipse.osgi.internal.resolver.StateBuilder.createRequiredBundle(StateBuilder.java:217)
>       at 
> org.eclipse.osgi.internal.resolver.StateBuilder.createRequiredBundles(StateBuilder.java:210)
>       at 
> org.eclipse.osgi.internal.resolver.StateBuilder.createBundleDescription(StateBuilder.java:101)
>       at 
> org.eclipse.osgi.internal.resolver.StateObjectFactoryImpl.createBundleDescription(StateObjectFactoryImpl.java:32)
>       at 
> org.apache.geronimo.mavenplugins.osgi.utils.BundleResolver.addBundle(BundleResolver.java:173)
>       at 
> org.apache.geronimo.mavenplugins.osgi.utils.BundleResolver.addBundle(BundleResolver.java:129)
>       at 
> org.apache.geronimo.mavenplugins.osgi.utils.BundleResolver.addBundle(BundleResolver.java:119)
>       at 
> org.apache.geronimo.mavenplugins.osgi.VerifyManifestMojo.execute(VerifyManifestMojo.java:101)
>       at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to