diff --git a/src/main/resources/org/jenkinsci/plugins/unity3d/workflow/Unity3dBuilderStep/config.jelly b/src/main/resources/org/jenkinsci/plugins/unity3d/workflow/Unity3dBuilderStep/config.jelly
new file mode 100644
index 00000000..d31b089c
--- /dev/null
+++ b/src/main/resources/org/jenkinsci/plugins/unity3d/workflow/Unity3dBuilderStep/config.jelly
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/org/jenkinsci/plugins/unity3d/workflow/Unity3dBuilderStep/help.html b/src/main/resources/org/jenkinsci/plugins/unity3d/workflow/Unity3dBuilderStep/help.html
new file mode 100644
index 00000000..f900ad2e
--- /dev/null
+++ b/src/main/resources/org/jenkinsci/plugins/unity3d/workflow/Unity3dBuilderStep/help.html
@@ -0,0 +1,4 @@
+For projects that use Unity3d as the build system.
+ This causes Jenkins to invoke the Unity3d Editor with the given command line arguments.
+ A non-zero exit code from Unity3d makes Jenkins mark the build as a failure.
+
\ No newline at end of file
diff --git a/src/main/resources/org/jenkinsci/plugins/unity3d/Unity3dBuilder/help-argLine.html b/src/main/webapp/help-argLine.html
similarity index 100%
rename from src/main/resources/org/jenkinsci/plugins/unity3d/Unity3dBuilder/help-argLine.html
rename to src/main/webapp/help-argLine.html
diff --git a/src/main/resources/org/jenkinsci/plugins/unity3d/Unity3dBuilder/help-name.html b/src/main/webapp/help-name.html
similarity index 100%
rename from src/main/resources/org/jenkinsci/plugins/unity3d/Unity3dBuilder/help-name.html
rename to src/main/webapp/help-name.html
diff --git a/src/test/java/org/jenkinsci/plugins/unity3d/Unity3dBuilderTest.java b/src/test/java/org/jenkinsci/plugins/unity3d/Unity3dBuilderTest.java
index 006171be..b044b843 100644
--- a/src/test/java/org/jenkinsci/plugins/unity3d/Unity3dBuilderTest.java
+++ b/src/test/java/org/jenkinsci/plugins/unity3d/Unity3dBuilderTest.java
@@ -78,6 +78,20 @@ public void environmentAndBuildVariablesParsing() {
assertEquals(expectedArgs, commandlineArgs.toList());
assertEquals("Serialized arg line not modified", argLine, builder.getArgLine());
}
+
+ @Test
+ public void nullBuildVariables() {
+ EnvVars vars = new EnvVars();
+
+ argLine = "-quit -batchmode -ExecuteMethod foo";
+ expectedArgs = asList(exe, "-projectPath", moduleRootRemote, "-quit", "-batchmode", "-ExecuteMethod", "foo");
+
+ Unity3dBuilder builder = new Unity3dBuilder("Unity 3.5", argLine, "");
+ ArgumentListBuilder commandlineArgs = builder.createCommandlineArgs(exe, moduleRootRemote, vars, null);
+
+ assertEquals(expectedArgs, commandlineArgs.toList());
+ assertEquals("Serialized arg line not modified", argLine, builder.getArgLine());
+ }
@Test
public void environmentAndBuildVariablesParsingWithEnvVarsThatReferencesBuildParameters() {
@@ -100,11 +114,13 @@ public void environmentAndBuildVariablesParsingWithEnvVarsThatReferencesBuildPar
@Test
public void unstableErrorCodesParsing() throws Exception {
ensureUnstableReturnCodesParsingWorks(new Integer[]{}, "");
+ ensureUnstableReturnCodesParsingWorks(new Integer[]{}, null);
ensureUnstableReturnCodesParsingWorks(new Integer[]{2, 3}, "2,3");
ensureUnstableReturnCodesParsingWorks(new Integer[]{-1}, "-1");
ensureUnstableReturnCodesParsingWorks(new Integer[]{2, 3}, "2, 3");
ensureUnstableReturnCodesParsingWorks(new Integer[]{2, 3}, " 2 ,3 ");
ensureUnstableReturnCodesParsingFails(" 2 , ,,");
+ ensureUnstableReturnCodesParsingFails("2.3");
}
private void ensureUnstableReturnCodesParsingWorks(Integer[] expectedResultCodes, String unstableReturnCodes) throws Exception {
diff --git a/src/test/java/org/jenkinsci/plugins/unity3d/io/PipeTest.java b/src/test/java/org/jenkinsci/plugins/unity3d/io/PipeTest.java
index 20457c5f..5514c110 100644
--- a/src/test/java/org/jenkinsci/plugins/unity3d/io/PipeTest.java
+++ b/src/test/java/org/jenkinsci/plugins/unity3d/io/PipeTest.java
@@ -1,7 +1,7 @@
package org.jenkinsci.plugins.unity3d.io;
import hudson.Launcher;
-import hudson.remoting.Callable;
+import jenkins.security.MasterToSlaveCallable;
import hudson.remoting.Future;
import hudson.remoting.VirtualChannel;
import hudson.slaves.DumbSlave;
@@ -70,7 +70,7 @@ private void doPipingFromRemoteTest(Launcher l) throws IOException, InterruptedE
}
- private static class PipingCallable implements Callable, Serializable {
+ private static class PipingCallable extends MasterToSlaveCallable implements Serializable {
private final OutputStream out;
public PipingCallable(OutputStream out) {