I haven't seen your Buildfile, so it's kind of a shot in the dark: since we use timestamps to control what changed, Buildr probably didn't do anything the second time you asked, as the modification occurred last than a second before.
Maybe adding a sleep for 1s would help. On Tue, Jan 18, 2011 at 05:46, Ingo Schmidt <[email protected]> wrote: > Hi folks, > > consider this very simple project with just two files in it: > /test/app-war/src/main/webapp/css/test.css > /test/app-war/src/main/webapp/test.html > > Create a build file from directory structure for this and then execute the > following commands: > > buildr package > echo "test" > /test/app-war/src/main/webapp/css/test.css > buildr package > > The first command creates a WAR package with my files in it. So far, so > good. > The second command updates the test.css file. > The third command executes the package task again, but buildr did not > detect any changes! The WAR still contains the old file! > > Is this a bug? If not, could someone explain to me why not? > > Now if I make a change to the "test.html" file, then buildr will detect the > change - and also update my css file! > buildr also detects changes if I "touch" the webapp folder. > > It seems to me that buildr works like this: > The WarTask has the webapp folder as prerequisite. If I change a file > inside the webapp folder, this updates the timestamp for the webapp folder > and the prerequisite is executed. However, if I change a file in a > subfolder, then the timestamp of webapp is of course not touched and thus > the task does not execute. Is this correct? > > Anyhow, I would have expected buildr to pick up changes anywhere in the > webapp folder by itself. Any help on this would be greatly appreciated! > > > Cheers, Ingo =;-> >
