And why are you using Tycho when there is no PDE involved? Martin Petzold <mpetz...@gmx.net> schrieb am Fr., 3. Jan. 2020, 15:05:
> Only Maven repositories. No PDE. Plain OSGi application with my own > launcher at runtime. At runtime there is no problem. This application is > running for years and I have worked with OSGi for years now. I just have > this trouble migrating to OSGi 7.0.0 and at compile / build time with > Maven+Tycho. > Am 03.01.20 um 15:02 schrieb Dirk Fauth: > > And do you get the error at build time or when running your result? > > With Tycho you typically use PDE mechanisms to resolve dependencies, not > maven dependencies. > > And what is your result? A plain OSGi application or a RCP application? > > Greez, > Dirk > > Dirk Fauth <dirk.fa...@gmail.com> schrieb am Fr., 3. Jan. 2020, 14:37: > >> Hi, >> >> If you are using Tycho, which repository are you using for dependency >> resolution? Or do you build using a target definition? If so, which eclipse >> software site have you configured? >> >> Greez, >> Dirk >> >> Martin Petzold via osgi-dev <osgi-dev@mail.osgi.org> schrieb am Fr., 3. >> Jan. 2020, 14:20: >> >>> Dear Neil, >>> >>> thanks, but now we start again at the beginning at my first message >>> (endless loop): I cannot set a dependency to "org.osgi:osgi.core" in Maven >>> (with Tycho) because it requires 'osgi.unresolvable; >>> (&(!(must.not.resolve=*))(must.not.resolve=*))'. >>> >>> Kind regards, >>> >>> Martin >>> Am 03.01.20 um 14:12 schrieb Neil Bartlett: >>> >>> >>> >>> On Fri, 3 Jan 2020 at 13:08, Martin Petzold via osgi-dev < >>> osgi-dev@mail.osgi.org> wrote: >>> >>>> Okay, thanks. This is clear now. >>>> >>>> However, Ray told me to set the dependency for "org.eclipse.osgi" to >>>> "runtime" scope. But how can my implementation then depend on >>>> "org.osgi.framework" package during compile time? Either there is a >>>> separate API bundle from OSGi Alliance containing "org.osgi.framework" >>>> (which one is it?) >>>> >>> >>> Yes, this is the org.osgi:osgi.core dependency. That contains the pure >>> api and no implementation, whereas org.eclipse.osgi is an implementation. >>> >>> Or you could just use org.eclipse.osgi at both compile time and runtime, >>> but then you should be careful to avoid using equinox internal packages. >>> >>> or I should set the scope to compile instead of runtime? >>>> >>>> I am using the BundleContext and need access to this package. >>>> >>>> Thanks and kind regards, >>>> >>>> Martin >>>> Am 03.01.20 um 10:51 schrieb Mark Hoffmann via osgi-dev: >>>> >>>> Hi Martin, >>>> >>>> see comments inline. >>>> >>>> Regards, >>>> >>>> Mark >>>> Am 02.01.20 um 19:19 schrieb Martin Petzold via osgi-dev: >>>> >>>> Thanks, Raymond! Does this also relate to "org.osgi:osgi.cmpn"? Should >>>> I remove this dependency too? Should I add "org.eclipse.osgi.services" or >>>> the individual "org.osgi.service.*" to my (parent) POM? Are the individual >>>> "org.osgi.service.*" also required at runtime (on classpath or installed to >>>> osgi?). Will "org.eclipse.osgi" start without "org.eclipse.osgi.services" >>>> on the classpath or installation as bundle? >>>> >>>> You have to distinguish between the packages you want to resolve and >>>> the artifacts/bundles that contain the the packages/implementations. >>>> >>>> In your case org.eclipse.osgi.services is the bundle that exports the >>>> packages org.osgi.service.* packages. >>>> >>>> Because Maven just resolves artifacts, you need to provide the bundle >>>> org.eclipse.osgi.services as dependency. >>>> >>>> Yes, org.eclipse.osgi will start without org.eclipse.osgi.services >>>> >>>> I have now added "org.eclipse.osgi.services". However, it now cannot >>>> requires "org.osgi.util.promise". What should I add to my POM in order to >>>> resolve the core Eclipse OSGi implementation (only OSGi core >>>> implementation)? >>>> >>>> You should find the promises and functions in the bundle >>>> org.eclipse.osgi.util >>>> >>>> btw I have removed the runtime scope for "org.eclipse.osgi". >>>> Am 02.01.20 um 19:00 schrieb Raymond Auge: >>>> >>>> A bit of rational about why companion jars are unresolvable: >>>> >>>> The OSGi specs are to a very high degree independent from each other. >>>> There's no reason for you to be forced to use all R5 specs, or all R6 or >>>> whatever. Those are simply marketing versions. >>>> >>>> What you are really using are the individual specs at a given version. >>>> >>>> For example using DS 1.4, Event 1.0, and logging 1.2 is perfectly fine >>>> combination given you can find providers of each that work together well. >>>> The APIs themselves won't care. >>>> >>>> However some providers actually package OSGi spec APIs which they >>>> provide implementations for, which means if you include the aggregate >>>> companion jars also at runtime you may have two API versions to contend >>>> with. >>>> >>>> You may inadvertently expose yourself to a wrong API version, hence why >>>> they will no longer resolve. >>>> >>>> - Ray >>>> >>>> On Thu, Jan 2, 2020 at 12:36 PM Raymond Auge <raymond.a...@liferay.com> >>>> wrote: >>>> >>>>> Yes and yes. >>>>> >>>>> OSGi started adding the unresolveable requirement at release 6 IIRC. >>>>> So if you are using a prior releases of the companion jars (including >>>>> cmpn, >>>>> enterprise) they won't give you this failure, so you should upgrade. >>>>> >>>>> *Replacements:* Replace the compendium APIs with their respective >>>>> individual api jars available on maven central, like this one [1]. >>>>> >>>>> [1] >>>>> https://search.maven.org/artifact/org.osgi/org.osgi.service.component.annotations/1.4.0/jar >>>>> >>>>> - Ray >>>>> >>>>> >>>>> On Thu, Jan 2, 2020 at 12:31 PM Martin Petzold <mpetz...@gmx.net> >>>>> wrote: >>>>> >>>>>> Thanks, Raymond! Does this also relate to "org.osgi:osgi.cmpn"? >>>>>> Should I remove this dependency too? >>>>>> Am 02.01.20 um 18:23 schrieb Raymond Auge: >>>>>> >>>>>> >>>>>> >>>>>> On Thu, Jan 2, 2020 at 12:17 PM Martin Petzold via osgi-dev < >>>>>> osgi-dev@mail.osgi.org> wrote: >>>>>> >>>>>>> Dear OSGi gurus, >>>>>>> I have a dependency on "org.osgi:osgi.core" (7.0.0) in my POM. The >>>>>>> reason is that I need access to the "org.osgi.framework" package. I am >>>>>>> using Maven (3.6) and Tycho (1.5.1) for building. The build platform >>>>>>> runs >>>>>>> Debian 10 and Java 11. >>>>>>> >>>>>>> *I get the following error:* >>>>>>> >>>>>>> Missing requirement: osgi.core 7.0.0.201802012106 requires >>>>>>> 'osgi.unresolvable; (&(!(must.not.resolve=*))(must.not.resolve=*))' but >>>>>>> it >>>>>>> could not be found >>>>>>> >>>>>> >>>>>> The "companion jars" are not meant for runtime and since resolving is >>>>>> a runtime operation (even when performed during build, i.e. deployment >>>>>> purposes) should not be included. >>>>>> >>>>>> >>>>>>> *However, if I remove the dependency I get the following error:* >>>>>>> Missing requirement: my.bundle 0.0.0.qualifier requires >>>>>>> 'java.package; org.osgi.framework 1.7.0' but it could not be found >>>>>>> >>>>>> >>>>>> This means you have no runtime framework available! Add a runtime >>>>>> dependency on the equinox framework: >>>>>> >>>>>> <dependency> >>>>>> <groupId>org.eclipse.platform</groupId> >>>>>> <artifactId>org.eclipse.osgi</artifactId> >>>>>> <version>3.x.0</version> >>>>>> <scope>runtime</scope> >>>>>> </dependency> >>>>>> // of course use tycho mechanism for above. >>>>>> >>>>>> >>>>>>> *What is going wrong? How can I resolve this problem?* >>>>>>> >>>>>>> Stack Overflow: >>>>>>> https://stackoverflow.com/questions/59563368/maven-tycho-cannot-resolve-osgi-core-bundle >>>>>>> >>>>>> I'll answer there in a moment. >>>>>> >>>>>> - Ray >>>>>> >>>>>> >>>>>>> Thanks and kind regards, >>>>>>> >>>>>>> Martin >>>>>>> _______________________________________________ >>>>>>> OSGi Developer Mail List >>>>>>> osgi-dev@mail.osgi.org >>>>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile> >>>>>> (@rotty3000) >>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com> >>>>>> (@Liferay) >>>>>> >>>>>> >>>>> >>>>> -- >>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile> >>>>> (@rotty3000) >>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com> >>>>> (@Liferay) >>>>> >>>> >>>> >>>> -- >>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile> >>>> (@rotty3000) >>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com> >>>> (@Liferay) >>>> >>>> >>>> _______________________________________________ >>>> OSGi Developer Mail >>>> listosgi-...@mail.osgi.orghttps://mail.osgi.org/mailman/listinfo/osgi-dev >>>> >>>> -- >>>> Mark Hoffmann >>>> M.A. Dipl.-Betriebswirt (FH) >>>> CEO/CTO >>>> >>>> Phone: +49 3641 384 910 0 >>>> Mobile: +49 175 701 2201 >>>> E-Mail: m.hoffm...@data-in-motion.biz >>>> Web: www.datainmotion.de >>>> >>>> Data In Motion Consulting GmbHKahlaische Strasse 4 >>>> 07745 Jena >>>> Germany >>>> <https://www.google.com/maps/search/Kahlaische+Strasse+4%0D%0A07745+Jena%0D%0AGermany?entry=gmail&source=g> >>>> >>>> Geschäftsführer/CEO >>>> Mark Hoffmann >>>> Jürgen Albert >>>> >>>> Jena HRB 513025 >>>> Steuernummer 162/107/05779 >>>> USt-Id DE310002614 >>>> >>>> >>>> _______________________________________________ >>>> OSGi Developer Mail >>>> listosgi-...@mail.osgi.orghttps://mail.osgi.org/mailman/listinfo/osgi-dev >>>> >>>> _______________________________________________ >>>> OSGi Developer Mail List >>>> osgi-dev@mail.osgi.org >>>> https://mail.osgi.org/mailman/listinfo/osgi-dev >>> >>> _______________________________________________ >>> OSGi Developer Mail List >>> osgi-dev@mail.osgi.org >>> https://mail.osgi.org/mailman/listinfo/osgi-dev >> >>
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev