Search in sources :

Example 1 with AntTarget

use of org.gradle.api.tasks.ant.AntTarget in project gradle by gradle.

the class DefaultAntBuilder method importBuild.

public void importBuild(Object antBuildFile, Transformer<? extends String, ? super String> taskNamer) {
    File file = gradleProject.file(antBuildFile);
    final File baseDir = file.getParentFile();
    Set<String> existingAntTargets = new HashSet<String>(getAntProject().getTargets().keySet());
    File oldBaseDir = getAntProject().getBaseDir();
    getAntProject().setBaseDir(baseDir);
    try {
        getAntProject().setUserProperty(MagicNames.ANT_FILE, file.getAbsolutePath());
        ProjectHelper.configureProject(getAntProject(), file);
    } catch (Exception e) {
        throw new GradleException("Could not import Ant build file '" + String.valueOf(file) + "'.", e);
    } finally {
        getAntProject().setBaseDir(oldBaseDir);
    }
    // Chuck away the implicit target. It has already been executed
    getAntProject().getTargets().remove("");
    // Add an adapter for each newly added target
    Set<String> newAntTargets = new HashSet<String>(getAntProject().getTargets().keySet());
    newAntTargets.removeAll(existingAntTargets);
    for (String name : newAntTargets) {
        final Target target = getAntProject().getTargets().get(name);
        String taskName = taskNamer.transform(target.getName());
        final AntTarget task = gradleProject.getTasks().create(taskName, AntTarget.class);
        configureTask(target, task, baseDir, taskNamer);
    }
}
Also used : AntTarget(org.gradle.api.tasks.ant.AntTarget) Target(org.apache.tools.ant.Target) File(java.io.File) MissingPropertyException(groovy.lang.MissingPropertyException) AntTarget(org.gradle.api.tasks.ant.AntTarget)

Aggregations

MissingPropertyException (groovy.lang.MissingPropertyException)1 File (java.io.File)1 Target (org.apache.tools.ant.Target)1 AntTarget (org.gradle.api.tasks.ant.AntTarget)1