geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shawn Jiang (JIRA)" <j...@apache.org>
Subject [jira] Commented: (GERONIMO-5427) using a maven snapshot in a plugin causes the osgi-plugin to throw a NFE
Date Mon, 25 Oct 2010 10:03:19 GMT

    [ 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.


Mime
View raw message