Renamed default ClassDirectoryBinary instances to {name}Classes
Use instantiator for constructing ExecutableBinary and SharedLibraryBinary instances
Added integration test for applying 'java', 'cpp-exe' and 'cpp-lib' plugins to single project
Started work of supplying compile attributes directly to the CppCompile task, rather than providing a pre-constructed CompileSpec
- Output file is a regular property of the CppCompile task, which supplies it to the compile spec (rather than the other way around)
- Moved baseName property off GppCompileSpec onto NativeComponent
- Added outputFileName and outputFile properties to NativeComponent (outputFile should go, I think)
Changed includes, libs and source properties to be annotated inputs of the CppCompile task
Moved setting of cpp workDir into CppCompile task
Added integration test for setting c++ compiler arguments
Reworked c++ compiler arguments so that they are input properties of the CppCompile task
- Added compilerArgs collection to NativeComponent, NativeBinary and CppCompile task
- Copy the compiler args onto the compiler spec when executing tags
- Include compiler args in option file for compiler, rather than supplying as separate command-line args
Change BinaryCompileSpec so that it is not Buildable
- Added builtBy property to NativeComponent
- Almost ready to make CppCompileSpec a simple value object
CppCompile task creates a CompileSpec to control the execution of the supplied compiler
- Removed the CompileSpec from NativeComponent and NativeBinary: it's now internal to the compiler
- Currently a type flag is used to determine which spec type to construct: will change this to different task types for different binary types