Part III. Writing Gradle build scripts

Table of Contents

16. Build Script Basics
16.1. Projects and tasks
16.2. Hello world
16.3. A shortcut task definition
16.4. Build scripts are code
16.5. Task dependencies
16.6. Dynamic tasks
16.7. Manipulating existing tasks
16.8. Shortcut notations
16.9. Extra task properties
16.10. Using Ant Tasks
16.11. Using methods
16.12. Default tasks
16.13. Configure by DAG
16.14. Where to next?
17. Build Init Plugin
17.1. Tasks
17.2. What to set up
17.3. Build init types
18. Writing Build Scripts
18.1. The Gradle build language
18.2. The Project API
18.3. The Script API
18.4. Declaring variables
18.5. Configuring arbitrary objects
18.6. Configuring arbitrary objects using an external script
18.7. Some Groovy basics
18.8. Default imports
19. More about Tasks
19.1. Task outcomes
19.2. Defining tasks
19.3. Locating tasks
19.4. Configuring tasks
19.5. Adding dependencies to a task
19.6. Ordering tasks
19.7. Adding a description to a task
19.8. Replacing tasks
19.9. Skipping tasks
19.10. Up-to-date checks (AKA Incremental Build)
19.11. Task rules
19.12. Finalizer tasks
19.13. Lifecycle tasks
19.14. Summary
20. Working With Files
20.1. Locating files
20.2. File collections
20.3. File trees
20.4. Using the contents of an archive as a file tree
20.5. Specifying a set of input files
20.6. Copying files
20.7. Using the Sync task
20.8. Creating archives
20.9. Properties files
21. Using Ant from Gradle
21.1. Using Ant tasks and types in your build
21.2. Importing an Ant build
21.3. Ant properties and references
21.4. Ant logging
21.5. API
22. The Build Lifecycle
22.1. Build phases
22.2. Settings file
22.3. Multi-project builds
22.4. Initialization
22.5. Configuration and execution of a single project build
22.6. Responding to the lifecycle in the build script
23. Wrapper Plugin
23.1. Usage
23.2. Tasks
24. Logging
24.1. Choosing a log level
24.2. Writing your own log messages
24.3. Logging from external tools and libraries
24.4. Changing what Gradle logs
25. Dependency Management
25.1. Introduction
25.2. Dependency Management Best Practices
25.3. Dependency configurations
25.4. How to declare your dependencies
25.5. Working with dependencies
25.6. Repositories
25.7. How dependency resolution works
25.8. Fine-tuning the dependency resolution process
25.9. The dependency cache
25.10. Strategies for transitive dependency management
26. Multi-project Builds
26.1. Cross project configuration
26.2. Subproject configuration
26.3. Execution rules for multi-project builds
26.4. Running tasks by their absolute path
26.5. Project and task paths
26.6. Dependencies - Which dependencies?
26.7. Project lib dependencies
26.8. Parallel project execution
26.9. Decoupled Projects
26.10. Multi-Project Building and Testing
26.11. Multi Project and buildSrc
26.12. Property and method inheritance
26.13. Summary
27. Gradle Plugins
27.1. What plugins do
27.2. Types of plugins
27.3. Using plugins
27.4. Script plugins
27.5. Binary plugins
27.6. Finding community plugins
27.7. More on plugins
28. Standard Gradle plugins
28.1. Language plugins
28.2. Incubating language plugins
28.3. Integration plugins
28.4. Incubating integration plugins
28.5. Software development plugins
28.6. Incubating software development plugins
28.7. Base plugins
28.8. Third party plugins
29. The Project Report Plugin
29.1. Usage
29.2. Tasks
29.3. Project layout
29.4. Dependency management
29.5. Convention properties
30. The Build Dashboard Plugin
30.1. Usage
30.2. Tasks
30.3. Project layout
30.4. Dependency management
30.5. Configuration
31. Comparing Builds
31.1. Definition of terms
31.2. Current Capabilities
31.3. Comparing Gradle Builds
32. Publishing artifacts
32.1. Introduction
32.2. Artifacts and configurations
32.3. Declaring artifacts
32.4. Publishing artifacts
32.5. More about project libraries
33. The Maven Plugin
33.1. Usage
33.2. Tasks
33.3. Dependency management
33.4. Convention properties
33.5. Convention methods
33.6. Interacting with Maven repositories
34. The Signing Plugin
34.1. Usage
34.2. Signatory credentials
34.3. Specifying what to sign
34.4. Publishing the signatures
34.5. Signing POM files
35. Ivy Publishing (new)
35.1. The “ivy-publish” Plugin
35.2. Publications
35.3. Repositories
35.4. Performing a publish
35.5. Generating the Ivy module descriptor file without publishing
35.6. Complete example
35.7. Future features
36. Maven Publishing (new)
36.1. The “maven-publish” Plugin
36.2. Publications
36.3. Repositories
36.4. Performing a publish
36.5. Publishing to Maven Local
36.6. Generating the POM file without publishing
37. The Distribution Plugin
37.1. Usage
37.2. Tasks
37.3. Distribution contents
37.4. Publishing distributions
38. The Announce Plugin
38.1. Usage
38.2. Configuration
39. The Build Announcements Plugin
39.1. Usage