Converted test to use fixtures for creating published ivy modules, rather than test resources (REVIEW-1240)
Removed laziness from MavenArtifact implementations (REVIEW-1216)
- all values are copied at the time of configuring the publication
- this is a bit of an experiment to drive out some infrastructure that will help make plugins easier to write
   - for now, all it does is make build scripts harder to write!
Copy runtime dependencies from component to publication at time of configuring: more non-laziness
Started rolling improvements to maven publishing over into ivy publishing (REVIEW-1268)
- Prevent publishing artifact that is directory
- Better error messages for publication validation failures
- Many integration test improvements for ivy publication
   - Test for non-ascii characters in artifact names
   - Test for org/module/artifact/version/etc values containing whitespace
Switch IvyArtifact implementations to be non-lazy (REVIEW-1268)
- IvyArtifact extends Buildable
- Added multiproject integ test for ivy publishing
REVIEW-1268: More publication cleanup
- Use instantiator to decorate IvyArtifactSet
- Renamed IvyArtifactSet.addArtifact() -> artifact()
- Allow 'source' key in map-based artifact notation
- Don't bind IvyArtifactNotationParser to Project: use FileResolver
Remove method no longer required (REVIEW-1269)
Use task.getOutputs().getFiles() instead of a custom file collection to wire GenerateIvyDescriptor task to publishing. (REVIEW-1269)
Improved generics (REVIEW-1277)
Added some TODOs for a later story (REVIEW-1277)
Reorganised the package structure of ivy.publish
- Moved IvyPublisher and related service classes into internal.publisher
- Moved tasks.internal -> internal.plugins to be more consistent