From a355c325c5e243b4b2f05cd3ca16d8bf5ef84af2 Mon Sep 17 00:00:00 2001 From: ljacqu Date: Fri, 20 May 2016 17:15:53 +0200 Subject: [PATCH] #513 Allow to run updateDocs task from command line --- pom.xml | 2 +- src/test/java/tools/docs/UpdateDocsTask.java | 48 +++++++++++++++----- 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index c80dcaa1..dc62638d 100644 --- a/pom.xml +++ b/pom.xml @@ -247,7 +247,7 @@ ${project.basedir}/target/test-classes tools.ToolsRunner - writePermissionsList + updateDocs true diff --git a/src/test/java/tools/docs/UpdateDocsTask.java b/src/test/java/tools/docs/UpdateDocsTask.java index c3fb8562..48624afe 100644 --- a/src/test/java/tools/docs/UpdateDocsTask.java +++ b/src/test/java/tools/docs/UpdateDocsTask.java @@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableSet; import tools.commands.CommandPageCreater; import tools.hashmethods.HashAlgorithmsDescriptionTask; import tools.permissions.PermissionsListWriter; +import tools.utils.AutoToolTask; import tools.utils.ToolTask; import java.util.Scanner; @@ -12,9 +13,9 @@ import java.util.Set; /** * Task that runs all tasks which update files in the docs folder. */ -public class UpdateDocsTask implements ToolTask { +public class UpdateDocsTask implements AutoToolTask { - private final Set> TASKS = ImmutableSet.>of( + private static final Set> TASKS = ImmutableSet.>of( CommandPageCreater.class, HashAlgorithmsDescriptionTask.class, PermissionsListWriter.class); @Override @@ -23,17 +24,25 @@ public class UpdateDocsTask implements ToolTask { } @Override - public void execute(Scanner scanner) { - for (Class taskClass : TASKS) { - try { - ToolTask task = instantiateTask(taskClass); - System.out.println("\nRunning " + task.getTaskName() + "\n-------------------"); + public void execute(final Scanner scanner) { + executeTasks(new TaskRunner() { + @Override + public void execute(ToolTask task) { task.execute(scanner); - } catch (UnsupportedOperationException e) { - System.err.println("Error running task of class '" + taskClass + "'"); - e.printStackTrace(); } - } + }); + } + + @Override + public void executeDefault() { + executeTasks(new TaskRunner() { + @Override + public void execute(ToolTask task) { + if (task instanceof AutoToolTask) { + ((AutoToolTask) task).executeDefault(); + } + } + }); } private static ToolTask instantiateTask(Class clazz) { @@ -43,4 +52,21 @@ public class UpdateDocsTask implements ToolTask { throw new UnsupportedOperationException(e); } } + + private static void executeTasks(TaskRunner runner) { + for (Class taskClass : TASKS) { + try { + ToolTask task = instantiateTask(taskClass); + System.out.println("\nRunning " + task.getTaskName() + "\n-------------------"); + runner.execute(task); + } catch (UnsupportedOperationException e) { + System.err.println("Error running task of class '" + taskClass + "'"); + e.printStackTrace(); + } + } + } + + private interface TaskRunner { + void execute(ToolTask task); + } }