Skip to content

Commit a3efadb

Browse files
committed
Build system information should be optionally set
- Changes the build system information to be conditionally set within the properties. In multi-threaded builds, without the optional put, a ConcurrentModificationException occurs as this information is written at the same time the object is being iterated over.
1 parent 6b0b230 commit a3efadb

9 files changed

+12
-18
lines changed

core/src/main/java/pl/project13/core/cibuild/AwsCodeBuildBuildServerData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ public static boolean isActiveServer(Map<String, String> env) {
4040
@Override
4141
void loadBuildNumber(@Nonnull Properties properties) {
4242
String buildNumber = env.getOrDefault("CODEBUILD_BUILD_NUMBER", "");
43-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
43+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
4444

4545
String buildArn = env.get("CODEBUILD_BUILD_ID");
46-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, buildArn);
46+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, () -> buildArn);
4747
}
4848

4949
@Override

core/src/main/java/pl/project13/core/cibuild/AzureDevOpsBuildServerData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public static boolean isActiveServer(@Nonnull Map<String, String> env) {
4141
void loadBuildNumber(@Nonnull Properties properties) {
4242
String buildNumber = env.getOrDefault("BUILD_BUILDNUMBER", "");
4343

44-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
44+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
4545
}
4646

4747
@Override

core/src/main/java/pl/project13/core/cibuild/BambooBuildServerData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ void loadBuildNumber(@Nonnull Properties properties) {
4040
String buildNumber = Optional.ofNullable(env.get("bamboo.buildNumber"))
4141
.orElseGet(() -> env.getOrDefault("BAMBOO_BUILDNUMBER", ""));
4242

43-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
43+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
4444
}
4545

4646
@Override

core/src/main/java/pl/project13/core/cibuild/BuildServerDataProvider.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,6 @@ private void loadBuildHostData(@Nonnull Properties properties) {
166166
maybePut(properties, GitCommitPropertyConstant.BUILD_HOST, buildHostSupplier);
167167
}
168168

169-
protected void put(@Nonnull Properties properties, @Nonnull String key, String value) {
170-
String keyWithPrefix = prefixDot + key;
171-
log.info("Collected {} with value {}", keyWithPrefix, value);
172-
PropertyManager.putWithoutPrefix(properties, keyWithPrefix, value);
173-
}
174-
175169
protected void maybePut(@Nonnull Properties properties, @Nonnull String key, Supplier<String> supplier) {
176170
String keyWithPrefix = prefixDot + key;
177171
if (properties.containsKey(keyWithPrefix)) {

core/src/main/java/pl/project13/core/cibuild/CircleCiBuildServerData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static boolean isActiveServer(Map<String, String> env) {
4040
@Override
4141
void loadBuildNumber(@Nonnull Properties properties) {
4242
String buildNumber = env.getOrDefault("CIRCLE_BUILD_NUM", "");
43-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
43+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
4444
}
4545

4646
@Override

core/src/main/java/pl/project13/core/cibuild/GitlabBuildServerData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ void loadBuildNumber(@Nonnull Properties properties) {
4646
// CI_PIPELINE_IID will be present if in a Gitlab CI environment (Gitlab >11.0) and contains the project specific build number
4747
String buildNumber = env.getOrDefault("CI_PIPELINE_IID", "");
4848

49-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
50-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, uniqueBuildNumber);
49+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
50+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, () -> uniqueBuildNumber);
5151
}
5252

5353
@Override

core/src/main/java/pl/project13/core/cibuild/HudsonJenkinsBuildServerData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static boolean isActiveServer(@Nonnull Map<String, String> env) {
4242
void loadBuildNumber(@Nonnull Properties properties) {
4343
String buildNumber = env.getOrDefault("BUILD_NUMBER", "");
4444

45-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
45+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
4646
}
4747

4848
@Override

core/src/main/java/pl/project13/core/cibuild/TeamCityBuildServerData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ void loadBuildNumber(@Nonnull Properties properties) {
5454
String buildNumber = env.getOrDefault("BUILD_NUMBER", "");
5555
String buildNumberUnique = teamcitySystemProperties.getProperty("teamcity.build.id", "");
5656

57-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
58-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, buildNumberUnique);
57+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
58+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, () -> buildNumberUnique);
5959
}
6060

6161
@Override

core/src/main/java/pl/project13/core/cibuild/TravisBuildServerData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ void loadBuildNumber(@Nonnull Properties properties) {
4242
String buildNumber = env.getOrDefault("TRAVIS_BUILD_NUMBER", "");
4343
String uniqueBuildNumber = env.getOrDefault("TRAVIS_BUILD_ID", "");
4444

45-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER, buildNumber);
46-
put(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, uniqueBuildNumber);
45+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
46+
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER_UNIQUE, () -> uniqueBuildNumber);
4747
}
4848

4949
@Override

0 commit comments

Comments
 (0)