Browse Source

small refactorings

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276792 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 21 years ago
parent
commit
e3bbc7c3c0
5 changed files with 40 additions and 16 deletions
  1. +1
    -0
      proposal/sandbox/dotnet/build.xml
  2. +3
    -2
      proposal/sandbox/dotnet/src/etc/testcases/dotnetexec.xml
  3. +2
    -7
      proposal/sandbox/dotnet/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/AbstractBuildTask.java
  4. +32
    -0
      proposal/sandbox/dotnet/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/DotNetExecTask.java
  5. +2
    -7
      proposal/sandbox/dotnet/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/WixTask.java

+ 1
- 0
proposal/sandbox/dotnet/build.xml View File

@@ -71,6 +71,7 @@
printsummary="false"
haltonfailure="false"
failureproperty="tests.failed"
filtertrace="false"
>
<classpath>
<pathelement location="${jarname}"/>


+ 3
- 2
proposal/sandbox/dotnet/src/etc/testcases/dotnetexec.xml View File

@@ -76,8 +76,9 @@
<target name="testCSC" depends="validate_csc">
<csc
destFile="${testCSC.exe}"
targetType="exe"
/>
targetType="exe">
<src dir="${src.dir}" includes="ex*.cs"/>
</csc>
<available property="app.created" file="${testCSC.exe}"/>
<fail unless="app.created">No app ${testCSC.exe} created</fail>
<dn:dotnetexec executable="${testCSC.exe}" failonerror="true" />


+ 2
- 7
proposal/sandbox/dotnet/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/AbstractBuildTask.java View File

@@ -202,13 +202,8 @@ public abstract class AbstractBuildTask extends Task {
+ " same time");
}

DotNetExecTask exec = new DotNetExecTask();
if (vm != null) {
exec.setVm(vm);
}
exec.setProject(getProject());
exec.setExecutable(getExecutable());
exec.setTaskName(getTaskName());
DotNetExecTask exec = DotNetExecTask.getTask(this, vm,
getExecutable(), null);
String[] args = getPropertyArguments(properties);
for (int i = 0; i < args.length; i++) {
exec.createArg().setValue(args[i]);


+ 32
- 0
proposal/sandbox/dotnet/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/DotNetExecTask.java View File

@@ -18,8 +18,10 @@
package org.apache.tools.ant.taskdefs.optional.dotnet;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.ExecTask;
import org.apache.tools.ant.taskdefs.condition.Os;
import org.apache.tools.ant.types.Environment;

/**
* Specialized <exec> that knows how to deal with Mono vs. Microsoft's
@@ -115,4 +117,34 @@ public class DotNetExecTask extends ExecTask {
protected final static boolean isMono(String vm) {
return "mono".equals(vm) || "mint".equals(vm);
}

/**
* Creates an instance of this task based on a different tasks settings.
*/
public static DotNetExecTask getTask(Task t, String vm,
String executable,
Environment env) {
DotNetExecTask exec = new DotNetExecTask();
if (vm != null) {
exec.setVm(vm);
}
exec.setProject(t.getProject());
exec.setExecutable(executable);
exec.setTaskName(t.getTaskName());
if (env != null) {
String[] environment = env.getVariables();
if (environment != null) {
for (int i = 0; i < environment.length; i++) {
int idx = environment[i].indexOf("=");
Environment.Variable v = new Environment.Variable();
v.setKey(environment[i].substring(0, idx));
v.setValue(environment[i].substring(idx + 1));
exec.addEnv(v);
}
}
}
return exec;
}

}

+ 2
- 7
proposal/sandbox/dotnet/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/WixTask.java View File

@@ -211,13 +211,8 @@ public class WixTask extends Task {
* potentially adding an /out parameter.
*/
private void run(String executable, List s, File target) {
DotNetExecTask exec = new DotNetExecTask();
if (vm != null) {
exec.setVm(vm);
}
exec.setProject(getProject());
exec.setExecutable(executable);
exec.setTaskName(getTaskName());
DotNetExecTask exec = DotNetExecTask.getTask(this, vm,
executable, null);
Iterator iter = s.iterator();
while (iter.hasNext()) {
File f = (File) iter.next();


Loading…
Cancel
Save