// Copyright (C) 2023 Gradle, Inc.
//
// Licensed under the Creative Commons Attribution-Noncommercial-ShareAlike 4.0 International License.;
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://creativecommons.org/licenses/by-nc-sa/4.0/
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

[[dev_introduction]]
= Getting Started

Build engineers that are ready to configure custom build logic and write their own plugins should start here.

To get started engineering Gradle builds:

1. Read the <<gradle_author_intro,build basics chapters>>.
2. Follow the <<author_tutorial,tutorial>> for a hands-on approach.

[[gradle_author_intro]]
== 1. Authoring Gradle Builds Basics

The basics section goes through some Gradle authoring basics so that you can quickly understand how to configure builds, create tasks, and write plugins.

[sidebar]
_Training level_: **Intermediate** +
_Reading time_: **35 minutes**

The introduction covers:

<<gradle_directories.adoc#gradle_directories,Part 1.>> Gradle Directories +
<<intro_multi_project_builds.adoc#intro_multi_project_builds,Part 2.>> Multi-Project Builds +
<<build_lifecycle.adoc#build_lifecycle,Part 3.>> Gradle Build Lifecycle +
<<writing_settings_files.adoc#writing_settings_files,Part 4.>> Writing Settings Files +
<<writing_build_scripts.adoc#writing_build_scripts,Part 5.>> Writing Build Scripts +
<<tutorial_using_tasks.adoc#tutorial_using_tasks,Part 6.>> Using Tasks +
<<writing_tasks.adoc#writing_tasks,Part 7.>> Writing Tasks +
<<plugins.adoc#using_plugins,Part 8.>> Using Plugins +
<<writing_plugins.adoc#writing_plugins,Part 9.>> Writing Plugins +

[[author_tutorial]]
== 2. Authoring Gradle Builds Tutorial

The tutorial will take you from Gradle initialization all the way through authoring a simple script plugin.
No previous experience is necessary but a basic knowledge of Java and Kotlin is nice to have.

If you need to install Gradle before the tutorial, you can see how to do so in the <<installation.adoc#installation,installation section>>.

[sidebar]
_Training level_: **Intermediate** +
_Training time_: **65 minutes**

The tutorial covers:

<<partr1_gradle_init#part1_begin,Part 1.>> Initializing the Project +
<<partr2_build_lifecycle#part2_begin,Part 2.>> Understanding the Build Lifecycle +
<<partr3_multi_project_builds#part3_begin,Part 3.>> Multi-Project Builds +
<<partr4_settings_file#part4_begin,Part 6.>> Writing the Settings File +
<<partr5_build_scripts#part5_begin,Part 5.>> Writing Build Script +
<<partr6_writing_tasks#part6_begin,Part 6.>> Writing Tasks +
<<partr7_writing_plugins#part7_begin,Part 7.>> Writing Plugins +
