# Sample Index

version 8.0.1

## Android

- Building Android Apps: Build a simple Android app.

## Build organization

- Composite Builds Basics: Defining and using a composite build

- Composite Builds Declared Substitutions: Applying and testing changes in downstream dependencies without publishing.

- Composite Builds Hierarchical Multirepo: Defining and using a composite build to combine multiple independent builds.

- Composite Builds Plugin Development: Developing a Gradle plugin in a build without publishing.

- Gradle Plugin: Organize your build logic into a Gradle plugin written in Java.

- Sharing build logic between subprojects: Organize build logic into reusable pieces

- Sharing build logic in a multi-repo setup: Organize and publish build logic for reuse in other projects

- Sharing convention plugins with build logic build: Reuse convention plugins in both main build and build logic build

- Sharing task outputs across projects in a multi-project build: Sharing a file made by a task in one Gradle project, with a task in another Gradle project.

- Structuring Software Projects: Structuring a software product project with Gradle

## C++

- Building C++ Applications: Setup a C++ application project step-by-step.

- Building C++ Libraries: Setup a C++ library project step-by-step.

## Groovy

- Building Groovy Applications: Setup a Groovy application project step-by-step.

- Building Groovy Applications with libraries: Setup a Groovy application project with libraries step-by-step.

- Building Groovy Libraries: Setup a Groovy library project step-by-step.

- Publishing Groovy Libraries: Publish a Groovy library to a binary repository.

## Java

- Aggregating code coverage with JaCoCo from an application/distribution (Incubating): Report code coverage on the application/distribution of a multi-module project using JaCoCo.

- Aggregating code coverage with JaCoCo using a standalone utility project (Incubating): Report code coverage on a multi-module project using JaCoCo.

- Aggregating test results of an application/distribution (Incubating): Report all test results using the application/distribution of a multi-module project.

- Aggregating test results using a standalone utility project (Incubating): Report all test results using a standalone utility project as part of a multi-module project.

- Building Java Applications: Setup a Java application project step-by-step.

- Building Java Applications with libraries: Setup a Java application project with libraries step-by-step.

- Building Java Libraries: Setup a Java library project step-by-step.

- Publishing Java Libraries: Publish a Java library to a binary repository.

- Sharing build logic in a multi-repo setup with Test Suites (Incubating): Organize and publish build logic for reuse in other projects using the new Test Suites API.

- Using additional test types: Add an additional test type (e.g. integration tests) to a project.

- Using additional test types with Test Suites (Incubating): Add an additional test type (e.g. integration tests) to a project using the new Test Suites API.

- Using toolchains: Use toolchains to configure the JVM to use for compilation and testing.

## Java Modules

- Building Java Modules: Build Java Modules and a modular Java application.

- Building Java Modules with Blackbox Tests: Build Java Modules with blackbox integration tests.

- Building Java Modules with Blackbox Tests with Test Suites (Incubating): Build Java Modules with blackbox integration tests using the new Test Suites API.

- Building Java Modules with Legacy Libraries: Build a modular Java application that integrates legacy libraries.

## Kotlin

- Building Kotlin Applications: Setup a Kotlin application project step-by-step.

- Building Kotlin Applications with libraries: Setup a Kotlin application project with libraries step-by-step.

- Building Kotlin Libraries: Setup a Kotlin library project step-by-step.

## Scala

- Building Scala Applications: Setup a Scala application project step-by-step.

- Building Scala Applications with libraries: Setup a Scala application project with libraries step-by-step.

- Building Scala Libraries: Setup a Scala library project step-by-step.

## Spring

- Building Spring Boot Web Applications: Build a simple Spring Boot application.

## Swift

- Building Swift Applications: Setup a Swift application project step-by-step.

- Building Swift Libraries: Setup a Swift library project step-by-step.

## Using Credentials

- Publishing Credentials: Publish to a password protected repository

- Supply credentials to external tool: Pass credentials to an external tool via stdin using Gradle properties.

## Writing Custom Tasks

- Implementing Tasks with Command-line Arguments: Pass arguments to a custom task.

- Implementing tasks with dependency resolution result inputs: Consume dependency resolution result inputs in tasks.