Skip to content

Latest commit

 

History

History
126 lines (102 loc) · 5.33 KB

EiffelArtifactCreatedEvent.md

File metadata and controls

126 lines (102 loc) · 5.33 KB

EiffelArtifactCreatedEvent (ArtC)

The EiffelArtifactCreatedEvent declares that a software artifact has been created, what its coordinates are, what it contains and how it was created.

Data Members

data.gav

Type: Object
Required: Yes
Description: The GAV of the created artifact.

data.gav.groupId

Type: String
Required: Yes
Description: The groupId of the created artifact.

data.gav.artifactId

Type: String
Required: Yes
Description: The artifactId of the created artifact.

data.gav.version

Type: String
Required: Yes
Description: The version of the created artifact.

data.fileInformation

Type: Object[]
Required: No
Description: A list of the artifact file contents, following the standard established by Apache Maven.

data.fileInformation.classifier

Type: String
Required: Yes
Description: The classifier of the file within the artifact. If none, an empty string shall be used.

data.fileInformation.extension

Type: String
Required: Yes
Description: The extension of the file within the artifact. If none, an empty string shall be used.

data.buildCommand

Type: String
Required: No
Description: The command used to build the artifact within the identified environment. Used for reproducability purposes.

data.requiresImplementation

Type: String
Required: No
Legal values: NONE, ANY, EXACTLY_ONE, AT_LEAST_ONE
Description: Defines whether this artifact requires an implementing artifact. This is typically used for interfaces requiring some backend implementation, although the interface does not presume to define which implementation. Implicitly interpreted as "ANY" if undefined.
NONE signifies that there SHALL no implementations of this artifact. In other words, a composition containing another artifact identifying it in data.implements would be illegal.
ANY signifies that there may or may not be implementations of this artifact.
EXACTLY_ONE signifies that a legal composition must contain one and only one implementation of this artifact.
AT_LEAST_ONE signifies that a legal composition must contain one or more implementations of this artifact.

data.implements

Type: Object[]
Required: No
Description: An array of GAVs this artifact implements. The typical use case of this is to identify interfaces implemented by this artifact.

data.implements.groupId

Type: String
Required: Yes
Description: The groupId of the implemented artifact.

data.implements.artifactId

Type: String
Required: Yes
Description: The artifactId of the implemented artifact.

data.implements.version

Type: String
Required: Yes
Description: The version of the implemented artifact. Note that version range notation is supported.

data.dependsOn

Type: Object[]
Required: No
Description: An array of GAVs this artifact depends on.

data.dependsOn.groupId

Type: String
Required: Yes
Description: The groupId of the dependency.

data.dependsOn.artifactId

Type: String
Required: Yes
Description: The artifactId of the dependency.

data.dependsOn.version

Type: String
Required: Yes
Description: The version of the dependency. Note that version range notation is supported.

data.name

Type: String
Required: No
Description: Any (colloquial) name of the artifact. Unlike data.gav, this is not intended as an unambiguous identifier of the artifact, but as a descriptive and human readable name.

Version History

Version Introduced in Changes
1.0.0 edition-bordeaux Initial version.

Examples