Part III. Writing Gradle build scripts

Table of Contents

14. Build Script Basics
14.1. Projects and tasks
14.2. Hello world
14.3. A shortcut task definition
14.4. Build scripts are code
14.5. Task dependencies
14.6. Dynamic tasks
14.7. Manipulating existing tasks
14.8. Shortcut notations
14.9. Extra task properties
14.10. Using Ant Tasks
14.11. Using methods
14.12. Default tasks
14.13. Configure by DAG
14.14. Where to next?
15. Build Init Plugin
15.1. Tasks
15.2. What to set up
15.3. Build init types
16. Writing Build Scripts
16.1. The Gradle build language
16.2. The Project API
16.3. The Script API
16.4. Declaring variables
16.5. Configuring arbitrary objects
16.6. Configuring arbitrary objects using an external script
16.7. Some Groovy basics
16.8. Default imports
17. More about Tasks
17.1. Defining tasks
17.2. Locating tasks
17.3. Configuring tasks
17.4. Adding dependencies to a task
17.5. Ordering tasks
17.6. Adding a description to a task
17.7. Replacing tasks
17.8. Skipping tasks
17.9. Skipping tasks that are up-to-date
17.10. Task rules
17.11. Finalizer tasks
17.12. Summary
18. Working With Files
18.1. Locating files
18.2. File collections
18.3. File trees
18.4. Using the contents of an archive as a file tree
18.5. Specifying a set of input files
18.6. Copying files
18.7. Using the Sync task
18.8. Creating archives
19. Using Ant from Gradle
19.1. Using Ant tasks and types in your build
19.2. Importing an Ant build
19.3. Ant properties and references
19.4. API
20. The Build Lifecycle
20.1. Build phases
20.2. Settings file
20.3. Multi-project builds
20.4. Initialization
20.5. Configuration and execution of a single project build
20.6. Responding to the lifecycle in the build script
21. Wrapper Plugin
21.1. Usage
21.2. Tasks
22. Logging
22.1. Choosing a log level
22.2. Writing your own log messages
22.3. Logging from external tools and libraries
22.4. Changing what Gradle logs
23. Dependency Management
23.1. Introduction
23.2. Dependency Management Best Practices
23.3. Dependency configurations
23.4. How to declare your dependencies
23.5. Working with dependencies
23.6. Repositories
23.7. How dependency resolution works
23.8. Fine-tuning the dependency resolution process
23.9. The dependency cache
23.10. Strategies for transitive dependency management
24. Multi-project Builds
24.1. Cross project configuration
24.2. Subproject configuration
24.3. Execution rules for multi-project builds
24.4. Running tasks by their absolute path
24.5. Project and task paths
24.6. Dependencies - Which dependencies?
24.7. Project lib dependencies
24.8. Parallel project execution
24.9. Decoupled Projects
24.10. Multi-Project Building and Testing
24.11. Multi Project and buildSrc
24.12. Property and method inheritance
24.13. Summary
25. Gradle Plugins
25.1. What plugins do
25.2. Types of plugins
25.3. Applying plugins
25.4. Applying plugins with the buildscript block
25.5. Applying plugins with the plugins DSL
25.6. Finding community plugins
25.7. More on plugins
26. Standard Gradle plugins
26.1. Language plugins
26.2. Incubating language plugins
26.3. Integration plugins
26.4. Incubating integration plugins
26.5. Software development plugins
26.6. Incubating software development plugins
26.7. Base plugins
26.8. Third party plugins
27. The Project Report Plugin
27.1. Usage
27.2. Tasks
27.3. Project layout
27.4. Dependency management
27.5. Convention properties
28. The Build Dashboard Plugin
28.1. Usage
28.2. Tasks
28.3. Project layout
28.4. Dependency management
28.5. Configuration
29. Comparing Builds
29.1. Definition of terms
29.2. Current Capabilities
29.3. Comparing Gradle Builds
30. Publishing artifacts
30.1. Introduction
30.2. Artifacts and configurations
30.3. Declaring artifacts
30.4. Publishing artifacts
30.5. More about project libraries
31. The Maven Plugin
31.1. Usage
31.2. Tasks
31.3. Dependency management
31.4. Convention properties
31.5. Convention methods
31.6. Interacting with Maven repositories
32. The Signing Plugin
32.1. Usage
32.2. Signatory credentials
32.3. Specifying what to sign
32.4. Publishing the signatures
32.5. Signing POM files
33. Ivy Publishing (new)
33.1. The “ivy-publish” Plugin
33.2. Publications
33.3. Repositories
33.4. Performing a publish
33.5. Generating the Ivy module descriptor file without publishing
33.6. Complete example
33.7. Future features
34. Maven Publishing (new)
34.1. The “maven-publish” Plugin
34.2. Publications
34.3. Repositories
34.4. Performing a publish
34.5. Publishing to Maven Local
34.6. Generating the POM file without publishing
35. The Distribution Plugin
35.1. Usage
35.2. Tasks
35.3. Distribution contents
35.4. Publishing distributions
36. The Announce Plugin
36.1. Usage
36.2. Configuration
37. The Build Announcements Plugin
37.1. Usage