Skip to main content
Jump to: navigation, search

Difference between revisions of "MicroProfile/SpecChecklist"

m (Checklist for deliverables)
(cleaned up wiki page references)
Line 23: Line 23:
 
== Checklist for deliverables ==
 
== Checklist for deliverables ==
 
* 3rd Party Dependency clearance
 
* 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 [[/3rdPartyDependencyProcess | 3rd Party Dependency Process]]
+
** 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 [[MicroProfile/3rdPartyDependencyProcess | 3rd Party Dependency Process]]
 
* Proper license and attribution
 
* Proper license and attribution
** each file has the same Copyright&License header, a NOTICE file in each repository and deliverable - see more info in [[/ContributingGuidelines#License_of_the_contributed_resources | Guidelines for contributing]]
+
** each file has the same Copyright&License header, a NOTICE file in each repository and deliverable - see more info in [[MicroProfile/ContributingGuidelines#License_of_the_contributed_resources | Guidelines for contributing]]
 
* Proper maven artifact naming  
 
* Proper maven artifact naming  
 
** groupId: '''org.eclipse.microprofile.spec.spec-name''' for all spec subprojects, '''org.eclipse.microprofile.subproject-name''' for other subprojects
 
** groupId: '''org.eclipse.microprofile.spec.spec-name''' for all spec subprojects, '''org.eclipse.microprofile.subproject-name''' for other subprojects
 
** artifactId: '''microprofile-<subproject>-<submodule>'''
 
** artifactId: '''microprofile-<subproject>-<submodule>'''
** see more info in [[/ContributingGuidelines#Deliverable_group_and_artifact_naming_convention | Guidelines for contributing]]
+
** see more info in [[MicroProfile/ContributingGuidelines#Deliverable_group_and_artifact_naming_convention | Guidelines for contributing]]
 
* Java API
 
* Java API
** the CDI API classes should be placed in a subpackage '''inject''' - see more info in the [[/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]]

Revision as of 17:01, 29 June 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.spec.spec-name for all spec subprojects, org.eclipse.microprofile.subproject-name for other subprojects
    • artifactId: microprofile-<subproject>-<submodule>
    • see more info in Guidelines for contributing
  • Java API

Copyright © Eclipse Foundation, Inc. All Rights Reserved.