Fixed task passing

This commit is contained in:
Marcin Grzejszczak
2018-07-02 11:59:57 +02:00
parent ccc22a1688
commit ae2b99b5b2

View File

@@ -5,6 +5,7 @@ import joptsimple.OptionParser;
import joptsimple.OptionSet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -14,6 +15,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.cloud.release.internal.options.Options;
import org.springframework.cloud.release.internal.options.OptionsBuilder;
import org.springframework.cloud.release.internal.options.Parser;
import org.springframework.util.StringUtils;
/**
* @author Marcin Grzejszczak
@@ -64,13 +66,17 @@ class OptionsParser implements Parser {
Boolean metaRelease = options.valueOf(metaReleaseOpt);
Boolean interactive = options.valueOf(interactiveOpt);
Boolean fullRelease = options.has(fullReleaseOpt);
List<String> providedTaskNames = Arrays
.asList(options.valueOf(taskNamesOpt).split(","));
List<String> providedTaskNames = StringUtils.hasText(options.valueOf(taskNamesOpt)) ?
Arrays.asList(options.valueOf(taskNamesOpt).split(",")) :
new ArrayList<>();
List<String> allTaskNames = Tasks.NON_COMPOSITE_TASKS.stream()
.map(task -> task.name)
.collect(Collectors.toList());
List<String> tasksFromOptions = Tasks.NON_COMPOSITE_TASKS.stream()
.filter(task -> options.has(task.name) || options.has(task.shortName))
.map(task -> task.name).collect(Collectors.toList());
if (providedTaskNames.isEmpty()) {
providedTaskNames.addAll(allTaskNames);
providedTaskNames.addAll(tasksFromOptions.isEmpty() ? allTaskNames : tasksFromOptions);
}
List<String> taskNames = allTaskNames.stream()
.filter(providedTaskNames::contains)