Skip to content

Commit 0448c7e

Browse files
committed
[Core] Replace create-meta with ci-environment
closes: #2434
1 parent 8aa7859 commit 0448c7e

File tree

4 files changed

+41
-6
lines changed

4 files changed

+41
-6
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1414
doc string types.
1515

1616
### Changed
17+
* [Core] Replaced `create-meta` dependency with `ci-environment` ([#2438](https://github.com/cucumber/cucumber-jvm/pull/2438) M.P. Korstanje)
1718

1819
### Deprecated
1920

bom/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<name>Cucumber-JVM: Bill of Materials</name>
1313

1414
<properties>
15-
<create-meta.version>6.0.4</create-meta.version>
15+
<ci-environment.version>7.0.1</ci-environment.version>
1616
<cucumber-expressions.version>13.0.1</cucumber-expressions.version>
1717
<datatable.version>4.1.0</datatable.version>
1818
<html-formatter.version>17.0.0</html-formatter.version>
@@ -54,8 +54,8 @@
5454
</dependency>
5555
<dependency>
5656
<groupId>io.cucumber</groupId>
57-
<artifactId>create-meta</artifactId>
58-
<version>${create-meta.version}</version>
57+
<artifactId>ci-environment</artifactId>
58+
<version>${ci-environment.version}</version>
5959
</dependency>
6060
<dependency>
6161
<groupId>io.cucumber</groupId>

core/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
</dependency>
8484
<dependency>
8585
<groupId>io.cucumber</groupId>
86-
<artifactId>create-meta</artifactId>
86+
<artifactId>ci-environment</artifactId>
8787
</dependency>
8888
<dependency>
8989
<groupId>org.apiguardian</groupId>

core/src/main/java/io/cucumber/core/runtime/CucumberExecutionContext.java

+36-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
package io.cucumber.core.runtime;
22

3+
import io.cucumber.cienvironment.CiEnvironment;
34
import io.cucumber.core.eventbus.EventBus;
45
import io.cucumber.core.gherkin.Feature;
56
import io.cucumber.core.logging.Logger;
67
import io.cucumber.core.logging.LoggerFactory;
78
import io.cucumber.core.runner.Runner;
9+
import io.cucumber.messages.ProtocolVersion;
10+
import io.cucumber.messages.types.Ci;
811
import io.cucumber.messages.types.Envelope;
12+
import io.cucumber.messages.types.Git;
13+
import io.cucumber.messages.types.Meta;
14+
import io.cucumber.messages.types.Product;
915
import io.cucumber.plugin.event.Result;
1016
import io.cucumber.plugin.event.Status;
1117
import io.cucumber.plugin.event.TestRunFinished;
@@ -18,8 +24,8 @@
1824
import java.util.ResourceBundle;
1925
import java.util.function.Consumer;
2026

27+
import static io.cucumber.cienvironment.DetectCiEnvironment.detectCiEnvironment;
2128
import static io.cucumber.core.exception.ExceptionUtils.printStackTrace;
22-
import static io.cucumber.createmeta.CreateMeta.createMeta;
2329
import static io.cucumber.messages.TimeConversion.javaInstantToTimestamp;
2430
import static java.util.Collections.singletonList;
2531

@@ -48,10 +54,38 @@ public void startTestRun() {
4854

4955
private void emitMeta() {
5056
Envelope envelope = new Envelope();
51-
envelope.setMeta(createMeta("cucumber-jvm", VERSION, System.getenv()));
57+
envelope.setMeta(createMeta());
5258
bus.send(envelope);
5359
}
5460

61+
private Meta createMeta() {
62+
return new Meta(
63+
ProtocolVersion.getVersion(),
64+
new Product("cucumber-jvm", VERSION),
65+
new Product(System.getProperty("java.vm.name"), System.getProperty("java.vm.version")),
66+
new Product(System.getProperty("os.name"), null),
67+
new Product(System.getProperty("os.arch"), null),
68+
createCi());
69+
}
70+
71+
private Ci createCi() {
72+
CiEnvironment ciEnvironment = detectCiEnvironment(System.getenv());
73+
if (ciEnvironment == null) {
74+
return null;
75+
}
76+
77+
CiEnvironment.Git git = ciEnvironment.getGit();
78+
return new Ci(
79+
ciEnvironment.getName(),
80+
ciEnvironment.getUrl(),
81+
ciEnvironment.getBuildNumber(),
82+
new Git(
83+
git.getRemote(),
84+
git.getRevision(),
85+
git.getBranch(),
86+
git.getTag()));
87+
}
88+
5589
private void emitTestRunStarted() {
5690
log.debug(() -> "Sending run test started event");
5791
start = bus.getInstant();

0 commit comments

Comments
 (0)