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
Contents
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
- the CDI API classes should be placed in a subpackage inject - see more info in the Guidelines for Contributing