I think I should just give up on this problem because I don't think Maven has the ability to solve it, and if it does, I have no idea where to look for a solution and its clear nobody else writing java web applications knows how to solve this problem :/
I guess I am stuck with manually including each main file on each page where it is used, or coding everything in an all.js manually :/ Even if I can get Maven to properly call the YUI:compress goal at the right time, I still have maintain two lists of css and javascript files for my application - one for the aggregations, and one for my freemarker template that switches between using all the individual source files for development, or using the all.css/all.js for production. I genuinely don't see a nice solution to do what the Rails people have conveniently got in place. I am totally flustered that the Maven/Spring combo has no good for answer to this problem :( Ken On Sat, Dec 3, 2011 at 4:19 PM, Ken Egervari <[email protected]> wrote: > I think the problem is that there is no phase I can merge into just after > it prepares the war directory - at least not from where I can see in the > life-cycle documentation. What is the phase name? Is it not any of the > package or pre-package phases - it is still too early or too late. > > Ken > > > > On Fri, Dec 2, 2011 at 5:16 AM, Jeff MAURY <[email protected]>wrote: > >> By default, the compress goal of the YUI maven plugin is bound to the >> process-resources phase. >> So, you need to bind it to another phase after the war plugin has produced >> the war directory structure the Tomcat plugin will use. >> I recommand you also customize the outputDirectory parameter of the YUI >> maven plugin because the default value does not comply with the standard >> Maven War directory layout. >> >> Regards >> Jeff MAURY >> >> ---------- Forwarded message ---------- >> From: fe.character.guide <[email protected]> >> Date: Fri, Dec 2, 2011 at 7:17 AM >> Subject: YUI Compressor Maven plugin executed at wrong time and tomcat >> plugin not using yui-compressor output >> To: [email protected] >> >> >> Hello everyone! >> >> I'm trying to get some basic maven build processes configured correctly >> with my Java project, and beyond Stackoverflow, I'm not sure >> where else to turn. >> >> I'd like to compress all of my javascript files and aggregate them using >> YUICompressor, and I saw that there was a maven plugin to allow me to do >> this. I got it working for the most part. >> >> I am also using the Mojo tomcat plugin as well. When i go to run the >> tomcat:run goal, tomcat does not read from the target's output >> directory (this is where the YUI compressor put my javascript files) - but >> rather, it reads from the actual source files in my "src/main/ >> webapp/scripts" directory. Of course, the aggregated javascript file >> (all.js) is not there. This makes sense, but is a big problem for me. >> >> I have a few questions. >> >> 1. How can I get the tomcat plugin to read the target's output folder that >> the yui compressor plugin created? >> >> 2. Do I have to run the yui compressor maven goal every time I want to >> update my javascript files during development while my tomcat instance is >> running? >> >> 3. How can tell Maven that I want to run the YUI compressor AFTER Maven >> copies over the `src/main/webapp` directory? Currently, Maven runs the YUI >> compressor, but then overwrites all of the compressed css and javascript >> files with the original source files, defeating the purposes of >> compressing >> them ;) >> >> 4. Is there a better way to achieve my objective rather than using the YUI >> compressor? Essentially, my end goal is to be able to develop JavaScript >> code in separate files and test my source files in development mode >> without >> having to aggregate them... but I want to compress and aggregate the files >> and use the `all.js` script when the application is running in production >> mode. >> >> While the Rails people have certainly figured this out, this seems to be a >> non-trivial thing to do with Maven and Spring. >> I would appreciate any and all assistance on how I can get this running >> correctly. Thanks! >> >> >> >> -- >> "Legacy code" often differs from its suggested alternative by actually >> working and scaling. >> - Bjarne Stroustrup >> >> http://www.jeffmaury.com >> http://riadiscuss.jeffmaury.com >> http://www.twitter.com/jeffmaury >> > >
