NetBeans Platform Wrapper Repository
The NetBeans Platform Wapper Repository (NB PoWeR) is an experimental approach to creare a Maven repository of NBM wrapper modules for some commonly used open source libraries. The idea is to have artifacts that are ready to be included in a custom platform by just declaring their dependencies in a Maven pom.
The project is still experimental but is now open to third parties' contributions The idea is to move through this sequence of phases:
- The project has been initiated by Fabrizio Giudici, who's got a number of Platform based projects. In Phase One, all the existing wrappers from these projects have been moved to NB PoWeR. For the sake of continuity, the currently used version were imported (they were not necessarily the most recent version of each library) and existing incongruousness in the naming schemata were not corrected. This first phase was performed mostly manually terminated when all the required wrappers were imported and the applications that use them worked correctly.
- In Phase Two, a review of name schemata and other related issues is being performed, probably with the intervention of other people. A number of issues about the effective capability of reusing a .NBM will be addressed in this phase.
- In Phase Three, if everything goes fine, the project will be opened and become useful for people.
Currently, we are running Phase Two.
Artifact names
All artifacts are being standardized on the "most important package name" convention.
Please note that the com.kenai.nbpwr groupId could be changed when the project enters Phase Three. The presence of artifacts in the Central Repo, though, guarantees that you can reliably depend on them.
In Phase One a different name scheme for artifacts was used.
Version names
It is necessary to add a further version identifier to the original artifact, since one might want to update the NBPWR corresponing resource because a bug or an improvement (for instance, because of the NBM metadata). In order to comply with the version scheme conventions of Maven, that makes it possible for the tool to apply some heuristics when resolving dependencies, the additional id is in the form -timestamp. For instance, SwingX 1.6 can be represented with version 1.6-201002241238.
The choice of the timestamp, furthermore, make it possible to clearly distinguish the original library version.
Available artifacts in the Maven Central Repository
The following artifacts are available in the Central Repository, so you just need to reference them in your POM. Remember that the groupId is always com.kenai.nbpwr.
| library | version | original library coordinates | artifactId |
|---|---|---|---|
| Animation Timing | 1.0 | net.java.dev.timingframework:timingframework | org-jdesktop-animation-timing |
| Apache Batik | 1.7 | batik:batik-* (multiple) | org-apache-batik-all |
| Apache Commons DBCP | 1.2.2 | commons-dbcp:commons-dbcp | org-apache-commons-dbcp |
| Apache Commons IO | 1.3.1 | commons-io:commons-io | org-apache-commons-io |
| Apache Commons Logging | 1.0.3 | commons-logging:commons-logging | org-apache-commons-logging |
| Apache Commons Pool | 1.4 | commons-pool:commons-pool | org-apache-commons-pool |
| Apache Derby | 10.4.1.3 | org.apache.derby:derby | org-apache-derby |
| ASM | 1.5.3 | asm:asm, asm:asm-attrs | org-objectweb-asm |
| CGLIB | 2.1.3 | cglib:cglib | net-sf-cglib |
| FindBugs Annotations | 1.3.2 | net.sourceforge.findbugs:annotations | edu-umd-cs-findbugs-annotations |
| Hibernate (with Derby dependency) (**) | 3.2.6 | org.hibernate:hibernate, org.hibernate:hibernate-entitymanager (3.3.2.GA), org.hibernate:hibernate-annotations (3.3.1.GA) | org-hibernate-all-derby |
| Javassist | 3.7.ga | jboss:javassist | javassist |
| JDOM | 1.0 | jdom:jdom | org-jdom |
| JempBox | 0.2.0 | org.jempbox:jempbox | org-jempbox-xmp |
| JGoodies Forms | 1.2.1 | com.jgoodies:forms | com-jgoodies-forms |
| JHLabs Filters | 2.0.235 | com.jhlabs:filters | com-jhlabs-filters |
| JPA | 1.0 | javax.persistence:persistence-api | javax-persistence |
| JSR 305 | 1.3.7 | com.google.code.findbugs:jsr305 | javax-annotation |
| JSR 330 | 1 | javax.inject:javax.inject | javax-inject |
| JTA | 1.0.1B | javax.transaction:jta | javax-transaction |
| JUnit | 4.7 | junit:junit | org-junit |
| MacWidgets | 0.9.5 | com.explodingpixels:mac_widgets | com-explodingpixels-macwidgets |
| Metadata Extractor | 2.4.0-beta-1 | com.drewnoakes:metadata-extractor | com-drew-metadata |
| Rome | 1.0 | rome:rome | com-sun-syndication-feed |
| SLF4J (*) | 1.5.11 | org.slf4j:slf4j-api, org.slf4j:slf4j-jdk14 | org-slf4j-jdk14 |
| SwingX | 1.6 | org.swinglabs:swingx | org-jdesktop-swingx |
| SwingX-WS | 1.0 | org.swinglabs:swingx-ws | org-jdesktop-swingx-ws |
(*) Includes the j.u.l v4 adapter; the NBM codeNameBase is org.slf4j, so it can be replaced by another implementation.
(**) Includes a dependency to Derby. There are pending issues to have Hibernate see a JDBC database in the NetBeans Platform context, so to use Hibernate with a given database, a specific artifact has to be prepared.
Available artifacts in the NBPWR Repository
The following set of libraries are available in the specific NBPWR Repository, because the original artifacts are not in the Central Repo, or because there are pending issues to solve about the naming and/or versioning. Add this POM declaration for referencing the NBPWR repository:
<repositories>
<repository>
<id>maven2-release-repository.nbpwr.kenai.com</id>
<name>NBPWR Maven Release Repository</name>
<url>http://nbpwr.kenai.com/maven-repository/releases</url>
</repository>
</repositories>
| library | version | original library coordinates | artifactId |
|---|---|---|---|
| Quaqua | 4.4.5 | ch-randelshofer-quaqua | |
| EAIO UUID | 2.1.5 | com-eaio-uuid | |
| Nimrod | 1.0.7 | com-nilo-plaf-nimrod | |
| JAI ImageIO | 1.1 | com-sun-media-jai_imageio | |
| NASA WorldWind | 0.5 | gov-nasa-worldwind | |
| JAI | 1.1.3 | javax-media-jai | |
| JCIP Annotations | net-jcip-annotations | ||
| Incava Diff | 1.1.0 | org-incava-util-diff | |
| BeansBinding | 1.2.1 | org-jdesktop-beansbinding | |
| SwingWorker | org-jdesktop-swingworker | ||
| Lobo Browser | 0.98.4 | org-lobobrowser | |
| OpenSesame | 2.2.3 | org-openrdf | |
| Elmo | 1.4 | org-openrdf-elmo-all | |
| GlueGen | 1.0.6 | com-sun-gluegen | |
| OpenGL (*) | 1.1.1 | javax-media-opengl | |
| JAXB | 2.1 | javax-xml-bind | |
(*) From the NetBeans OpenGL Pack.






