#513 Allow to run updateDocs task from command line
This commit is contained in:
parent
2edcb703c1
commit
a355c325c5
2
pom.xml
2
pom.xml
@ -247,7 +247,7 @@
|
|||||||
<workingDirectory>${project.basedir}/target/test-classes</workingDirectory>
|
<workingDirectory>${project.basedir}/target/test-classes</workingDirectory>
|
||||||
<mainClass>tools.ToolsRunner</mainClass>
|
<mainClass>tools.ToolsRunner</mainClass>
|
||||||
<arguments>
|
<arguments>
|
||||||
<argument>writePermissionsList</argument>
|
<argument>updateDocs</argument>
|
||||||
</arguments>
|
</arguments>
|
||||||
<includeProjectDependencies>true</includeProjectDependencies>
|
<includeProjectDependencies>true</includeProjectDependencies>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableSet;
|
|||||||
import tools.commands.CommandPageCreater;
|
import tools.commands.CommandPageCreater;
|
||||||
import tools.hashmethods.HashAlgorithmsDescriptionTask;
|
import tools.hashmethods.HashAlgorithmsDescriptionTask;
|
||||||
import tools.permissions.PermissionsListWriter;
|
import tools.permissions.PermissionsListWriter;
|
||||||
|
import tools.utils.AutoToolTask;
|
||||||
import tools.utils.ToolTask;
|
import tools.utils.ToolTask;
|
||||||
|
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
@ -12,9 +13,9 @@ import java.util.Set;
|
|||||||
/**
|
/**
|
||||||
* Task that runs all tasks which update files in the docs folder.
|
* 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<Class<? extends ToolTask>> TASKS = ImmutableSet.<Class<? extends ToolTask>>of(
|
private static final Set<Class<? extends ToolTask>> TASKS = ImmutableSet.<Class<? extends ToolTask>>of(
|
||||||
CommandPageCreater.class, HashAlgorithmsDescriptionTask.class, PermissionsListWriter.class);
|
CommandPageCreater.class, HashAlgorithmsDescriptionTask.class, PermissionsListWriter.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -23,17 +24,25 @@ public class UpdateDocsTask implements ToolTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(Scanner scanner) {
|
public void execute(final Scanner scanner) {
|
||||||
for (Class<? extends ToolTask> taskClass : TASKS) {
|
executeTasks(new TaskRunner() {
|
||||||
try {
|
@Override
|
||||||
ToolTask task = instantiateTask(taskClass);
|
public void execute(ToolTask task) {
|
||||||
System.out.println("\nRunning " + task.getTaskName() + "\n-------------------");
|
|
||||||
task.execute(scanner);
|
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<? extends ToolTask> clazz) {
|
private static ToolTask instantiateTask(Class<? extends ToolTask> clazz) {
|
||||||
@ -43,4 +52,21 @@ public class UpdateDocsTask implements ToolTask {
|
|||||||
throw new UnsupportedOperationException(e);
|
throw new UnsupportedOperationException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void executeTasks(TaskRunner runner) {
|
||||||
|
for (Class<? extends ToolTask> 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user