Upgrade to 1.12. Some cleanup of the build script e.g. using contacts plugin. Introduced Nebula test plugin.
Broke out extension. General cleanup to plugin implementation. Added unit tests for plugin.
Introduced a parent stask task type to allow for generalizing and configuring code from the plugin. This also allowed for significantly reducing the amount of code needed in each task.
Fields are not static final so the the name should not be capitalized. We want to allow for setting values from the tests.
A logger instance is available to all DefaultTasks. No need to get the one from the Project instance. The tests don't need to assign a Logger instance.
Don't pass on logger instance. Let's just create it in the class that needs it. This change also simplifies the interface.
Interface methods are public by default.
Pulled out implementation.
Simplified constructor code that checks if any null value is provided and added test case.
Make it easier for plugin consumers to know what the type of a specific custom task property should be. Therefore, typed all properties and adapted tests.
Provide a base plugin to allow plugin consumers to create enhanced tasks of our custom tasks. This is beneficial if you want to have full control over the creation of tasks.
Build path doesn't have to be a public field.
Typed field and made method public as it was only used within this task.
Optimized imports.
Added missing extension property.
Reflect the use of Gradle 1.12 in project version.
Fixed flacky tests.
Made test extends from ProjectSpec.
More fixes to flaky tests.
Added missing property values to make sure tests are deterministic.