Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Tobias Roeser
@lefou
Domino 1.1.0 is release for Scala 2.10 and 2.11! https://github.com/domino-osgi/domino#domino-110---2015-05-28
Richard Gomes
@frgomes
anyone here?
Tobias Roeser
@lefou
@frgomes Hi
Richard Gomes
@frgomes
Hello @lefou. Thanks a lot for your considerations about the issue I've reported on bndtools. Yes, the build complains but it produces a .jar which works fine. But I would like to have a build process which passes either way, since it could make Jenkins unhappy, for example. Yeah... not a big issue at the moment, but still an opportunity to know bnd more than I know now (which is near zero).
Richard Gomes
@frgomes
To be hones, I'm not really interested on all sorts of nuances involving OSGi. The current features offered by Domino at the moment seems to be plenty enough to attend my needs. I like the DSL offered by Domino. So, I would like to focus on my application instead of having distractions with OSGi nuances. On the other hand, I need a build process which passes without any issues.
Tobias Roeser
@lefou
@frgomes Unfortunately, I haven't identified the issue yet. But I guess, it is not bnd but sbt-osgi or your concrete setup.
Richard Gomes
@frgomes
@lefou : sbt-osgi is pretty simple, just something which passes strings from the user's build.sbt to bnd. So, I guess the issue is in my build.sbt. But i have pretty scarse knowledge on bnd. @bjhargrave mentioned that "-buildpath" is probably needed, which @pkriens agrees. But my request for more clarification was forgotten along the way.
Tobias Roeser
@lefou
My assumption is, that bnd-osgi sets the bnd buildpath to the project dependencies
Tobias Roeser
@lefou
So, it's actually the compile classpath
So, why nobody replied to your issue: sbt/sbt-osgi#29 ? Maybe, you should provide more information like the example project and a more complete output.
Sorry, you already gave the link to the project
Richard Gomes
@frgomes
@lefou : Yes, I had seen before the code you pointed out. And it's not clear to me why the fullClasspath known by SBT is not enough, or apparently not enough.

Below you can see the MANIFEST.MF which makes a reference to Domino. Do you see anything wrong with it? Where I should specify the -classpath ? Thanks :)

Manifest-Version: 1.0
Bnd-LastModified: 1438863932801
Bundle-Activator: moduleB.internal.MyDominoActivator
Bundle-Description: moduleB
Bundle-ManifestVersion: 2
Bundle-Name: moduleB
Bundle-SymbolicName: com.github.frgomes.domino.moduleb
Bundle-Vendor: com.github.frgomes.domino
Bundle-Version: 0.1.0.SNAPSHOT
Created-By: 1.8.0_45 (Oracle Corporation)
Export-Package: moduleB.api;version="0.1.0.SNAPSHOT"
Import-Package: domino;version="[1.1,2)",scala;version="[2.11,3)",scala.
reflect;version="[2.11,3)",scala.runtime;version="[2.11,3)",sun.misc;re
solution:=optional
Private-Package: moduleB.internal
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-2.4.0.201411031534

Tobias Roeser
@lefou
Specifying -classpath in the bnd file is an alternative to specifying it via it's API, e.g. when run as standalone tool. So, it should not be necessary at all. Also, the fact that there is a proper version range for dominopackage in Import-Package is an evidence that the domino jar is seen by sbt-osgi.
So, it could be a missing scala library in the classpath.
I don't know sbt internals, but could it be, that the scala library is somehow always present and thus never be part of the dependencies?
Can you provide the full transitive classpath?
Richard Gomes
@frgomes
These are the dependencies of moduleB (the one which is related to the MANIFEST.MF I've shown before):
[info] com.github.frgomes.domino:moduleb_2.11:0.1-SNAPSHOT [S]
[info] +-ch.qos.logback:logback-classic:1.1.3
[info] | +-ch.qos.logback:logback-core:1.1.3
[info] | +-org.slf4j:slf4j-api:1.7.7
[info] |
[info] +-com.github.domino-osgi:domino_2.11:1.1.0 [S]
[info] | +-org.osgi:org.osgi.compendium:4.3.0
[info] | +-org.osgi:org.osgi.core:4.3.0
[info] | +-org.scala-lang:scala-reflect:2.11.6 [S]
[info] |
[info] +-com.typesafe.scala-logging:scala-logging_2.11:3.1.0 [S]
[info] | +-org.scala-lang:scala-reflect:2.11.1 (evicted by: 2.11.6)
[info] | +-org.scala-lang:scala-reflect:2.11.6 [S]
[info] | +-org.slf4j:slf4j-api:1.7.7
[info] |
[info] +-org.ops4j.pax.logging:pax-logging-api:1.8.3
[info] +-org.osgi:org.osgi.compendium:4.3.0
[info] +-org.osgi:org.osgi.core:4.3.0
[info] +-org.slf4j:log4j-over-slf4j:1.7.7
[info] | +-org.slf4j:slf4j-api:1.7.7
[info] |
[info] +-org.slf4j:slf4j-api:1.7.7
Tobias Roeser
@lefou
Sync to Maven central might take some hours, though.
Richard Gomes
@frgomes
@lefou: I'm very busy these days. I will try to test it again over the weekend. Thanks
Tobias Roeser
@lefou
@frgomes: bnd 3.2 is not released yet, so you have to use a current snapshot.
Andy
@Andy__William_twitter
Hello, is this the room to discuss osgi?
Andy
@Andy__William_twitter
I'm just getting started with OSGI development and am struggling to understand how to export third party jars.
Say I write:
Bundle-ClassPath: ., lib/opentracing-api-0.21.0.jar
Export-Package: io.opentracing
I get an error: Package 'io.opentracing' does not exist in this plug-in
I suppose exporting "io.opentracing" is possible because opentracing-api-0.21.0.jar contains it
Any clues?
Tobias Roeser
@lefou
@Andy__William_twitter Hello, this room is about domino, a Scala DSL for using OSGi features
To your problem. Don't know what tooling you're using, but what you expect sound reasonable. You should check that the built bundle really contains the opentracing jar under lib.
Tobias Roeser
@lefou
Just to let you know. I started to port some of the Scala DSL to Java. It is just what is needed for a customer project and not complete. Feel free to contribute.
Of course, there is also a gitter channel: https://gitter.im/domino-osgi/domino-java