If you have something that works in Ant, and you're happy with it, then I wouldn't worry too much about doing it in the Maven way.
If you really want to make it work "the Maven way", I think it might be easiest if you just write a plugin. Wayne On 8/23/07, Dave Feltenberger <[EMAIL PROTECTED]> wrote: > Hi - > > I'm working on a project that has the need to do the following, and I can't > think of an elegant way of achieving it using Maven without having to call > out to Ant: > > We have several clients, each of which get a customized Java Web Start / > .jnlp file. There are only 5 clients now, but the number could explode very > quickly, so automation is key. The jnlp files are almost identical, with > only a few things changed. In the current Ant build system -- which I'm > replacing with Maven2 -- one template.jnlp file is copied n times, one for > each client. Each client has its own properties file that is used to filter > the jnlp. So basically we start with: > > template.jnlp > client1.properties > client2.properties > client3.properties > > And end up with: > client1.jnlp (with the filtered properties in it) > client2.jnlp (ditto) > client3.jnlp (ditto) > etc. > > It's not practical to create a new POM/artifact for each new client, since > there may be so many so soon. The only thing I know how to do is to add > multiple properties files and multiple files to filter, but that's done at > more of a global level - the filter attributes in the jnlp files will be the > same since they'll come from the same template, so I need to do them one > .properties and .jnlp at a time. > > This is what I have so far that works for only one client at a time (copy > the template to a new file in generate-resources phase, then do the > filtering during the regular life cycle). I'm considering changing this to > do more work in the Ant taks - looping through a list, creating each .jnlp, > filtering, etc. -- but I feel like I'm breaking some kind of best practice > or re-creating a wheel someone on the list may have already created by going > down that path. > > ... > <build> > <filters> > <filter>src/main/filters/${client.filter}.properties</filter> > </filters> > <resources> > <resource> > <directory>${temp.resources.dir}</directory> > <includes> > <include>${client.filter}.jnlp</include> > </includes> > <filtering>true</filtering> > </resource> > </resources> > </build> > ... > <plugins> > <plugin> > <inherited>true</inherited> > <artifactId>maven-antrun-plugin</artifactId> > <executions> > <execution> > <phase>generate-resources</phase> > <configuration> > <tasks> > <mkdir dir="${temp.resources.dir}" /> > <copy file="${jnlp.template.file}" > tofile="${temp.resources.dir}/${client.filter}.jnlp" /> > </tasks> > </configuration> > <goals> > <goal>run</goal> > </goals> > </execution> > </executions> > </plugin> > </plugins> > > Any help would be greatly appreciated! > > Thanks. > > Dave > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]