From 4def66dfbc411579ddc4d9bd33357580b93ac920 Mon Sep 17 00:00:00 2001 From: Daniel Stahl Date: Mon, 2 May 2016 11:03:25 +0200 Subject: [PATCH 1/6] Completed description of links object Added all missing links to the-links-object.md. Also removed Schema placeholder headings from event descriptions; the intent is to add schemas to separate repository. --- eiffel-syntax-and-usage/the-links-object.md | 133 +++++++++++++++++- .../EiffelActivityDequeuedEvent.md | 3 - .../EiffelActivityQueuedEvent.md | 3 - 3 files changed, 131 insertions(+), 8 deletions(-) diff --git a/eiffel-syntax-and-usage/the-links-object.md b/eiffel-syntax-and-usage/the-links-object.md index 8ce37be7..b0bbd36e 100644 --- a/eiffel-syntax-and-usage/the-links-object.md +++ b/eiffel-syntax-and-usage/the-links-object.md @@ -15,7 +15,8 @@ __Description:__ Identifies one or more causes of the event occurring. SHOULD no __Type:__ String __Required in:__ None __Optional in:__ Any -__Legal targets:__ [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md), [EiffelTestSuiteStartedEvent](../eiffel-vocabulary/EiffelTestSuiteStartedEvent.md) +__Legal targets:__ [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md), +[EiffelTestSuiteStartedEvent](../eiffel-vocabulary/EiffelTestSuiteStartedEvent.md) __Description:__ Identifies a the activity or test suite of which the event constitutes a part. SHOULD not be used in conjunction with __links.causes__, see above. Note that multiple layers may be modeled using __links.context__, e.g. an activity being part of another activity. ### links.flowContext @@ -25,5 +26,133 @@ __Optional in:__ Any __Legal targets:__ [EiffelFlowContextDefinedEvent](../eiffel-vocabulary/EiffelFlowContextDefinedEvent.md) __Description:__ Identifies the flow context of the event: which is the continuous integration and delivery flow in which this occurred – e.g. which product, project, track or version this is applicable to. +### links.activityExecution +__Type:__ String +__Required in:__ [EiffelActivityDequeuedEvent](../eiffel-vocabulary/EiffelActivityDequeuedEvent), +[EiffelActivityStartedEvent](../eiffel-vocabulary/EiffelActivityStartedEvent), +[EiffelActivityFinishedEvent](../eiffel-vocabulary/EiffelActivityFinishedEvent) +__Optional in:__ None +__Legal targets:__ [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) +__Description:__ Declares the activity execution the event relates to. In other words, [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) acts as a handle for the activity execution. + +### links.previous +__Type:__ String[] +__Required in:__ None +__Optional in:__ [EiffelActivityStartedEvent](../eiffel-vocabulary/EiffelActivityStartedEvent.md), +[EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +[EiffelDocumentationCreatedEvent](../eiffel-vocabulary/EiffelDocumentationCreatedEvent.md), +[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md), +[EiffelEnvironmentDefinedEvent](../eiffel-vocabulary/EiffelEnvironmentDefinedEvent.md), +[EiffelSourceChangeCreatedEvent](../eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md), +[EiffelSourceChangeSubmittedEvent](../eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md) +__Legal targets:__ [EiffelActivityStartedEvent](../eiffel-vocabulary/EiffelActivityStartedEvent.md), +[EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +[EiffelDocumentationCreatedEvent](../eiffel-vocabulary/EiffelDocumentationCreatedEvent.md), +[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md), +[EiffelEnvironmentDefinedEvent](../eiffel-vocabulary/EiffelEnvironmentDefinedEvent.md), +[EiffelSourceChangeCreatedEvent](../eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md), +[EiffelSourceChangeSubmittedEvent](../eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md) +__Description:__ Identifies the latest previous version(s) of the engineering artifact the event represents, e.g. the previous version of the artifact, the previous version of the composition etc. The target event type SHALL be the same as the source event type. In most cases a single element array is to be expected: multiple elements are intended for representing merges. + +### links.composition +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md) +__Legal targets:__ [EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md) +__Description:__ Identifies the composition from which an artifact was built. + +### links.environment +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +[EiffelArtifactTestCaseStartedEvent](../eiffel-vocabulary/EiffelArtifactTestCaseStartedEvent.md) +__Legal targets:__ [EiffelEnvironmentDefinedEvent](../eiffel-vocabulary/EiffelEnvironmentDefinedEvent.md) +__Description:__ Identifies the environment in which an event occurred, e.g. in which environment an artifact was built. + +### links.environment +__Type:__ String +__Required in:__ [EiffelArtifactPublishedEvent](../eiffel-vocabulary/EiffelArtifactPublishedEvent.md) +__Optional in:__ None +__Legal targets:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md) +__Description:__ Identifies the artifact that was published. + +### links.subjects +__Type:__ String[] +__Required in:__ [EiffelConfidenceLevelModifiedEvent](../eiffel-vocabulary/EiffelConfidenceLevelModifiedEvent.md) +__Optional in:__ None +__Legal targets:__ [EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md), +[EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +[EiffelDocumentationCreatedEvent](../eiffel-vocabulary/EiffelDocumentationCreatedEvent.md), +[EiffelSourceChangeCreatedEvent](../eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md), +[EiffelSourceChangeSubmittedEvent](../eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md) +__Description:__ Identifies the subject(s) of the confidence level. + +### links.elements +__Type:__ String[] +__Required in:__ None +__Optional in:__ [EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md) +__Legal targets:__ [EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md), +[EiffelSourceChangeSubmittedEvent](../eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md), +[EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +[EiffelDocumentationCreatedEvent](../eiffel-vocabulary/EiffelDocumentationCreatedEvent.md) +__Description:__ Identifies elements and or sub-compositions of the composition. The latter is particularly useful for documenting large and potentially decentralized compositions, and may be used to reduce the need to repeat large compositions in which only small parts are subject to frequent change. + +### links.base +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelSourceChangeCreatedEvent](../eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md) +__Legal targets:__ [EiffelSourceChangeSubmittedEvent](../eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md) +__Description:__ Identifies the base revision of the proposed change. + +### links.change +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelSourceChangeSubmittedEvent](../eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md) +__Legal targets:__ [EiffelSourceChangeCreatedEvent](../eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md) +__Description:__ Identifies the change that was submitted. + +### links.testSuiteExecution +__Type:__ String +__Required in:__ [EiffelTestSuiteFinishedEvent](../eiffel-vocabulary/EiffelTestSuiteFinishedEvent.md) +__Optional in:__ None +__Legal targets:__ [EiffelTestSuiteStartedEvent](../eiffel-vocabulary/EiffelTestSuiteStartedEvent.md) +__Description:__ Identifies the relevant test suite execution. In other words, [EiffelTestSuiteStartedEvent](../eiffel-vocabulary/EiffelTestSuiteStartedEvent.md) acts as a handle for a particular test suite execution. + +### links.testCaseExecution +__Type:__ String +__Required in:__ [EiffelTestCaseFinishedEvent](../eiffel-vocabulary/EiffelTestCaseFinishedEvent.md) +__Optional in:__ None +__Legal targets:__ [EiffelTestCaseStartedEvent](../eiffel-vocabulary/EiffelTestCaseStartedEvent.md) +__Description:__ Identifies the relevant test case execution. In other words, [EiffelTestCaseStartedEvent](../eiffel-vocabulary/EiffelTestCaseStartedEvent.md) acts as a handle for a particular test case execution. + +### links.iut +__Type:__ String +__Required in:__ [EiffelTestCaseStartedEvent](../eiffel-vocabulary/EiffelTestCaseStartedEvent.md) +__Optional in:__ None +__Legal targets:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md) +__Description:__ Identifies the Item Under Test. + +### links.terc +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelTestCaseStartedEvent](../eiffel-vocabulary/EiffelTestCaseStartedEvent.md) +__Legal targets:__ [EiffelTestExecutionRecipeCollectionCreatedEvent](../eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md) +__Description:__ Identifies the Test Execution Recipe Collection dictating the execution of the test case. + +### links.modifiedAnnouncement +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelAnnouncementEvent](../eiffel-vocabulary/EiffelAnnouncementEvent.md) +__Legal targets:__ [EiffelAnnouncementEvent](../eiffel-vocabulary/EiffelAnnouncementEvent.md), +[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md) +__Description:__ Identifies an announcement of which this event represents an update or modification, if any. Example usage is to declare the end to a previously announced situation. + +### links.subConfidenceLevels +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelConfidenceLevelModifiedEvent](../eiffel-vocabulary/EiffelConfidenceLevelModifiedEvent.md) +__Legal targets:__ [EiffelConfidenceLevelModifiedEvent](../eiffel-vocabulary/EiffelConfidenceLevelModifiedEvent.md), +[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md) +__Description:__ Used in events summarizing multiple confidence levels. Example use case: the confidence level "allTestsOk" summarizes the confidence levels "unitTestsOk, "scenarioTestsOk" and "deploymentTestsOk", and consequently links to them using this field. This is intended for purely descriptive, rather than prescriptive, use. -### More links to be added... \ No newline at end of file diff --git a/eiffel-vocabulary/EiffelActivityDequeuedEvent.md b/eiffel-vocabulary/EiffelActivityDequeuedEvent.md index 1a6f1c30..48761021 100644 --- a/eiffel-vocabulary/EiffelActivityDequeuedEvent.md +++ b/eiffel-vocabulary/EiffelActivityDequeuedEvent.md @@ -6,6 +6,3 @@ The EiffelActivityDequeuedEvent signals that an activity previously queued for e __Type:__ String __Required:__ No __Description:__ Any human readable information as to the reason for dequeueing. - -## Schema -TBD \ No newline at end of file diff --git a/eiffel-vocabulary/EiffelActivityQueuedEvent.md b/eiffel-vocabulary/EiffelActivityQueuedEvent.md index 557bcffb..7685462b 100644 --- a/eiffel-vocabulary/EiffelActivityQueuedEvent.md +++ b/eiffel-vocabulary/EiffelActivityQueuedEvent.md @@ -35,6 +35,3 @@ __Type:__ String __Required:__ No __Legal values:__ MANUAL, SEMI_AUTOMATED, AUTOMATED, OTHER __Description:__ The type of execution (often related to, but ultimately separate from, __data.trigger.type__). - -## Schema -TBD \ No newline at end of file From 45dc4c7cf7fe89017199d1e57f47d4562259cead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20St=C3=A5hl?= Date: Wed, 4 May 2016 08:33:32 +0200 Subject: [PATCH 2/6] Fixed copy-paste mishap. links.environment should have been links.artifact. --- eiffel-syntax-and-usage/the-links-object.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eiffel-syntax-and-usage/the-links-object.md b/eiffel-syntax-and-usage/the-links-object.md index b0bbd36e..844b8ab8 100644 --- a/eiffel-syntax-and-usage/the-links-object.md +++ b/eiffel-syntax-and-usage/the-links-object.md @@ -69,7 +69,7 @@ __Optional in:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifac __Legal targets:__ [EiffelEnvironmentDefinedEvent](../eiffel-vocabulary/EiffelEnvironmentDefinedEvent.md) __Description:__ Identifies the environment in which an event occurred, e.g. in which environment an artifact was built. -### links.environment +### links.artifact __Type:__ String __Required in:__ [EiffelArtifactPublishedEvent](../eiffel-vocabulary/EiffelArtifactPublishedEvent.md) __Optional in:__ None From 9c2e4f21df6819d51eaf2319645b63b7412e6dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20St=C3=A5hl?= Date: Wed, 4 May 2016 09:55:10 +0200 Subject: [PATCH 3/6] Changed links.previous to links.previousVersions. --- eiffel-syntax-and-usage/the-links-object.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eiffel-syntax-and-usage/the-links-object.md b/eiffel-syntax-and-usage/the-links-object.md index 844b8ab8..bdb6365f 100644 --- a/eiffel-syntax-and-usage/the-links-object.md +++ b/eiffel-syntax-and-usage/the-links-object.md @@ -35,7 +35,7 @@ __Optional in:__ None __Legal targets:__ [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) __Description:__ Declares the activity execution the event relates to. In other words, [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) acts as a handle for the activity execution. -### links.previous +### links.previousVersions __Type:__ String[] __Required in:__ None __Optional in:__ [EiffelActivityStartedEvent](../eiffel-vocabulary/EiffelActivityStartedEvent.md), From c4883f3e811f8afe1fbb9397f5b1b2125b1146de Mon Sep 17 00:00:00 2001 From: Daniel Stahl Date: Wed, 4 May 2016 11:08:26 +0200 Subject: [PATCH 4/6] Clarified relationship between links.activityExecution and links.context --- eiffel-syntax-and-usage/the-links-object.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eiffel-syntax-and-usage/the-links-object.md b/eiffel-syntax-and-usage/the-links-object.md index bdb6365f..8003cde1 100644 --- a/eiffel-syntax-and-usage/the-links-object.md +++ b/eiffel-syntax-and-usage/the-links-object.md @@ -33,7 +33,7 @@ __Required in:__ [EiffelActivityDequeuedEvent](../eiffel-vocabulary/EiffelActivi [EiffelActivityFinishedEvent](../eiffel-vocabulary/EiffelActivityFinishedEvent) __Optional in:__ None __Legal targets:__ [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) -__Description:__ Declares the activity execution the event relates to. In other words, [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) acts as a handle for the activity execution. +__Description:__ Declares the activity execution the event relates to. In other words, [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) acts as a handle for the activity execution. This differs from __links.context__. In __links.activityExecution__ the source carries information pertaining to the target (i.e. the activity started, finished or was dequeued). In __links.context__, on the other hand, the source constitutes a subset of the target (e.g. this test case was executed as part of that activity or test suite). ### links.previousVersions __Type:__ String[] From adf395efc5f4fe64a39ddc55996a7ffe9bad10f4 Mon Sep 17 00:00:00 2001 From: Daniel Stahl Date: Tue, 10 May 2016 09:36:09 +0200 Subject: [PATCH 5/6] Split links.previousActivityExectuion from links.previousVersions After renaming links.previous to links.previousVersions, it makes little sense to keep previous activity executions in there. Actually identifying the ActivityQueued of the latest previous execution may not be trivial, however, so it should still be optional (besides, there's always a first time). --- eiffel-syntax-and-usage/the-links-object.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/eiffel-syntax-and-usage/the-links-object.md b/eiffel-syntax-and-usage/the-links-object.md index 8003cde1..ea12b272 100644 --- a/eiffel-syntax-and-usage/the-links-object.md +++ b/eiffel-syntax-and-usage/the-links-object.md @@ -35,18 +35,23 @@ __Optional in:__ None __Legal targets:__ [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) __Description:__ Declares the activity execution the event relates to. In other words, [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) acts as a handle for the activity execution. This differs from __links.context__. In __links.activityExecution__ the source carries information pertaining to the target (i.e. the activity started, finished or was dequeued). In __links.context__, on the other hand, the source constitutes a subset of the target (e.g. this test case was executed as part of that activity or test suite). +### links.previousActivityExecution +__Type:__ String +__Required in:__ None +__Optional in:__ [EiffelActivityStartedEvent](../eiffel-vocabulary/EiffelActivityStartedEvent.md) +__Legal targets:__ [EiffelActivityQueuedEvent](../eiffel-vocabulary/EiffelActivityQueuedEvent.md) +__Description:__ Identifies the latest previous execution of the activity. + ### links.previousVersions __Type:__ String[] -__Required in:__ None -__Optional in:__ [EiffelActivityStartedEvent](../eiffel-vocabulary/EiffelActivityStartedEvent.md), -[EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +__Required in:__ None +__Optional in:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), [EiffelDocumentationCreatedEvent](../eiffel-vocabulary/EiffelDocumentationCreatedEvent.md), [EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md), [EiffelEnvironmentDefinedEvent](../eiffel-vocabulary/EiffelEnvironmentDefinedEvent.md), [EiffelSourceChangeCreatedEvent](../eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md), [EiffelSourceChangeSubmittedEvent](../eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md) -__Legal targets:__ [EiffelActivityStartedEvent](../eiffel-vocabulary/EiffelActivityStartedEvent.md), -[EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), +__Legal targets:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md), [EiffelDocumentationCreatedEvent](../eiffel-vocabulary/EiffelDocumentationCreatedEvent.md), [EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md), [EiffelEnvironmentDefinedEvent](../eiffel-vocabulary/EiffelEnvironmentDefinedEvent.md), From 3a6f47535885aaeed6602613ba7091a595248216 Mon Sep 17 00:00:00 2001 From: Daniel Stahl Date: Tue, 10 May 2016 12:45:19 +0200 Subject: [PATCH 6/6] Removed incorrect link targets. --- eiffel-syntax-and-usage/the-links-object.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/eiffel-syntax-and-usage/the-links-object.md b/eiffel-syntax-and-usage/the-links-object.md index ea12b272..f4252d5a 100644 --- a/eiffel-syntax-and-usage/the-links-object.md +++ b/eiffel-syntax-and-usage/the-links-object.md @@ -149,15 +149,13 @@ __Description:__ Identifies the Test Execution Recipe Collection dictating the e __Type:__ String __Required in:__ None __Optional in:__ [EiffelAnnouncementEvent](../eiffel-vocabulary/EiffelAnnouncementEvent.md) -__Legal targets:__ [EiffelAnnouncementEvent](../eiffel-vocabulary/EiffelAnnouncementEvent.md), -[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md) +__Legal targets:__ [EiffelAnnouncementEvent](../eiffel-vocabulary/EiffelAnnouncementEvent.md) __Description:__ Identifies an announcement of which this event represents an update or modification, if any. Example usage is to declare the end to a previously announced situation. ### links.subConfidenceLevels __Type:__ String __Required in:__ None __Optional in:__ [EiffelConfidenceLevelModifiedEvent](../eiffel-vocabulary/EiffelConfidenceLevelModifiedEvent.md) -__Legal targets:__ [EiffelConfidenceLevelModifiedEvent](../eiffel-vocabulary/EiffelConfidenceLevelModifiedEvent.md), -[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md) +__Legal targets:__ [EiffelConfidenceLevelModifiedEvent](../eiffel-vocabulary/EiffelConfidenceLevelModifiedEvent.md) __Description:__ Used in events summarizing multiple confidence levels. Example use case: the confidence level "allTestsOk" summarizes the confidence levels "unitTestsOk, "scenarioTestsOk" and "deploymentTestsOk", and consequently links to them using this field. This is intended for purely descriptive, rather than prescriptive, use.