Skip to main content
Jump to: navigation, search

Difference between revisions of "MicroProfile/SpecChecklist"

(Fixing group id)
(Checklist for deliverables: OSGi)
Line 32: Line 32:
 
* Java API
 
* Java API
 
** the CDI API classes should be placed in a subpackage '''inject''' - see more info in the [[MicroProfile/ContributingGuidelines#CDI_API_package_names | Guidelines for Contributing]]
 
** the CDI API classes should be placed in a subpackage '''inject''' - see more info in the [[MicroProfile/ContributingGuidelines#CDI_API_package_names | Guidelines for Contributing]]
 +
* OSGi bundle information
 +
** For more info, check out [https://groups.google.com/d/msg/microprofile/HXpbAtDkDrY/D-bn_An8AAAJ Emily's email].

Revision as of 02:35, 4 September 2017

Specification Delivery Checklist

This page covers all common rules for deliverables of any specification.

Types of Deliverables

Mandatory deliverables

  • API with Javadocs (source code, javadoc, API JAR artifact, schema files) - defines the contract between the implementation and its consumers
  • A hand-written document - describes the expected behavior and intended usage of the API
  • Technology Compatibility Kit (TCK) (source code, JAR artifact, user guide) - provides a test suite to

If the specification doesn't describe Java API, it should deliver an analogous deliverable (e.g. Swagger/OpenAPI REST definitions, JSON/XML schemas or similar).

Optional deliverables

The following can be provided loosely with the specification, before or after it's released:

  • Sample applications (using the new specification)
  • Sample implementation(s)
  • List of compliant implementations

Checklist for deliverables

  • 3rd Party Dependency clearance
    • Each 3rd Party Dependency needs to be identified and cleared for usage. This includes all open-source and commercial software used by our MicroProfile runtime, build, and test processing. More info can be found in 3rd Party Dependency Process
  • Proper license and attribution
    • each file has the same Copyright&License header, a NOTICE file in each repository and deliverable - see more info in Guidelines for contributing
  • Proper maven artifact naming
    • groupId: org.eclipse.microprofile.subproject-name for subprojects, org.eclipse.microprofile for the top level distribution (BOM, etc)
    • artifactId: microprofile-<subproject>-<submodule>
    • see more info in Guidelines for contributing
  • Java API
  • OSGi bundle information

Back to the top