REVIEW-1559: Check more details of the dependencies in published ivy.xml and pom.xml
REVIEW-1564: Documentation tweaks
REVIEW-1566: Move version capability check to GradleDistribution
REVIEW-1652: Moved test to live with tested class
REVIEW-1570: Added InvalidIvyPublicationException
REVIEW-1576: Ensure consistent error message for invalid publication exceptions
REVIEW-1651: Renamed IvyProjectIdentity -> IvyPublicationIdentity
Reworked default values and validation for IvyPublication and MavenPublication
- Default IvyArtifact.name to module name on construction, rather than at time of writing ivy.xml (REVIEW-1678)
- Don't permit null values for IvyArtifact.[name|extension|type] or MavenArtifact.extension
    - Allow empty string for extention only
- Updated javadocs for MavenArtifact and IvyArtifact, adding @Nullable where appropriate (REVIEW-1572, REVIEW-1575)
Better test coverage for escaping and encoding in PomFile and IvyDescriptorFile generators (REVIEW-1585, REVIEW-1554)
Restrict characters allowed in Ivy and Maven publication identifiers
- Currently allow all Unicode except ISO Control Chars, '/' and '\'
   - Do not (yet) handle inability to publish to a Windows FS when characters are not permitted: fails silently.
- Added single quote to the set of tested characters, adding relevant escaping in tests
- Extract common field validation code into PublicationFieldValidator
Updates to publication spec
Fixed overly aggressive find/replace
Made the configure on demand support buildSrc dir. In the long run we will stop supporting the projectsEvaluated for the configuration on demand mode (basically, we will rework the listeners so that they match the new model). However, I was hesitant to remove projectsEvaluated for COD because we use projectsEvaluated in few places in our codebase (most notably, the ide plugins). I'd rather COD work well with IDE plugins. If you support this change, I'll mention in the release notes for 1.5 that COD supports buildSrc.
Improvements in artifacts cache use for resolving artifact files. Wrapped the resolution of *all* files from a configuration in a useCache method. This way, we avoid redundant locking/unlocking per each resolved file. This should help in both cases: for local repositories and for remote ones.
Fixed the user guide samples tests by updating the fixture code.
Improved the parallel worker threads utilization. Added some instrumentation that logs how long the thread was busy. Refactoring, more coverage and review pending.
REVIEW-1684: Polishing
- Use the internal API instead of implementation class (that's what the internal API was added for!)
- Leverage DomainObjectCollection instead of resorting to ugly old Java
REVIEW-1660: Use M2Installation for managing maven
REVIEW-1589: Override Resource.getName() to return an encoded URI when parsing Maven POM
- This is an attempt to support POM with unicode coordinates in Java6 Linux
Allow this test to run on JDK1.6 linux to see if the fix was effective
Added some integration tests for features of Ivy descriptor file parsing
- System property substitution
- 'extending' a parent ivy.xml
    - Fixed resolution of parent ivy.xml by removing the use of Ivy resolution cache ("resolved-*")
    - Added IvyFileModule.withXml() to allow the generated ivy.xml to be customised