// Copyright (C) 2024 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 and organize custom build logic should start here.

To get started engineering Gradle builds:

1. Read the <<gradle_author_intro,Beyond the Basics chapters>>.
2. Follow the <<author_tutorial,Intermediate Tutorial>> for a hands-on approach.

[[gradle_author_intro]]
== 1. Beyond the Gradle Basics

The beyond the basics section goes through some Gradle authoring basics so that you can quickly understand how to configure builds, create tasks, and organize logic.

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

This section covers:

<<gradle_directories_intermediate.adoc#gradle_directories,Part 1.>> Anatomy of a Gradle Build +
<<multi_project_builds_intermediate.adoc#intro_multi_project_builds,Part 2.>> Structuring Multi-Project Builds +
<<build_lifecycle_intermediate.adoc#build_lifecycle,Part 3.>> Gradle Build Lifecycle +
<<writing_build_scripts_intermediate.adoc#writing_build_scripts,Part 4.>> Writing Build Scripts +
<<gradle_managed_types_intermediate.adoc#gradle_types_intro,Part 5.>> Gradle Managed Types +
<<dependencies_intermediate.adoc#dependencies_intro,Part 6.>> Declaring and Managing Dependencies +
<<writing_tasks_intermediate.adoc#writing_tasks,Part 7.>> Creating and Registering Tasks +
<<plugins_intermediate.adoc#using_plugins,Part 8.>> Working With Plugins +

[[author_tutorial]]
== 2. Intermediate Gradle Tutorial

The tutorial will take you from Gradle initialization all the way through registering tasks and the basics of plugins.
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:

<<part1_gradle_init_project#part1_begin,Part 1.>> Initializing the Project +
<<part2_build_lifecycle#part2_begin,Part 2.>> Understanding the Build Lifecycle +
<<part3_multi_project_builds#part3_begin,Part 3.>> Multi-Project Builds +
<<part4_settings_file#part4_begin,Part 6.>> Writing the Settings File +
<<part5_build_scripts#part5_begin,Part 5.>> Writing Build Scripts +
<<part6_writing_tasks#part6_begin,Part 6.>> Writing Tasks +
<<part7_writing_plugins#part7_begin,Part 7.>> Writing Plugins +
