[
https://issues.apache.org/jira/browse/RNG-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17838584#comment-17838584
]
Alex Herbert commented on RNG-186:
----------------------------------
The commons-rng-core module was using the header
x-friends:="org.apache.commons.rng.simple".
This is not a standard header but is reserved for the Eclipse Foundation, see
[OSGi Bundle Headers
Reference|https://docs.osgi.org/reference/bundle-headers.html]. I do not think
this is generally recognised to provide support for cross-module code usage of
code not intended for a public API.
For general support I believe we must export the other modules required by
commons-rng-simple.
I have pushed changes to master that update to the latest Commons Parent POM.
This uses the maven-bundle-plugin to generate OSGi header and module info file
when using a compiler supporting Java 9+. The snapshots should be available on
[https://repository.apache.org/content/repositories/snapshots/]. Please try
this to see if the change corrects the issue.
> Commons-RNG Simple imports package that Commons-RNG Core does not export
> ------------------------------------------------------------------------
>
> Key: RNG-186
> URL: https://issues.apache.org/jira/browse/RNG-186
> Project: Commons RNG
> Issue Type: Task
> Components: core, simple
> Affects Versions: 1.5
> Reporter: Richard Eckart de Castilho
> Priority: Major
>
> Commons RNG Simple imports the following packages:
> {noformat}
> Bundle-SymbolicName: org.apache.commons.rng.simple
> Implementation-Version: 1.5
> Import-Package:
> org.apache.commons.rng,org.apache.commons.rng.core,
> org.apache.commons.rng.core.source32,
> org.apache.commons.rng.core.source64,
> org.apache.commons.rng.core.util
> {noformat}
> However, Commons RNG Core does not export the source packages:
> {noformat}
> Bundle-SymbolicName: org.apache.commons.rng.core
> Implementation-Version: 1.5
> Export-Package:
>
> org.apache.commons.rng.core;x-friends:="org.apache.commons.rng.simple";version="1.5.0"
> Private-Package:
> org.apache.commons.rng.core.source32,
> org.apache.commons.rng.core.source64,
> org.apache.commons.rng.core.util
> {noformat}
> Consequently, using Commons RNG simple fails in an OSGi environment as the
> bundle cannot be resolved.
> {noformat}
> [ERROR] Resolution failed. Capabilities satisfying the following requirements
> could not be found:
> [<<INITIAL>>]
> ...
> ⇒ osgi.wiring.package:
> (&(osgi.wiring.package=org.apache.commons.rng.simple)(version>=1.5.0)(!(version>=2.0.0)))
> ⇒ [org.apache.commons.rng.simple version=1.5.0]
> ⇒ osgi.wiring.package:
> (osgi.wiring.package=org.apache.commons.rng.core.source32)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)