Skip to content

Commit e61719d

Browse files
author
Bengt Brodersen
committed
fix: prefer cli parameters and environment variable options over config parameters
1 parent ed604ec commit e61719d

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
plugins {
22
id "com.github.ben-manes.versions" version "0.20.0"
3-
3+
44
id "java"
55
id "java-gradle-plugin"
66
id 'com.adarshr.test-logger' version '2.0.0'
7-
7+
88
id "com.gradle.plugin-publish" version "0.10.0"
99
id "maven-publish" // for local testing only
1010

1111
id "idea"
1212
}
1313

1414
group 'me.qoomon'
15-
version '1.3.0'
15+
version '1.3.1'
1616

1717
sourceCompatibility = JavaVersion.VERSION_1_8
1818
targetCompatibility = JavaVersion.VERSION_1_8

src/main/java/me/qoomon/gradle/gitversioning/GitVersioningPlugin.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,26 +29,25 @@ public void apply(@Nonnull Project rootProject) {
2929
GitVersioningPluginExtension config = rootProject.getExtensions()
3030
.create("gitVersioning", GitVersioningPluginExtension.class, rootProject);
3131

32-
if (parseBoolean(getOption(rootProject, OPTION_NAME_DISABLE))) {
32+
if (parseBoolean(getCommandOption(rootProject, OPTION_NAME_DISABLE))) {
3333
rootProject.getLogger().warn("skip - versioning is disabled");
3434
return;
3535
}
3636

3737
rootProject.afterEvaluate(evaluatedProject -> {
3838

3939
GitRepoSituation repoSituation = GitUtil.situation(rootProject.getProjectDir());
40-
String providedTag = getOption(rootProject, OPTION_NAME_GIT_TAG);
40+
String providedTag = getCommandOption(rootProject, OPTION_NAME_GIT_TAG);
4141
if (providedTag != null) {
4242
repoSituation.setHeadBranch(null);
4343
repoSituation.setHeadTags(providedTag.isEmpty() ? emptyList() : singletonList(providedTag));
4444
}
45-
String providedBranch = getOption(rootProject, OPTION_NAME_GIT_BRANCH);
45+
String providedBranch = getCommandOption(rootProject, OPTION_NAME_GIT_BRANCH);
4646
if (providedBranch != null) {
4747
repoSituation.setHeadBranch(providedBranch.isEmpty() ? null : providedBranch);
4848
}
4949

50-
final boolean preferTags = config.preferTags || parseBoolean(getOption(rootProject, OPTION_PREFER_TAGS));
51-
50+
final boolean preferTagsOption = getPreferTagsOption(rootProject, config);
5251
GitVersionDetails gitVersionDetails = GitVersioning.determineVersion(repoSituation,
5352
ofNullable(config.commit)
5453
.map(it -> new VersionDescription(null, it.versionFormat, mapPropertyDescription(it.properties)))
@@ -59,7 +58,7 @@ public void apply(@Nonnull Project rootProject) {
5958
config.tags.stream()
6059
.map(it -> new VersionDescription(it.pattern, it.versionFormat, mapPropertyDescription(it.properties)))
6160
.collect(toList()),
62-
preferTags);
61+
preferTagsOption);
6362

6463

6564
final Map<String, Object> originVersionMap = rootProject.getAllprojects().stream().collect(Collectors.toMap(Project::getPath, p -> p.getVersion()));
@@ -130,7 +129,7 @@ private PropertyValueDescription mapPropertyValueDescription(GitVersioningPlugin
130129
.map(it -> new PropertyValueDescription(it.pattern, it.format)).get();
131130
}
132131

133-
private String getOption(final Project project, final String name) {
132+
private String getCommandOption(final Project project, final String name) {
134133
String value = (String) project.getProperties().get(name);
135134
if (value == null) {
136135
String plainName = name.replaceFirst("^versioning\\.", "");
@@ -142,5 +141,16 @@ private String getOption(final Project project, final String name) {
142141
}
143142
return value;
144143
}
144+
145+
private boolean getPreferTagsOption(final Project rootProject, final GitVersioningPluginExtension config) {
146+
final boolean preferTagsOption;
147+
final String preferTagsCommandOption = getCommandOption(rootProject, OPTION_PREFER_TAGS);
148+
if(preferTagsCommandOption != null){
149+
preferTagsOption = parseBoolean(preferTagsCommandOption);
150+
} else {
151+
preferTagsOption = config.preferTags;
152+
}
153+
return preferTagsOption;
154+
}
145155
}
146156

0 commit comments

Comments
 (0)