felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Meschberger <fmesc...@adobe.com>
Subject Re: Trying to include classes from a non-bundle dependency
Date Mon, 05 Dec 2016 07:16:46 GMT
Hi

You might want to use the Embed-Dependency [1] instruction to make sure the openal library
is embeded into your bundle.

Regards
Felix

[1] http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html#embedding-dependencies

Am 04.12.2016 um 23:01 schrieb list+org.apache.felix@io7m.com<mailto:list+org.apache.felix@io7m.com>:

Hello.

I have the following project that attempts to produce OSGi bundles from
the distributed LWJGL artifacts:

 https://github.com/io7m/org.lwjgl

Unfortunately, the opengl and openal modules are failing to include
classes and I can't work out why.

The pom correctly includes the native libraries and places them in the
output jar in the place that OSGi runtimes expect to see them, but it
doesn't include any classes even though the classes are on the
classpath and I've specified that I want the package they're in to be
exported:

 https://github.com/io7m/org.lwjgl/blob/develop/org.lwjgl.openal/pom.xml

At packaging time, Maven says:

[INFO] --- maven-bundle-plugin:3.2.0:bundle (default-bundle) @ org.lwjgl ---
[WARNING] Bundle com.io7m.bundles:org.lwjgl:bundle:3.1.0 : Unused Export-Package instructions:
[org.lwjgl.*]

... which is demonstrably false:

$ unzip -l ~/.m2/repository/org/lwjgl/lwjgl-openal/3.1.0/lwjgl-openal-3.1.0.jar
Archive:  /home/someone/.m2/repository/org/lwjgl/lwjgl-openal/3.1.0/lwjgl-openal-3.1.0.jar
 Length      Date    Time    Name
---------  ---------- -----   ----
       0  2016-10-30 18:55   META-INF/
     347  2016-10-30 18:55   META-INF/MANIFEST.MF
      42  2016-10-30 18:55   OpenAL.dll.sha1
      42  2016-10-30 18:55   OpenAL32.dll.sha1
      42  2016-10-30 18:55   libopenal.dylib.sha1
      42  2016-10-30 18:55   libopenal.so.sha1
       0  2016-10-30 18:08   org/
       0  2016-10-30 18:09   org/lwjgl/
       0  2016-10-30 18:09   org/lwjgl/openal/
    1427  2016-10-30 18:09   org/lwjgl/openal/AL$1.class
     301  2016-10-30 18:09   org/lwjgl/openal/AL$CapabilitiesState.class
     889  2016-10-30 18:09   org/lwjgl/openal/AL$StaticCapabilitiesState$WriteOnce.class
    2454  2016-10-30 18:09   org/lwjgl/openal/AL$StaticCapabilitiesState.class
    1051  2016-10-30 18:09   org/lwjgl/openal/AL$TLCapabilitiesState.class
    6272  2016-10-30 18:09   org/lwjgl/openal/AL.class
...

The plugin execution *is* definitely being executed because the produced
bundle contains the binaries I unpacked:

$ unzip -l org.lwjgl.openal/target/org.lwjgl.openal-3.1.0.jar
Archive:  org.lwjgl.openal/target/org.lwjgl.openal-3.1.0.jar
 Length      Date    Time    Name
---------  ---------- -----   ----
    1095  2016-12-04 21:57   META-INF/MANIFEST.MF
       0  2016-12-04 21:57   META-INF/
       0  2016-12-04 21:57   META-INF/maven/
       0  2016-12-04 21:57   META-INF/maven/com.io7m.bundles/
       0  2016-12-04 21:57   META-INF/maven/com.io7m.bundles/org.lwjgl.openal/
     141  2016-12-04 21:57   META-INF/maven/com.io7m.bundles/org.lwjgl.openal/pom.properties
    6525  2016-12-04 21:48   META-INF/maven/com.io7m.bundles/org.lwjgl.openal/pom.xml
       0  2016-12-04 21:57   natives/
       0  2016-12-04 21:57   natives/linux/
       0  2016-12-04 21:57   natives/linux/x86_64/
  635048  2016-10-24 17:52   natives/linux/x86_64/libopenal.so
       0  2016-12-04 21:57   natives/osx/
       0  2016-12-04 21:57   natives/osx/x86_64/
  576828  2016-10-24 18:19   natives/osx/x86_64/libopenal.dylib
       0  2016-12-04 21:57   natives/windows/
       0  2016-12-04 21:57   natives/windows/x86/
  683008  2016-10-24 17:53   natives/windows/x86/OpenAL32.dll
       0  2016-12-04 21:57   natives/windows/x86_64/
  785920  2016-10-24 17:52   natives/windows/x86_64/OpenAL.dll

How can I get the plugin to work correctly?

M


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message