[ 
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)

Reply via email to