You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by jonathan doklovic <li...@sysbliss.com> on 2008/07/01 18:35:46 UTC

Wildcards in depends?

Hi,

I was wondering if anyone else thought being able to specify wildcards 
in the depends attribute of the target would be helpful.
Where I work, we use a lot of build fragments that get imported, and we 
would like the ability to allow the developer to add/remove build 
funtionality easilt without disrupting the basic workflow.

essentially something like:

build.xml imports base-java.xml and java-checkstyle.xml

base-java.xml:
<target name="pre-compile" depends="java-pre-plugin*,compile" />

java-checkstyle.xml
<target name="java-pre-plugin-checkstyle"> ... run checkstyle ... </target>

This way a developer can add/remove something like checkstyle simply by 
adding/removing the import.
This would also allow the developer to use a different syntax checker 
simply by the import.

I think the most reasonable way to do this would be to modify the 
addDependency method in Target.java. Something like this:
public void addDependency(final String dependency) {
    if (dependencies == null) {
        dependencies = new ArrayList(2);
    }

    if (dependency.endsWith("*")) {
        String key;
        final String prefix = dependency.substring(0, 
(dependency.indexOf("*") - 1));
        final Enumeration<String> e = getProject().getTargets().keys();
        while (e.hasMoreElements()) {
        key = e.nextElement();
        if (key.startsWith(prefix)) {
            dependencies.add(dependency);
        }
        }
    } else {
        dependencies.add(dependency);
    }
}

any thoughts?

- Jonathan


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org