Difference between revisions of "MicroProfile/SpecChecklist"
(cleaned up wiki page references) |
(Fixing group id) |
||
Line 27: | Line 27: | ||
** 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]] | ** 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. | + | ** groupId: '''org.eclipse.microprofile.subproject-name''' for subprojects, '''org.eclipse.microprofile''' for the top level distribution (BOM, etc) |
** artifactId: '''microprofile-<subproject>-<submodule>''' | ** artifactId: '''microprofile-<subproject>-<submodule>''' | ||
** see more info in [[MicroProfile/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 [[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]] |
Revision as of 07:40, 30 August 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.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
- the CDI API classes should be placed in a subpackage inject - see more info in the Guidelines for Contributing