Chris, I think you have set up your Eclipse's project's output to be target/classes. The new .class file is compiled by Eclipse, and Buildr doesn't see the changes because Eclipse sets up the timestamp on the .class file.
Ideally, you'd want to have Eclipse compile classes in a different target folder, like bin. This way both systems are independent. That's what I have done on most of my projects. It sometimes cannot work if you are adding class files through antlr or similar practices. On Fri, Feb 8, 2013 at 5:29 AM, Chris Bozic <[email protected]> wrote: > Alex, > > When making my simple test project, I discovered that Eclipse Juno seems to > be a key ingredient in getting this behavior to occur in Buildr. Other > editors I test seem to cause Buildr to detect the change in src/test/java > as desired. I'm not sure what Eclipse Juno is doing differently. It > appears to be updating the last modified timestamp in the file system like > the other editors. > > Although, it's not currently clear where the problem is, I'll still submit > the test project with my notes so the Buildr experts can be aware of it. > > https://issues.apache.org/jira/browse/BUILDR-661 > > Thanks, > Chris Bozic > > On Fri, Feb 8, 2013 at 12:58 AM, Alex Boisvert <[email protected] > >wrote: > > > Hi Chris, > > > > Buildr should detect the new test, compile it and and run it as soon as > > it's added. If you're not seeing this, it's a bug. Please file an > > issue and if you can, include a project that reproduces the behavior > you're > > seeing. We'll review it and figure out what's going on... > > > > alex > > > > On Thu, Feb 7, 2013 at 5:11 PM, Chris Bozic <[email protected]> wrote: > > > > > I have a buildr test behavior situation and I'd like to respectfully > get > > > some opinions. I have a typical Java project where I have source code > > > under src/main/java and I have test code under src/test/java. Suppose > I > > > start by running "buildr clean test" which runs all tests after > compiling > > > everything. Next, suppose I add a test method to an existing test > class > > > under src/test/java without touching any code under src/main/java. > Now, > > I > > > want to execute that new test by running "buildr test" > > > > > > What should happen next? > > > a) Buildr compiles the new test and executes it > > > b) Buildr ignores the new test because no files under src/main/java > were > > > touched > > > > > > Currently, choice B happens and most of the time under different > > use-cases > > > I think that's great! However, with the use-case I describe, I'm not > > sure > > > it's good. It's possible that in larger projects with several > > sub-projects > > > (each with their own tests) that a developer might think Buildr > executed > > > the new test and perceive a false "success". This situation is > worsened > > if > > > the new test fails when it actually is executed revealing a bug in > > > src/main/java that might now go overlooked because of this behavior in > > > Buildr. > > > > > > I wonder what others think of this situation. Am I missing something? > > > > > > Respectfully, > > > Chris Bozic > > > > > > Running Buildr 1.4.9 > > > > > >
