{"id":20411054,"url":"https://github.com/yanamlnk/gradle-notes","last_synced_at":"2026-04-19T11:31:40.827Z","repository":{"id":191802723,"uuid":"584709608","full_name":"yanamlnk/gradle-notes","owner":"yanamlnk","description":"My cheatsheets/notes I have written while learning Gradle. This is my first experience with build tools, so the notes were written from the perspective of a total beginner","archived":false,"fork":false,"pushed_at":"2023-09-13T16:48:23.000Z","size":96,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T03:16:06.495Z","etag":null,"topics":["gradle","groovy-script","java"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yanamlnk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-03T10:09:33.000Z","updated_at":"2023-02-19T18:40:19.000Z","dependencies_parsed_at":"2025-01-15T12:41:17.605Z","dependency_job_id":"e85b5955-9883-41b2-8849-d32f536dcaf1","html_url":"https://github.com/yanamlnk/gradle-notes","commit_stats":null,"previous_names":["yanamlnk/gradle-notes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yanamlnk/gradle-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fgradle-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fgradle-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fgradle-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fgradle-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yanamlnk","download_url":"https://codeload.github.com/yanamlnk/gradle-notes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fgradle-notes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32005462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradle","groovy-script","java"],"created_at":"2024-11-15T05:49:23.588Z","updated_at":"2026-04-19T11:31:40.805Z","avatar_url":"https://github.com/yanamlnk.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gradle Notes\n\n## Intro\nThese notes were created solely for educational purposes while I was learning Gradle on my own.\nThe main focus is to grasp Gradle basics, terminology, concepts and workflow. That is why for simplicity I am using:\n- `Groovy` as build script language\n- `Java` as main programming language\n- `zsh` in Terminal\n\n## Where to start?\n\n### :grey_exclamation: Click [here](https://github.com/yanamlnk/gradle-notes/blob/main/contents/1-what-is-build-tool/README.md) to start :grey_exclamation:\n\n:wavy_dash: *or feel free to jump to any topic, using **Table of Contents** below* :wavy_dash:\n\n### Interested in Maven? :eyes: \nCheck new bonus chapter: :feather: [Maven Notes](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md) :feather:\n\n## Table of Contents:\n1. [What is Build Tool?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/1-what-is-build-tool/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn how to \"build\" your project, what built-in options do you have, and why do you need build tools.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [How do you “build” your code?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/1-what-is-build-tool/README.md#how-do-you-build-your-code)\n  - [How do you compile and run your code?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/1-what-is-build-tool/README.md#how-do-you-compile-and-run-your-code)\n  - [Why do you need to use separate build tool?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/1-what-is-build-tool/README.md#why-do-you-need-to-use-separate-build-tool)\n  - [What build tools for Java exist?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/1-what-is-build-tool/README.md#what-build-tools-for-java-exist)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n2. [How to Install?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/2-how-to-install/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003ePrerequisites, installation.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [Prerequisites](https://github.com/yanamlnk/gradle-notes/blob/main/contents/2-how-to-install/README.md#prerequisites)\n  - [Installation](https://github.com/yanamlnk/gradle-notes/blob/main/contents/2-how-to-install/README.md#installation)\n  - [How to check that Gradle is installed?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/2-how-to-install/README.md#how-to-check-that-gradle-is-installed)\n  - [When you don’t need installation?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/2-how-to-install/README.md#when-you-dont-need-installation)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n3. [Gradle Overview](https://github.com/yanamlnk/gradle-notes/blob/main/contents/3-gradle-overview/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn about Gradle features, core concept, and what lifecycle Gradle build has.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [Features](https://github.com/yanamlnk/gradle-notes/blob/main/contents/3-gradle-overview/README.md#features)\n  - [Gradle core concepts](https://github.com/yanamlnk/gradle-notes/blob/main/contents/3-gradle-overview/README.md#gradle-core-concepts)\n  - [Build Lifecycle](https://github.com/yanamlnk/gradle-notes/blob/main/contents/3-gradle-overview/README.md#build-lifecycle)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n4. [Gradle Project](https://github.com/yanamlnk/gradle-notes/blob/main/contents/4-gradle-project/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn how to create basic Gradle project, and what structure it has.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [Basic project using gradle init command](https://github.com/yanamlnk/gradle-notes/blob/main/contents/4-gradle-project/README.md#basic-project-using-gradle-init-command)\n  - [Basic structure](https://github.com/yanamlnk/gradle-notes/blob/main/contents/4-gradle-project/README.md#basic-structure)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n5. [Build Script](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn how to configure Gradle build using build script, get to know basic build.gradle structure, and also some Groovy basics - Gradle DSL.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [build.gradle(.kts)](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#buildgradlekts)\n    - [What can be added to the file?](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#what-can-be-added-to-the-file)\n    - [plugins](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#plugins)\n    - [metadata](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#metadata)\n    - [repositories](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#repositories)\n    - [dependencies](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#dependencies)\n    - [tasks](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#tasks)\n  - [Groovy basics](https://github.com/yanamlnk/gradle-notes/blob/main/contents/5-build-script/README.md#groovy-basics)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n6. [Gradle Wrapper](https://github.com/yanamlnk/gradle-notes/blob/main/contents/6-gradle-wrapper/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn what is Gradle Wrapper, why it is so useful, and how to use/upgrade it.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [Executing tasks](https://github.com/yanamlnk/gradle-notes/blob/main/contents/6-gradle-wrapper/README.md#executing-tasks)\n  - [Wrapper overview](https://github.com/yanamlnk/gradle-notes/blob/main/contents/6-gradle-wrapper/README.md#wrapper-overview)\n  - [gradle vs gradlew](https://github.com/yanamlnk/gradle-notes/blob/main/contents/6-gradle-wrapper/README.md#gradle-vs-gradlew)\n  - [Add Wrapper to the project](https://github.com/yanamlnk/gradle-notes/blob/main/contents/6-gradle-wrapper/README.md#add-wrapper-to-the-project)\n  - [Upgrade version of Gradle using Wrapper](https://github.com/yanamlnk/gradle-notes/blob/main/contents/6-gradle-wrapper/README.md#upgrade-version-of-gradle-using-wrapper)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n7. [Create Java Application](https://github.com/yanamlnk/gradle-notes/blob/main/contents/7-create-java-application/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eCreate simple Java application using different methods: init task, IDEs, or manually add Gradle to the project.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [init task](https://github.com/yanamlnk/gradle-notes/blob/main/contents/7-create-java-application/README.md#init-task)\n  - [Manually adding Gradle](https://github.com/yanamlnk/gradle-notes/blob/main/contents/7-create-java-application/README.md#manually-adding-gradle)\n  - [Use IDEs](https://github.com/yanamlnk/gradle-notes/blob/main/contents/7-create-java-application/README.md#use-ides)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n8. [Work with Gradle](https://github.com/yanamlnk/gradle-notes/blob/main/contents/8-work-with-gradle/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eWork with Gradle using CLI or third-party tools.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [Command-line interface](https://github.com/yanamlnk/gradle-notes/blob/main/contents/8-work-with-gradle/README.md#command-line-interface)\n  - [Gradle \u0026 Supported Third-party Tools](https://github.com/yanamlnk/gradle-notes/blob/main/contents/8-work-with-gradle/README.md#gradle--supported-third-party-tools)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n9. [Share Project](https://github.com/yanamlnk/gradle-notes/blob/main/contents/9-share-project/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn where Gradle stores build output, how to generate build artifacts: jar, tar or zip files, and how to publish your library.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [build directory](https://github.com/yanamlnk/gradle-notes/blob/main/contents/9-share-project/README.md#build-directory)\n  - [Generate jar](https://github.com/yanamlnk/gradle-notes/blob/main/contents/9-share-project/README.md#generate-jar)\n  - [Distribute application](https://github.com/yanamlnk/gradle-notes/blob/main/contents/9-share-project/README.md#distribute-application)\n  - [Publish](https://github.com/yanamlnk/gradle-notes/blob/main/contents/9-share-project/README.md#publish)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n10. [Multi-Project Build](https://github.com/yanamlnk/gradle-notes/blob/main/contents/10-multi-project-build/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn about multi-project build structure, how to execute tasks, and how subprojects can depend on each other.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n  \n  - [Structure](https://github.com/yanamlnk/gradle-notes/blob/main/contents/10-multi-project-build/README.md#structure)\n  - [Declare dependencies between subprojects](https://github.com/yanamlnk/gradle-notes/blob/main/contents/10-multi-project-build/README.md#declare-dependencies-between-subprojects)\n  - [Execute tasks](https://github.com/yanamlnk/gradle-notes/blob/main/contents/10-multi-project-build/README.md#execute-tasks)\n  - [Sharing common configurations](https://github.com/yanamlnk/gradle-notes/blob/main/contents/10-multi-project-build/README.md#sharing-common-configurations)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n11. [Troubleshooting Gradle](https://github.com/yanamlnk/gradle-notes/blob/main/contents/11-troubleshooting-gradle/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn where you can ask for help in case of some Gradle issues, and what is Build Scan.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n  - [Places to ask](https://github.com/yanamlnk/gradle-notes/blob/main/contents/11-troubleshooting-gradle/README.md#places-to-ask)\n  - [Troubleshooting docs](https://github.com/yanamlnk/gradle-notes/blob/main/contents/11-troubleshooting-gradle/README.md#troubleshooting-docs)\n  - [Publish and share Build Scan](https://github.com/yanamlnk/gradle-notes/blob/main/contents/11-troubleshooting-gradle/README.md#publish-and-share-build-scan)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n12. [Maven Notes](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md)\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eLearn how to use Maven and what are the differences and similarities between Gradle and Maven functionality.\u003c/sub\u003e\u003c/summary\u003e\n\u003cp\u003e\n  \n  - [Install Maven](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#install-maven)\n  - [What is Maven](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#what-is-maven)\n  - [Gradle vs Maven](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#gradle-vs-maven)\n    - [Short overview](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#short-overview)\n    - [Maven project creation](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#maven-project-creation)\n    - [IDE support](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#ide-support)\n    - [Project structure](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#project-structure)\n    - [Configuration (pom.xml)](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#configuration)\n    - [Commands to work with the tool](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#commands-to-work-with-the-tool)\n    - [Plugins](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#plugins)\n    - [Multi-project](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#multi-project)\n    - [Build output files](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#build-output-files)\n    - [Maven Wrapper](https://github.com/yanamlnk/gradle-notes/blob/main/contents/12-maven-notes/README.md#maven-wrapper)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n13. [Resources](https://github.com/yanamlnk/gradle-notes/blob/main/resources/README.md)\n    \n\u003csub\u003eLinks to the resources that were used to write these cheatsheets.\u003c/sub\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanamlnk%2Fgradle-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyanamlnk%2Fgradle-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanamlnk%2Fgradle-notes/lists"}