Should work now

This commit is contained in:
Marcin Grzejszczak
2018-10-23 21:14:59 +02:00
parent bacd11be03
commit 241731c6fc
2 changed files with 57 additions and 3 deletions

View File

@@ -27,6 +27,7 @@ class OptionsParser implements Parser {
public Options parse(String[] args) {
OptionParser parser = new OptionParser();
parser.allowsUnrecognizedOptions();
log.info("Got following args <{}>", args);
try {
ArgumentAcceptingOptionSpec<Boolean> metaReleaseOpt = parser
.acceptsAll(Arrays.asList("x", "meta-release"),
@@ -82,9 +83,8 @@ class OptionsParser implements Parser {
providedTaskNames.addAll(tasksFromOptions.isEmpty() && !metaRelease ?
allTaskNames : tasksFromOptions);
}
List<String> taskNames = allTaskNames.stream()
.filter(providedTaskNames::contains)
.collect(Collectors.toList());
List<String> taskNames = filterProvidedTaskNames(
providedTaskNames, allTaskNames, metaRelease);
String startFrom = options.valueOf(startFromOpt);
String range = options.valueOf(rangeOpt);
Options buildOptions = new OptionsBuilder()
@@ -104,6 +104,16 @@ class OptionsParser implements Parser {
}
}
List<String> filterProvidedTaskNames(List<String> providedTaskNames,
List<String> allTaskNames, boolean metaRelease) {
if (metaRelease) {
return providedTaskNames;
}
return allTaskNames.stream()
.filter(providedTaskNames::contains)
.collect(Collectors.toList());
}
private String removeQuotingChars(String string) {
if (string.startsWith("'") && string.endsWith("'")) {
return string.substring(1, string.length() - 1);

View File

@@ -0,0 +1,44 @@
package org.springframework.cloud.release.internal.spring;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.assertj.core.api.BDDAssertions;
import org.junit.Test;
/**
* @author Marcin Grzejszczak
* @since
*/
public class OptionsParserTests {
@Test public void should_filter_provided_task_names() {
OptionsParser optionsParser = new OptionsParser();
List<String> taskNames = optionsParser.filterProvidedTaskNames(
providedTaskNames(), allTaskNames(), true
);
BDDAssertions.then(taskNames).isEqualTo(providedTaskNames());
}
private List<String> providedTaskNames() {
return new ArrayList<>(
Arrays.asList("spring-cloud-config", "spring-cloud-netflix",
"spring-cloud-cloudfoundry", "spring-cloud-openfeign",
"spring-cloud-gateway", "spring-cloud-security",
"spring-cloud-sleuth", "spring-cloud-contract",
"spring-cloud-vault", "spring-cloud-release"));
}
private List<String> allTaskNames() {
return new ArrayList<>(
Arrays.asList("spring-cloud-config", "spring-cloud-netflix",
"spring-cloud-cloudfoundry", "spring-cloud-openfeign",
"spring-cloud-gateway", "spring-cloud-security",
"spring-cloud-sleuth", "spring-cloud-contract",
"spring-cloud-vault", "spring-cloud-release",
"spring-cloud-1", "spring-cloud-2", "spring-cloud-3"));
}
}