Skip to content
This repository has been archived by the owner on Jul 14, 2022. It is now read-only.

Commit

Permalink
bump to 0.1.0, fixed an NPE in validation, broke out the TaskView int…
Browse files Browse the repository at this point in the history
…o separate class, added Batch mode.
  • Loading branch information
ruckc committed Dec 8, 2014
1 parent ef4652a commit ea9c076
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 23 deletions.
13 changes: 11 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,18 @@
<modelVersion>4.0.0</modelVersion>
<groupId>io.ruck</groupId>
<artifactId>gocd-maven-plugin</artifactId>
<version>0.0.1</version>
<version>0.1.0</version>
<packaging>jar</packaging>
<description>gocd task plugin for maven builds</description>
<description>maven task plugin for GoCD</description>
<url>https://github.com/ruckc/gocd-maven-plugin</url>
<developers>
<developer>
<id>ruckc</id>
<name>Curtis Ruck</name>
<url>https://github.com/ruckc</url>
</developer>
</developers>
<inceptionYear>2014</inceptionYear>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
Expand Down
19 changes: 3 additions & 16 deletions src/main/java/io/ruck/maven/gocd/plugin/MavenTask.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ public class MavenTask implements Task {
public static final String OFFLINE_KEY = "Offline";
public static final String QUIET_KEY = "Quiet";
public static final String DEBUG_KEY = "Debug";
public static final String BATCH_KEY = "Batch";

@Override
public TaskConfig config() {
Expand All @@ -32,6 +33,7 @@ public TaskConfig config() {
config.addProperty(OFFLINE_KEY);
config.addProperty(QUIET_KEY);
config.addProperty(DEBUG_KEY);
config.addProperty(BATCH_KEY).withDefault("true");
return config;
}

Expand All @@ -42,22 +44,7 @@ public TaskExecutor executor() {

@Override
public TaskView view() {
return new TaskView() {

@Override
public String displayValue() {
return "Maven";
}

@Override
public String template() {
try {
return IOUtils.toString(getClass().getResourceAsStream("/views/maventask.template.html"));
} catch (IOException ex) {
return "Failed to find template: " + ex.getMessage();
}
}
};
return new MavenTaskView();
}

@Override
Expand Down
16 changes: 12 additions & 4 deletions src/main/java/io/ruck/maven/gocd/plugin/MavenTaskExecutor.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.ruck.maven.gocd.plugin;

import com.thoughtworks.go.plugin.api.logging.Logger;
import com.thoughtworks.go.plugin.api.response.execution.ExecutionResult;
import com.thoughtworks.go.plugin.api.task.Console;
import com.thoughtworks.go.plugin.api.task.TaskConfig;
Expand All @@ -9,6 +10,7 @@
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang.StringUtils;

Expand All @@ -17,6 +19,7 @@
* @author ruckc
*/
public class MavenTaskExecutor implements TaskExecutor {
private static final Logger LOGGER = Logger.getLoggerFor(MavenTaskExecutor.class);

@Override
public ExecutionResult execute(TaskConfig tc, TaskExecutionContext tec) {
Expand Down Expand Up @@ -50,21 +53,26 @@ private ProcessBuilder createMavenCommand(TaskConfig tc, TaskExecutionContext te
List<String> command = new ArrayList<String>();

command.add("mvn");
if (tc.getValue(MavenTask.DEBUG_KEY).equals("true")) {
if (StringUtils.equals(tc.getValue(MavenTask.DEBUG_KEY),"true")) {
command.add("-X");
}
if (tc.getValue(MavenTask.QUIET_KEY).equals("true")) {
if (StringUtils.equals(tc.getValue(MavenTask.QUIET_KEY),"true")) {
command.add("-q");
}
if (tc.getValue(MavenTask.OFFLINE_KEY).equals("true")) {
if (StringUtils.equals(tc.getValue(MavenTask.OFFLINE_KEY),"true")) {
command.add("-o");
}
if (StringUtils.equals(tc.getValue(MavenTask.BATCH_KEY),"true")) {
command.add("-B");
}
if (!StringUtils.isBlank(tc.getValue(MavenTask.PROFILES_KEY))) {
command.add("-p");
command.add(tc.getValue(MavenTask.PROFILES_KEY));
}
command.add(tc.getValue(MavenTask.ARGUMENTS_KEY));
command.addAll(Arrays.asList(tc.getValue(MavenTask.ARGUMENTS_KEY).split("\\s+")));

LOGGER.debug("Building command: "+command);

ProcessBuilder builder = new ProcessBuilder(command);
builder.directory(new File(tec.workingDir()));
return builder;
Expand Down
27 changes: 27 additions & 0 deletions src/main/java/io/ruck/maven/gocd/plugin/MavenTaskView.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package io.ruck.maven.gocd.plugin;

import com.thoughtworks.go.plugin.api.task.TaskView;
import java.io.IOException;
import org.apache.commons.io.IOUtils;

/**
*
* @author ruckc
*/
public class MavenTaskView implements TaskView {

@Override
public String displayValue() {
return "Maven";
}

@Override
public String template() {
try {
return IOUtils.toString(getClass().getResourceAsStream("/views/maventask.template.html"));
} catch (IOException ex) {
return "Failed to find template: " + ex.getMessage();
}
}

}
2 changes: 1 addition & 1 deletion src/main/resources/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
<go-plugin id="io.ruck.maven" version="1">
<go-plugin id="maven" version="1">
<about>
<name>Maven plugin</name>
<version>${project.version}</version>
Expand Down
5 changes: 5 additions & 0 deletions src/main/resources/views/maventask.template.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,9 @@
<input id="debug" type="hidden" ng-model="Debug" value="{{Debug}}">
<label for="debug">Adds -X enable debug mode</label>
</div>
<div class="checkbox_row">
<input id="batch2" type="checkbox" ng-model="Batch2" ng-init="Batch2 = Batch" ng-change="Batch = Batch2" ng-true-value="true" ng-false-value="false" checked="checked">
<input id="batch" type="hidden" ng-model="Batch" value="{{Batch}}">
<label for="batch">Adds -B to enable batch (non-interactive) mode</label>
</div>
</div>

0 comments on commit ea9c076

Please sign in to comment.