Ok, not the best but sure
Le 7 sept. 2012 08:52, "Mark Struberg" <strub...@yahoo.de> a écrit :

> I guess you missed me. I will not hand-pick which tests to run but run ALL
> tests of a module if a SINGLE file got changed on the input
> classpath/dependencies.
>
> It's all or nothing to be on the safe side.
>
> LieGrue,
> strub
>
>
>
>
> ----- Original Message -----
> > From: Romain Manni-Bucau <rmannibu...@gmail.com>
> > To: Mark Struberg <strub...@yahoo.de>; Maven Developers List <
> dev@maven.apache.org>
> > Cc:
> > Sent: Friday, September 7, 2012 8:48 AM
> > Subject: Re: [incremental build] Detect leftovers from a previous build
> >
> > How? If i change a class in main/java but the test is done by reflection
> > youll miss it
> > Le 7 sept. 2012 08:46, "Mark Struberg" <strub...@yahoo.de> a
> > écrit :
> >
> >>
> >>
> >>  Romain, we can perfectly do that!
> >>
> >>  We just need to check whether anything on the input classpath got
> changed
> >>  (jars, classes, etc).
> >>
> >>  Of course there are cases where you like to manually re-run tests over
> >>  again. For those cases we would need to introduce a 'force' flag
> > somehow.
> >>
> >>  LieGrue,
> >>  strub
> >>
> >>
> >>  >________________________________
> >>  > From: Romain Manni-Bucau <rmannibu...@gmail.com>
> >>  >To: Mark Struberg <strub...@yahoo.de>; Maven Developers List <
> >>  dev@maven.apache.org>
> >>  >Sent: Friday, September 7, 2012 8:41 AM
> >>  >Subject: Re: [incremental build] Detect leftovers from a previous
> build
> >>  >
> >>  >
> >>  >You cant do it dor surefire. Tests are sometimes done by reflection
> and
> >>  you cant ask a dep tree by test.in real world.
> >>  >Le 7 sept. 2012 08:37, "Mark Struberg"
> > <strub...@yahoo.de> a écrit :
> >>  >
> >>  >> I may be missing something, but if all plugins implement this
> > logic,
> >>  >>> how it will be different from implicitly doing
> > "clean" during each
> >>  >>> build?
> >>  >>
> >>  >>There is actually a huge difference
> >>  >>
> >>  >>a.) yes, there are quite a few of such plugins which do not need
> > this.
> >>  Think about sql-maven-plugin, openjpa-maven-plugin, etc
> >>  >>
> >>  >>b.) A plugin will only delete all it's output from a previous
> > invocation
> >>  AFTER it detects that it really needs to do something! If there is
> e.g. no
> >>  .java file which is newer than it's corresponding .class and no .java
> > file
> >>  got added or removed, then the whole compilation doesn't get triggered.
> > Of
> >>  course it's currently (without such a helper) hard to detect if a file
> > got
> >>  removed from src/...
> >>  >>
> >>  >>A very simple hack would be to create a DirectoryScanner and store
> > /
> >>  later compare the md5 of all ./src files and trigger the clean
> lifecycle if
> >>  that got changed. That seems to be the stuff the
> incremental-build-plugin
> >>  does.
> >>  >>That would be better than nothing, but not sure if it would be
> >>  sufficient. I'd at least try to get rid of unnecessary surefire
> > executions.
> >>  >>
> >>  >>LieGrue,
> >>  >>strub
> >>  >>
> >>  >>
> >>  >>
> >>  >>
> >>  >>----- Original Message -----
> >>  >>> From: Igor Fedorenko <i...@ifedorenko.com>
> >>  >>> To: dev@maven.apache.org
> >>  >>> Cc:
> >>  >>> Sent: Friday, September 7, 2012 4:14 AM
> >>  >>> Subject: Re: [incremental build] Detect leftovers from a
> > previous build
> >>  >>>
> >>  >>> I may be missing something, but if all plugins implement this
> > logic,
> >>  >>> how it will be different from implicitly doing
> > "clean" during each
> >>  >>> build? Or, put differently, are there plugins that do not need
> > to clean
> >>  >>> their previous output to be absolutely sure they properly
> > handle
> >>  >>> incremental rebuilds?
> >>  >>>
> >>  >>> --
> >>  >>> Regards,
> >>  >>> Igor
> >>  >>>
> >>  >>> On 12-09-06 2:52 PM, Mark Struberg wrote:
> >>  >>>>
> >>  >>>>
> >>  >>>>  Hi!
> >>  >>>>
> >>  >>>>  I had some idea for detecting stale changes in maven
> > which is pretty
> >>  >>> generic
> >>  >>>>
> >>  >>>>
> >>  >>>>  The problem hits us if you compile BeanA and BeanA2 in a
> > project
> >>  where
> >>  >>> BeanA2 is using BeanA.
> >>  >>>>  On a
> >>  >>>>
> >>  >>>>  $> mvn clean compile
> >>  >>>>
> >>  >>>>  you will get both BeanA.class and BeanA2.class in
> > target/classes
> >>  >>>>  Now delete BeanA.java
> >>  >>>>  Currently (2.6-SNAPSHOT) the maven-compiler-plugin only
> > compiles all
> >>  >>> sources without doing any cleanup and thus BeanA.class will
> > still
> >>  remain in
> >>  >>> target/classes.
> >>  >>>>
> >>  >>>>
> >>  >>>>  That is clearly a bug as BeanA2 will be left broken,
> > packaged into a
> >>  broken
> >>  >>> jar, ...
> >>  >>>>
> >>  >>>>
> >>  >>>>
> >>  >>>>  How can we avoid that?
> >>  >>>>
> >>  >>>>  Simple answer: A plugin which doesnt support those cases
> > by the
> >>  underlying
> >>  >>> took (javac) must always first clean up the stuff it generated
> > during
> >>  the last
> >>  >>> invocation.
> >>  >>>>
> >>  >>>>  How can we do that?
> >>  >>>>
> >>  >>>>  step 1: Start a DirectoryScanner and get all files in
> > target/classes.
> >>  >>> Remember this list!
> >>  >>>>
> >>  >>>>
> >>  >>>>  step 2: Run the compiler
> >>  >>>>
> >>  >>>>
> >>  >>>>  step 3: List all files in target/classes again and remove
> > all files
> >>  you
> >>  >>> found in step 1. You will end up with a list of all files
> > generated by
> >>  the
> >>  >>> compilation as result.
> >>  >>>>
> >>  >>>>  step 4: Store this list into
> >>  >>>
> > target/maven-status/maven-compiler-plugin/default/createdfiles.lst
> >>  >>> ('default' is the plugin execution. We need this in
> > case we have
> >>  >>> multiple <executions>).
> >>  >>>>
> >>  >>>>
> >>  >>>>  On the next compile you just need to check if you have
> > such a
> >>  >>> createdfiles.lst file and then first remove all the files
> > listed in it
> >>  as step
> >>  >>> 0.
> >>  >>>>  Then you can continue with step 1 from scratch.
> >>  >>>>
> >>  >>>>  We could easily create a utility class for it which keeps
> > the state
> >>  with
> >>  >>> methods
> >>  >>>>
> >>  >>>>  public class ChangeDetector /* TODO find better name */
> >>  >>>>  {
> >>  >>>>  File[] readPreviouslyDetectedFileList(File targetFile);
> >>  >>>>  void recordFiles(File baseDir)
> >>  >>>>  File[] detectNewFiles();
> >>  >>>>  storeDetectedFileList(File targetFile)
> >>  >>>>  }
> >>  >>>>
> >>  >>>>  This can e.g. also be used by the maven-resources-plugin
> > to get rid
> >>  of
> >>  >>> copied resources which got deleted from src/main/resources.
> >>  >>>>
> >>  >>>>  Do you have a better idea? Any ideas for improving this?
> >>  >>>>  And a big question: how can I get hold of the current
> > <execution> id
> >>  >>> in a plugin?
> >>  >>>>
> >>  >>>>
> >>  >>>>  LieGrue,
> >>  >>>>  strub
> >>  >>>>
> >>  >>>>
> > ---------------------------------------------------------------------
> >>  >>>>  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >>  >>>>  For additional commands, e-mail:
> > dev-h...@maven.apache.org
> >>  >>>>
> >>  >>>
> >>  >>>
> > ---------------------------------------------------------------------
> >>  >>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >>  >>> For additional commands, e-mail: dev-h...@maven.apache.org
> >>  >>>
> >>  >>
> >>
> >>> ---------------------------------------------------------------------
> >>  >>To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >>  >>For additional commands, e-mail: dev-h...@maven.apache.org
> >>  >>
> >>  >>
> >>  >
> >>  >
> >>
> >>  ---------------------------------------------------------------------
> >>  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >>  For additional commands, e-mail: dev-h...@maven.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to