I agree that dependency insanity could cause problems , as well as resources.
However, the maven dependencies can be partly resolved because we can also just analyze the pom to look at those dependencies. I imagine as long as resources are loaded from /src/test/resources then we can make ANY change here trigger a full re-test. It’s not like this happens often. And in spare CPU time you can re-run FULL tests (and maybe we should do this before a release). But at least this way, if something DEFINITELY fails, you can resolve it somewhat quickly. On Wed, Feb 11, 2015 at 4:52 AM, Ron Wheeler <rwhee...@artifact-software.com > wrote: > How do you manage/allow dependency changes? > If you are using a parent pom with a dependency management section, you > have a single pom to watch. > > We adopted a policy that developers are not able to change dependencies > during a release cycle. > The versions of dependencies are a team decision under the direct control > of the project manager and a meeting is held at the beginning of the > release cycle to review the dependencies and settle on a stable set. > Of course, there are emergencies from time to time but the decision to > change is a team decision. > > This increase the stability of the development environment and makes the > testing of upgraded dependencies happen at the start of the release cycle > so that we know at the start that the initial code still works with > upgraded dependencies. > > Nothing is worse or more time-consuming that have a test failure appear in > the midst of your changing code but caused by a dependency change. > > A developer will go crazy trying to figure out why a small change to their > code caused such a problem. > > I am not sure how you can be sure that a change in a transitive dependency > will not cause errors higher up in the stack or create bad data structures > that only show up later in code that has no dependency on the original > culprit. > > Ron > > > > On 11/02/2015 2:57 AM, Andreas Gudian wrote: > >> Hi, >> >> You can't do that with javac, but the takari-plugins maintain a fine >> grained dependency graph in order to do incremental builds. >> >> With tests, it is a different thing, though. Their runtime behaviour may >> depend on more than their class dependency might tell you: property/xml >> files, dependency injection - stuff like that. >> I think clover (code coverage tool for test) has a feature to run only >> tests for which any code has changed that has been recorded to be used in >> the previous run. >> >> So for real incremental tests out of the box, we'd have to support >> different strategies: compile-time dependencies, resource dependencies, >> runtime dependencies. That's quite an undertaking. For Surefire 3 we want >> to open up the API to allow attaching stuff like that from the outside. >> >> Andreas >> >> Am Mittwoch, 11. Februar 2015 schrieb Kevin Burton : >> >> Is there an easy way to build the Java dependency tree from the compiler? >>> >>> I was thinking that if you can get the Java dependency tree built, then >>> you >>> take take a look at a diff and look at which files have changed. >>> >>> Then from there you could take say 1000 test and reduce that to only 10 >>> test if only those ten had their dependencies changed. >>> >>> The theory being that if the previous commit already tested the previous >>> 990, why test them again? >>> >>> The epiphany I had was that one could EASILY integrate this into maven by >>> just passing a list of which tests to skip. >>> >>> This could dramatically improve the speed of continuous integration >>> systems >>> >>> -- >>> >>> Founder/CEO Spinn3r.com >>> Location: *San Francisco, CA* >>> blog: http://burtonator.wordpress.com >>> … or check out my Google+ profile >>> <https://plus.google.com/102718274791889610666/posts> >>> <http://spinn3r.com> >>> >>> > > -- > Ron Wheeler > President > Artifact Software Inc > email: rwhee...@artifact-software.com > skype: ronaldmwheeler > phone: 866-970-2435, ext 102 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > -- Founder/CEO Spinn3r.com Location: *San Francisco, CA* blog: http://burtonator.wordpress.com … or check out my Google+ profile <https://plus.google.com/102718274791889610666/posts> <http://spinn3r.com>