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:
Currently, we are running Phase Two.
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.
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.
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 |
| FEST | 1.2a | org.easytesting:fest-swing and others | org-easytesting-fest-swing-all |
| 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 |
| PDF View | 1.0.5 | org.swinglabs:pdf-renderer | com-sun-pdfview |
| 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.
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.