{"id":22955045,"url":"https://github.com/getrighhttt/gradlethings","last_synced_at":"2026-01-15T22:34:04.701Z","repository":{"id":223207533,"uuid":"759592796","full_name":"GetRighhttt/GradleThings","owner":"GetRighhttt","description":"Repository to demonstrate how to work with Gradle.","archived":false,"fork":false,"pushed_at":"2024-02-19T21:58:36.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T16:16:23.826Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/GetRighhttt.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}},"created_at":"2024-02-19T00:18:10.000Z","updated_at":"2024-02-19T00:18:10.000Z","dependencies_parsed_at":"2024-02-19T01:44:02.838Z","dependency_job_id":null,"html_url":"https://github.com/GetRighhttt/GradleThings","commit_stats":null,"previous_names":["getrighhttt/gradlethings"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GetRighhttt%2FGradleThings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GetRighhttt%2FGradleThings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GetRighhttt%2FGradleThings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GetRighhttt%2FGradleThings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GetRighhttt","download_url":"https://codeload.github.com/GetRighhttt/GradleThings/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246735343,"owners_count":20825223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-12-14T16:26:56.733Z","updated_at":"2026-01-15T22:34:04.671Z","avatar_url":"https://github.com/GetRighhttt.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gradle\n\n### What is Gradle?\n- Build automation tool\n  - Takes your code and packages it into deployable unit\n  - applies to small or large projects\n  - written in the Kotlin language\n  - can also be written in Groovy\n  - highly configurable to meet project needs\n \n![image](https://github.com/GetRighhttt/GradleThings/assets/105057858/80ea3be1-8068-42ca-86cf-06d37943f191)\n\n\n#### Why use Gradle\n- Makes building and running applications very easy\n- no need for people using your projects to install Gradle\n  - Gradle wrapper comes bundled in with project\n  - Just run `./graldew build` and you should be ok\n- Very concise; no XML configuration needed\n- lightning fast\n- Had **dependency management** which is an automated technique for declaring and resolving external resources needed for the project\n\n#### Key Gradle Concepts\n- `build.gradle.kts` is the Gradle build script file \n  - defines how project is build\n  - written in Kotlin DSL\n  - lives in top-level of the project\n  - has `plugins` (extend gradle capability), `repositories`, and `dependencies`, also houses some metadata\n- `tasks` defines a unit of work\n  - invoked form the command line\n  - `./gradlew build` is considered a build task\n  - see a full list of available tasks by running `./gradlew tasks`\n  - can also create own custom tasks\n  - task can have dependencies on other tasks\n  - creates a task graph of dependencies\n- `wrapper` is the script used to invoke Gradle and run tasks\n  - always committed into version control\n  - no local Gradle installation required for anyone building your project\n  - contains a specific version of gradle for the project\n  - ALWAYS use the Gradle wrapper script for safety (unless initializing new gradle project)\n\n#### Gradle Project Structure\n- Gradle supports single-project and multi-project structures\n  - single-project structures are usually for smaller projects with a single build output\n  - multi-project structures are for larger projects with multiple build outputs\n\n#### Typical Structure\n| -- `build.gradle.kts` -\u003e main build configuration file\n| -- `gradle` -\u003e contains configuration and code for Gradle wrapper\n|   -- `wrapper`\n|     | -- `gradle-wrapper.jar`\n|       -- `gradle-wrapper.properties`\n| -- `gradlew` -\u003e gradle wrapper script (Windows and Linux)\n| -- `gradlew.bat`\n-- `settings.gradle.kts` -\u003e set project name, and additional settings\n- all files and directories should be committed into version control automatically \n- `.gradle` should not be committed into version control as it is hidden\n  - project specific cache used internally by Gradle\n- `.gitignore` automatically generated by gradle when a project is created\n\n#### Gradle Wrapper\n- Standardizes a gradle version used for the project\n- Recommended way to invoke all Gradle builds and scripts\n- Ensures reliable and standardized build for gradle\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetrighhttt%2Fgradlethings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetrighhttt%2Fgradlethings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetrighhttt%2Fgradlethings/lists"}