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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to