You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by li...@io7m.com on 2016/12/04 22:01:18 UTC
Trying to include classes from a non-bundle dependency
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
Re: Trying to include classes from a non-bundle dependency
Posted by li...@io7m.com.
On 2016-12-05T07:16:46 +0000
Felix Meschberger <fm...@adobe.com> wrote:
> Hi
>
> You might want to use the Embed-Dependency [1] instruction to make sure the openal library is embeded into your bundle.
>
Thanks, will try it now.
M
Re: Trying to include classes from a non-bundle dependency
Posted by Felix Meschberger <fm...@adobe.com>.
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<ma...@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