Ignore implicit tasks in TaskReportTask for subprojects.
fix failing integtest on ci
Allow configuration of different executable per platform on gcc based toolchain

- don't lookup default tool if custom tool is configured
- platform specific configuration works with full paths only as configured path is used for whole toolchain only, that can cause unlocatable default tools
run custom executable per platform test only on non windows os
minor cleanup
Removed the checksums property from the LegacyDependencyResolver, and inlined RepositoryArtifactCache.ExternalResourceDownloader into the RepositoryArtifactCache implementation.
Removed the m2Compatible, root and pattern properties from the legacy DependencyResolvers, and simplified the ExternalResourceResolver implementations.
Changed ExternalResourceResolver so that it represents patterns using ResourcePattern instead of String. Removed pattern methods from LegacyDependencyResolver.
Local resource is already a LocallyAvailableExternalResource - just cast it rather than unpack and recreate.
Moved RepositoryTransport.convertToPath() to the ResourcePattern implementations. Paths are always URIs now.
Use URI instead of String to identity ExternalResource instances.
Use URI instead of String to list and upload external resources.
Changed DefaultExternalResourceArtifactResolver so that it bolts directly on to CacheAwareExternalResourceAccessor rather than via ExternalResourceRepository. This is a step towards moving the artifact-at-url caching into a single place.
Moved responsibility for downloading artifacts into the cache to live in DefaultCacheAwareExternalResourceAccessor, and removed the RepositoryArtifactCache implementations.
Changed DefaultCacheAwareExternalResourceAccessor so that it does not try to copy the cached file back into the cache on a resource-by-url cache hit.
Added a little more int test coverage for reusing artifacts from the m2 repo.
Minor tweaks to build with Java 8.
 GRADLE-3072 Improved the error reporting when one of the task input properties is not serializable.
GRADLE-3072 non-serializable values inside GStrings are handled gracefully by up-to-date mechanism. It feels that converting from GString should be cross-cutting as we are hitting problems with this in various spots. For now, this helps with input properties serialization.
Some ExternalResource changes.

- Changed the ivy and pom parsers so that they don't infer the publication date from the resource last modified time, and removed getLastModified().
- Changed LocalFileStandInExternalResource so that it does not include the sha1 in the meta-data.