Skip to content

Instantly share code, notes, and snippets.

@jasonhofer
Created May 7, 2012 15:29
Show Gist options
  • Save jasonhofer/2628415 to your computer and use it in GitHub Desktop.
Save jasonhofer/2628415 to your computer and use it in GitHub Desktop.
Apache Ant Javascript snippets
//
// Ant Javascript snippets
//
import(java.io.File);
importClass(Packages.org.apache.tools.ant.types.Environment);
importClass(Packages.org.apache.tools.ant.taskdefs.Echo);
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, "");
};
var local = project.createTask("local");
local.setName("result");
local.execute();
// Casting null to string returns the actual word "null"
var cmd = elements.get("command") || "";
var dir = elements.get("dir") || project.getBaseDir();
var foe = elements.get("failonerror") || "true";
var msg = ("" + self.text).trim() || (elements.get("message") || "").trim();
var exec = project.createTask("exec");
exec.setExecutable(project.getProperty("the.executable"));
exec.setDir(new File(dir));
exec.setFailonerror(project.toBoolean(foe));
if ("" != cmd) {
exec.createArg().setValue(cmd);
}
if ("" != msg) {
exec.createArg().setValue("--message");
exec.createArg().setValue(msg);
}
var filesets = elements.get("fileset"); // returns null or a Java ArrayList
if (null !== filesets && filesets.size() > 0) {
// code that depends on at least one fileset being given
}
var apply = project.createTask("apply");
if (null !== filesets) {
for each(var fileset in filesets.toArray()) {
apply.addFileset(fileset);
}
}
var env = new Environment.Variable();
env.setKey("MY_ENV_VAR");
env.setValue(project.getProperty("me.env.var.value"));
exec.addEnv(env);
var e = project.createTask("echo");
var lvl = new Echo.EchoLevel();
lvl.setValue(attributes.get("level"));
e.setLevel(lvl);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment