Skip to main content
Jump to: navigation, search

Difference between revisions of "MicroProfile/SpecChecklist"

(Checklist for deliverables: OSGi)
(Mandatory deliverables)
Line 8: Line 8:
  
 
* '''API with Javadocs''' (source code, javadoc, API JAR artifact, schema files) - defines the contract between the implementation and its consumers
 
* '''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
+
* A '''hand-written document''' - describes the expected behavior and intended usage of the API (also known as the Specification)
* '''Technology Compatibility Kit (TCK)''' (source code, JAR artifact, user guide) - provides a test suite to  
+
* '''Technology Compatibility Kit (TCK)''' (source code, JAR artifact, user guide) - provides a test suite to verify an implementation of the specification
  
 
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).
 
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).

Revision as of 15:57, 5 June 2018

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 (also known as the Specification)
  • Technology Compatibility Kit (TCK) (source code, JAR artifact, user guide) - provides a test suite to verify an implementation of the specification

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