Part IV. Extending the build

Table of Contents

40. Writing Custom Task Classes
40.1. Packaging a task class
40.2. Writing a simple task class
40.3. A standalone project
40.4. Incremental tasks
40.5. The Worker API
41. Writing Custom Plugins
41.1. Packaging a plugin
41.2. Writing a simple plugin
41.3. Making the plugin configurable
41.4. Working with files in custom tasks and plugins
41.5. Mapping extension properties to task properties
41.6. A standalone project
41.7. Providing a configuration DSL for the plugin
42. The Java Gradle Plugin Development Plugin
42.1. Usage
43. Organizing Build Logic
43.1. Inherited properties and methods
43.2. Injected configuration
43.3. Configuring the project using an external build script
43.4. Build sources in the buildSrc project
43.5. Running another Gradle build from a build
43.6. External dependencies for the build script
43.7. Ant optional dependencies
43.8. Summary
44. Initialization Scripts
44.1. Basic usage
44.2. Using an init script
44.3. Writing an init script
44.4. External dependencies for the init script
44.5. Init script plugins
45. The Gradle TestKit
45.1. Usage
45.2. Functional testing with the Gradle runner
45.3. Getting the plugin-under-test into the test build
45.4. Controlling the build environment
45.5. The Gradle version used to test
45.6. Debugging build logic
45.7. Testing with the Build Cache