Please do. I agree that we should probably do our best to just skip invalid artifacts and not refuse to generate the OBR index altogether. The code we use for that is Bindex, originally supplied by the OSGi Alliance, but we made a copy so if need be we can make such adjustments.
Greetings, Marcel PS: could you also file a bug report in the Vaadin community about this, or is this already solved in a newer version they have published? On 17 Sep 2014, at 18:16 pm, Bulu <[email protected]> wrote: > Actually, I found the guilty jar: it's com.vaadin.shared.deps:1.0.3 > (I got it from > http://mvnrepository.com/artifact/com.vaadin/vaadin-shared-deps/1.0.3) > > This jar contains in the manifest: > (...)Export-Package: com.google.gwt.thirdparty.guava;version="15.0.rebased" > (...) > > which is obviously an invalid OSGi Version String, so the jar is malformed. > Nonetheless it shouldn't disable the whole ACE OBR server. Should I file a > bug? > > Regards Philipp > > On 17.09.2014 18:08, Bulu wrote: >> Dear all >> >> I'm just starting with BndTools and its ACE repository plugin to update my >> test allinone ACE server. >> >> While transferring things to the ACE repo, at some point I got an exception >> (see below), and now the repo will not accept anymore addition to the repo. >> It complains about a non-standard version string, but this is not in the >> repository.xml in the store (I checked). Is this a problem in the OBR or in >> the ACE server code? >> >> Thanks Philipp >> >> >> >> Error in /home/virtual/ACE/apache-ace-2.0.1-bin/server-allinone/store : >> invalid version "15.0.rebased": non-numeric "rebased" >> java.lang.IllegalArgumentException: invalid version "15.0.rebased": >> non-numeric "rebased" >> at org.osgi.framework.Version.parseInt(Version.java:170) >> at org.osgi.framework.Version.<init>(Version.java:134) >> at >> org.osgi.impl.bundle.obr.resource.VersionRange.<init>(VersionRange.java:52) >> at >> org.osgi.impl.bundle.obr.resource.ManifestEntry.addParameter(ManifestEntry.java:97) >> at >> org.osgi.impl.bundle.obr.resource.Manifest.getEntries(Manifest.java:215) >> at org.osgi.impl.bundle.obr.resource.Manifest.entry(Manifest.java:130) >> at org.osgi.impl.bundle.obr.resource.Manifest.parse(Manifest.java:78) >> at org.osgi.impl.bundle.obr.resource.Manifest.<init>(Manifest.java:46) >> at org.osgi.impl.bundle.obr.resource.BundleInfo.<init>(BundleInfo.java:63) >> at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:200) >> at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191) >> at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191) >> at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191) >> at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191) >> at org.osgi.impl.bundle.bindex.Index.main(Index.java:114) >> at >> org.apache.ace.obr.metadata.bindex.BIndexMetadataGenerator.generateMetadata(BIndexMetadataGenerator.java:45) >> at >> org.apache.ace.obr.storage.file.BundleFileStore.synchronizeMetadata(BundleFileStore.java:73) >> at >> org.apache.ace.obr.storage.file.BundleFileStore.start(BundleFileStore.java:209) >> 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.dm.InvocationUtil.invokeMethod(InvocationUtil.java:111) >> at >> org.apache.felix.dm.InvocationUtil.invokeCallbackMethod(InvocationUtil.java:66) >> at >> org.apache.felix.dm.impl.ComponentImpl.invokeCallbackMethod(ComponentImpl.java:688) >> at org.apache.felix.dm.impl.ComponentImpl.invoke(ComponentImpl.java:679) >> at >> org.apache.felix.dm.impl.ComponentImpl.bindService(ComponentImpl.java:624) >> at >> org.apache.felix.dm.impl.ComponentImpl.access$400(ComponentImpl.java:52) >> at org.apache.felix.dm.impl.ComponentImpl$7.run(ComponentImpl.java:181) >> at org.apache.felix.dm.impl.SerialExecutor$1.run(SerialExecutor.java:47) >> at >> org.apache.felix.dm.impl.SerialExecutor.scheduleNext(SerialExecutor.java:84) >> at >> org.apache.felix.dm.impl.SerialExecutor.access$000(SerialExecutor.java:33) >> at org.apache.felix.dm.impl.SerialExecutor$1.run(SerialExecutor.java:50) >> at >> org.apache.felix.dm.impl.SerialExecutor.scheduleNext(SerialExecutor.java:84) >> at org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:68) >> at >> org.apache.felix.dm.impl.ComponentImpl.calculateStateChanges(ComponentImpl.java:231) >> at >> org.apache.felix.dm.impl.ComponentImpl.dependencyAvailable(ComponentImpl.java:358) >> at >> org.apache.felix.dm.impl.dependencies.ConfigurationDependencyImpl.updated(ConfigurationDependencyImpl.java:206) >> at >> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:148) >> at >> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:81) >> at >> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1448) >> at >> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1404) >> at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: java.lang.NumberFormatException: For input string: "rebased" >> at >> java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) >> at java.lang.Integer.parseInt(Integer.java:492) >> at java.lang.Integer.parseInt(Integer.java:527) >> at org.osgi.framework.Version.parseInt(Version.java:168) >> ... 43 more >> >
