Pushed out the lock protocol to a separate class. For now, it's only a refactoring, without changes to the behavior. It should allow us to have different implementation of FileLockAccess. Refactorings to unit test coverage are needed plus some cleanup.
Some refactorings in the file lock protocol. No changes in behavior yet.
Some refactorings in the file lock protocol. Removed some duplication.
Extracted StateInfoAccess class that deals with reading and writing state info of the file lock. We'll be able to have a different implementation of this.
Extracted out StateInfoProtocol interface that can be replaced in the lock implementation that do not require fancy stuff.
Follow up refactoring, added reading of the state to the StateInfoProtocol interface.
Made exception handling more consistent.
Added SimpleStateInfoProtocol and made the integ tests use it for locking on downloading gradle distributions.
Merge branch 'release' into sf-lock2
Fixed a unit test
Some fixes to the implementation of the simple state info protocol. Unified some exception handling.
The daemon must not adjust the "java.runtime.version" system property. This is not defined to be in System.getProperties() but is there in practice and setting it have unwanted side effects.
Don't create resolve implementation directly in a couple of places.
GRADLE-2920 - Make sure the root configuration is not evicted even if another version of the root module ends up selected. Still needs more work to retain the outgoing edges.
GRADLE-2920 - Do not remove outgoing edges from root node when it is evicted. Fleshed out ResolveTestFixture to shake out the old and new dependency graph and the artifacts.
Removed mention of using the literal API to configure tasks. It isn't generally supported. Also removed mention of the `configure { }` method.
Fleshed out ResolveTestFixture to check more stuff and use it in another int test.
Fixed 'task not found' error message when using a qualified task name.
Use ResolveTestFixture in a couple more int tests.
Changed the pom parser so that it orders inherited dependencies after declared dependencies. This was the behaviour previously and seems to be more consistent with what Maven does.