Want to be included in the JBoss Way?
Are you a library or framework maintainer, and want to get your project included in the JBoss Way? Then read this guide.
CDI provides the programming model glue for the JBoss Way. It's how you make your API available to the developer. Your primary API entry points should be injectable. Any orthogonal functionality should be available via a CDI interceptor. If you offer lifecycle events, make them observable using CDI.Read more about how to achieve this.
Regardless of how a developer builds their project (Maven, Ivy, Ant, Gradle etc.), they're likely to download their libraries from a .
To get on the JBoss Way, your project should:
- Have the transitive closure of it's dependencies in Maven Central. The jdf team can help you here.
- Provide a single BOM, which can be imported to provide version management for all dependencies likely to be used. For example, if you provide container adaptors, make sure all of these are specified. Take a look at the JBoss BOMs project.
Quickstarts teach a developer how to solve a single use case, or use an API. They are tightly focused.
A quickstart should:
- be easily runnable using Maven
- come with an accompanying README file, that follows the template
- be importable into JBoss Developer Studio
- follow coding conventions
- implement best practices
- pass peer review
The key tool you need to offer is an easy way to create a project. Normally this comes in the form of a Maven archetype.
It's critical you make it easy to switch from the upstream, community project to the supported product. The best way to do this is to make sure you need minimal changes for your quickstarts, examples and archetypes, to use them with the product. This should be no more than changing BOM versions.
To do this, you're also going to need a Maven repository for the product.
Cloud is fast becoming a critical piece of every business' infrastructure, so your quickstarts and examples must run nicely on OpenShift. Make sure you document how to get them up there!
Users expect mobile friendly application today, so you'll need to make sure all your quickstarts, examples and generated applications work nicely with a range of mobile devices. The Aerogear project can help you with this.