[ 
https://issues.apache.org/jira/browse/NETBEANS-5613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17330180#comment-17330180
 ] 

Svatopluk Dedic commented on NETBEANS-5613:
-------------------------------------------

I put the work-in-progress changes here: 

[https://github.com/apache/netbeans/compare/master...sdedic:sdedic/osgi-classpath-wip]

 

> Support for OSGi modules on Classpath (tests primarily)
> -------------------------------------------------------
>
>                 Key: NETBEANS-5613
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-5613
>             Project: NetBeans
>          Issue Type: Improvement
>          Components: platform - Module System
>            Reporter: Svatopluk Dedic
>            Assignee: Jaroslav Tulach
>            Priority: Major
>
> Tests compose their execution environment on the classpath; if module system 
> is triggered (i.e. by a Lookup for Module or ModuleInfo, core loads happily 
> NB modules from the classpath. But does not load OSGi modules.
> Subsequently, NB modules that depends on those won't be 'initialized' 
> although they are well part of <testdependencies> and their code can be 
> actually executed. 
> Modules tha are OSGi in the current distribution are:
>  
> {code:java}
> Bundle-SymbolicName: com.fasterxml.jackson.core.jackson-annotations
> Bundle-SymbolicName: com.fasterxml.jackson.core.jackson-core
> Bundle-SymbolicName: com.fasterxml.jackson.core.jackson-databind
> Bundle-SymbolicName: com.fasterxml.jackson.dataformat.jackson-dataformat
> Bundle-SymbolicName: com.googlecode.javaewah.JavaEWAH
> Bundle-SymbolicName: com.google.guava
> Bundle-SymbolicName: com.jcraft.jzlib
> Bundle-SymbolicName: com.sun.jersey.core
> Bundle-SymbolicName: com.sun.jna
> Bundle-SymbolicName: com.sun.jna.platform
> Bundle-SymbolicName: groovy
> Bundle-SymbolicName: groovy-ant
> Bundle-SymbolicName: javax.annotation-api
> Bundle-SymbolicName: javax.servlet-api
> Bundle-SymbolicName: javax.servlet.jsp.jstl-api
> Bundle-SymbolicName: javax.validation.api
> Bundle-SymbolicName: javax.ws.rs-api
> Bundle-SymbolicName: javax.xml
> Bundle-SymbolicName: javax.xml.soap-api
> Bundle-SymbolicName: jaxb-api
> Bundle-SymbolicName: jaxb-api
> Bundle-SymbolicName: joda-time
> Bundle-SymbolicName: junit-jupiter-api
> Bundle-SymbolicName: junit-jupiter-engine
> Bundle-SymbolicName: junit-jupiter-params
> Bundle-SymbolicName: net.java.html
> Bundle-SymbolicName: net.java.html.boot
> Bundle-SymbolicName: net.java.html.boot.fx
> Bundle-SymbolicName: net.java.html.boot.script
> Bundle-SymbolicName: net.java.html.geo
> Bundle-SymbolicName: net.java.html.json
> Bundle-SymbolicName: net.java.html.sound
> Bundle-SymbolicName: org.apache.commons.beanutils
> Bundle-SymbolicName: org.apache.commons.chain
> Bundle-SymbolicName: org.apache.commons.codec
> Bundle-SymbolicName: org.apache.commons.commons-fileupload
> Bundle-SymbolicName: org.apache.commons.io
> Bundle-SymbolicName: org.apache.commons.logging
> Bundle-SymbolicName: org.apache.felix.main
> Bundle-SymbolicName: org.apache.xmlrpc
> Bundle-SymbolicName: org.eclipse.core.jobs; singleton:=true
> Bundle-SymbolicName: org.eclipse.core.runtime.compatibility.auth
> Bundle-SymbolicName: org.eclipse.core.runtime; singleton:=true
> Bundle-SymbolicName: org.eclipse.equinox.common; singleton:=true
> Bundle-SymbolicName: org.eclipse.equinox.registry;singleton:=true
> Bundle-SymbolicName: org.eclipse.equinox.security;singleton:=true
> Bundle-SymbolicName: org.eclipse.mylyn.bugzilla.core;singleton:=true
> Bundle-SymbolicName: org.eclipse.mylyn.tasks.core;singleton:=true
> Bundle-SymbolicName: org.eclipse.mylyn.wikitext.confluence.core;single
> Bundle-SymbolicName: org.eclipse.mylyn.wikitext.markdown.core;singleto
> Bundle-SymbolicName: org.eclipse.osgi; singleton:=true
> Bundle-SymbolicName: org.glassfish.hk2.api
> Bundle-SymbolicName: org.glassfish.hk2.external.asm-all-repackaged
> Bundle-SymbolicName: org.glassfish.hk2.external.cglib
> Bundle-SymbolicName: org.glassfish.hk2.external.javax.inject
> Bundle-SymbolicName: org.glassfish.hk2.locator
> Bundle-SymbolicName: org.glassfish.hk2.osgi-resource-locator
> Bundle-SymbolicName: org.glassfish.hk2.utils
> Bundle-SymbolicName: org.glassfish.javax.el
> Bundle-SymbolicName: org.glassfish.javax.faces
> Bundle-SymbolicName: org.glassfish.jersey.containers.jersey-container-se
> Bundle-SymbolicName: org.glassfish.jersey.core.jersey-client
> Bundle-SymbolicName: org.glassfish.jersey.core.jersey-common
> Bundle-SymbolicName: org.glassfish.jersey.core.jersey-server
> Bundle-SymbolicName: org.glassfish.jersey.ext.jersey-entity-filtering
> Bundle-SymbolicName: org.glassfish.jersey.media.jersey-media-moxy
> Bundle-SymbolicName: org.glassfish.web.javax.servlet.jsp.jstl
> Bundle-SymbolicName: org.json
> Bundle-SymbolicName: org.netbeans.html.ko4j
> Bundle-SymbolicName: org.netbeans.html.xhr4j
> Bundle-SymbolicName: org.primefaces
> Bundle-SymbolicName: osgi.cmpn
> Bundle-SymbolicName: osgi.core
> Bundle-SymbolicName: slf4j.jdk14
> Bundle-SymbolicName: software.amazon.ion.java
> Bundle-SymbolicName: testng
> {code}
> And some others. 
> Tests that eventually use those modules on classpath must either use 
> NbModuleSuite, or will eventually fail to initialize the module system 
> properly, even though the running code can actually use the module's classes.
> Most notably, there're *asm-8.0*.jar*, which is used at boostrap and are 
> included by *org.netbeans.lib.asm* NetBeans module wrapper, although the JARs 
> themselves are OSGi modules. This complicates classpath construction as in 
> the module system tends to include both distribution (platform/core/asm*.jar) 
> as well as the original binaries (libs.asm/external/asm*.jar) that leads to 
> duplicate Bundle errors.
> Not sure about impact of this feature to tests: virtually any test that uses 
> OSGi on its classpath would then require inclusion of Felix or Netbinox to 
> provide an OSGi container.
> // [~jtulach] please evaluate
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to