Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-7873

org.jacoco:org.jacoco.report:0.6.2.201302030002 produces OBR metadata which cannot be parsed by felix 4.4.1

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.11.1
    • Fix Version/s: 3.0.0-m3, 2.11.2
    • Component/s: OBR
    • Labels:
      None
    • Story Points:
      0.5
    • Sprint:
      Sprint 34

      Description

      Create a virtual OBR repository against the default central proxy repository in Nexus. Request this artifact through the central proxy:

      http://localhost:8081/nexus/content/repositories/central/org/jacoco/org.jacoco.report/0.6.2.201302030002/org.jacoco.report-0.6.2.201302030002.jar

      Now fire up felix 4.4.1 and add the virtual obr repository to it. This fails due to a missing trailing parenthesis in this declaration:

      (mandatory:<*bundle-version)): (&(package=org.jacoco.core)(bundle-version=[0.6.2,0.6.3))(mandatory:<*bundle-version))
      

      I don't know if this is because the artifact has invalid metadata, or if there is a bug in the obr.xml file generation.

      ____________________________
      Welcome to Apache Felix Gogo
      
      g! obr:repos add http://localhost:8081/nexus/content/shadows/obr-central/.meta/obr.xml
      java.lang.Exception: Error while parsing resource org.jacoco.report/0.6.2.201302030002 at line 30 and column 198
      	at org.apache.felix.bundlerepository.impl.PullParser.parseResource(PullParser.java:263)
      	at org.apache.felix.bundlerepository.impl.PullParser.parse(PullParser.java:160)
      	at org.apache.felix.bundlerepository.impl.PullParser.parseRepository(PullParser.java:60)
      	at org.apache.felix.bundlerepository.impl.DataModelHelperImpl.repository(DataModelHelperImpl.java:147)
      	at org.apache.felix.bundlerepository.impl.DataModelHelperImpl.repository(DataModelHelperImpl.java:118)
      	at org.apache.felix.bundlerepository.impl.RepositoryAdminImpl$1.run(RepositoryAdminImpl.java:115)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.apache.felix.bundlerepository.impl.RepositoryAdminImpl.addRepository(RepositoryAdminImpl.java:111)
      	at org.apache.felix.bundlerepository.impl.RepositoryAdminImpl.addRepository(RepositoryAdminImpl.java:99)
      	at org.apache.felix.bundlerepository.impl.RepositoryAdminImpl.addRepository(RepositoryAdminImpl.java:94)
      	at org.apache.felix.gogo.command.OBR.repos(OBR.java:102)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
      	at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
      	at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
      	at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
      	at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
      	at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92)
      	at org.apache.felix.gogo.shell.Console.run(Console.java:62)
      	at org.apache.felix.gogo.shell.Shell.console(Shell.java:203)
      	at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
      	at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
      	at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
      	at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
      	at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
      	at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92)
      	at org.apache.felix.gogo.shell.Activator.run(Activator.java:75)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException
      	at org.apache.felix.bundlerepository.impl.RequirementImpl.setFilter(RequirementImpl.java:101)
      	at org.apache.felix.bundlerepository.impl.PullParser.parseRequire(PullParser.java:351)
      	at org.apache.felix.bundlerepository.impl.PullParser.parseResource(PullParser.java:226)
      	... 39 more
      Caused by: org.osgi.framework.InvalidSyntaxException: Extraneous trailing characters: (mandatory:<*bundle-version)): (&(package=org.jacoco.core)(bundle-version=[0.6.2,0.6.3))(mandatory:<*bundle-version))
      	at org.apache.felix.utils.filter.FilterImpl$Parser.parse(FilterImpl.java:1180)
      	at org.apache.felix.utils.filter.FilterImpl.newInstance(FilterImpl.java:87)
      	at org.apache.felix.bundlerepository.impl.RequirementImpl.setFilter(RequirementImpl.java:97)
      	... 41 more
      

        Attachments

          Activity

            People

            Assignee:
            rseddon Rich Seddon
            Reporter:
            rseddon Rich Seddon
            Last Updated By:
            Peter Lynch Peter Lynch
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Date of First Response:

                tigCommentSecurity.panel-title