{"id":19553085,"url":"https://github.com/jjohannes/understanding-gradle","last_synced_at":"2025-04-12T20:42:19.167Z","repository":{"id":40723999,"uuid":"394924132","full_name":"jjohannes/understanding-gradle","owner":"jjohannes","description":"The Understanding Gradle video series introduces the concepts of the Gradle Build Tool one-by-one in short videos.","archived":false,"fork":false,"pushed_at":"2025-03-31T10:09:46.000Z","size":707,"stargazers_count":276,"open_issues_count":0,"forks_count":40,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-04T00:07:55.962Z","etag":null,"topics":["examples","gradle","tutorial"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/@jjohannes","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jjohannes.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-08-11T08:49:32.000Z","updated_at":"2025-02-24T15:23:43.000Z","dependencies_parsed_at":"2023-10-02T09:11:12.771Z","dependency_job_id":"f2db3eab-63b5-4b56-9a3c-2bcdf7256136","html_url":"https://github.com/jjohannes/understanding-gradle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjohannes%2Funderstanding-gradle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjohannes%2Funderstanding-gradle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjohannes%2Funderstanding-gradle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjohannes%2Funderstanding-gradle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jjohannes","download_url":"https://codeload.github.com/jjohannes/understanding-gradle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631669,"owners_count":21136554,"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":["examples","gradle","tutorial"],"created_at":"2024-11-11T04:21:28.597Z","updated_at":"2025-04-12T20:42:19.145Z","avatar_url":"https://github.com/jjohannes.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Understanding Gradle – Video Series\n\nThis repository contains sample projects and further information on my [Understanding Gradle](https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl2k2OmC_gsjDpdIBTN0qqkE) video series.\n\nThe series introduces the concepts of the [Gradle Build Tool](https://github.com/gradle/gradle) one-by-one in short videos.\nRather than explaining each feature in detail, the series initially aims at explaining fundamental concepts and patterns.\nThis gives you a general understanding of how things work in Gradle and enables you to structure your project in a readable and maintainable way.\n\n[Switch all examples to Kotlin DSL](https://github.com/jjohannes/understanding-gradle/tree/main)  \n[Switch all examples to Groovy DSL](https://github.com/jjohannes/understanding-gradle/tree/groovy-dsl)\n\n## The Fundamentals (First 14 Entries)\n\n1. [The Settings File](01_The_Settings_File)\n2. [The Build Files](02_The_Build_Files)\n3. [Plugins](03_Plugins)\n4. [Tasks](04_Tasks)\n5. [Lifecycle Tasks](05_Lifecycle_Tasks)\n6. [Configuring Task Inputs and Outputs](06_Configuring_Task_Inputs_And_Outputs)\n7. [Implementing Tasks and Extensions](07_Implementing_Tasks_and_Extensions)\n8. [Declaring Dependencies](08_Declaring_Dependencis)\n9. [Centralizing Dependency Versions](09_Centralizing_Dependency_Versions)\n10. [Dependency Version Conflicts](10_Dependency_Version_Conflicts)\n11. [Capability Conflicts](11_Capability_Conflicts)\n12. [Publishing Libraries](12_Publishing_Libraries)\n13. [Aggregating Custom Artifacts](13_Aggregating_Custom_Artifacts)\n14. [Settings Plugins](14_Settings_Plugins)\n\n\n## Full Project Setup (Entry 15)\n\n- [Full Java Project Setup](https://github.com/jjohannes/gradle-project-setup-howto/tree/main)\n- [Full Android Project Setup](https://github.com/jjohannes/gradle-project-setup-howto/tree/android)\n- [Full Java Module System Project Setup](https://github.com/jjohannes/gradle-project-setup-howto/tree/java_module_system)\n\n## JVM Development Basics (Entries 16 - 22)\n\n16. [Source Sets](16_Source_Sets)\n17. [Feature Variants](17_Feature_Variants)\n18. [Configuring Testing](18_Configuring_Testing)\n19. [The Test Task](19_The_Test_Task)\n20. [Test Fixtures](20_Test_Fixtures)\n21. [Test and Code Coverage Reporting](21_Test_and_Code_Coverage_Reporting)\n22. [The JavaCompile Task](22_The_JavaCompile_Task)\n\n## General Gradle Topics (Entries 23 - 25)\n\n23. [Caching](23_Caching)\n24. [Kotlin DSL and Groovy DSL](24_Kotlin_DSL_and_Groovy_DSL)\n25. [Using Java to configure builds](25_Using_Java_to_configure_builds)\n\n## Java Modularity (Entries 26 - 33)\n\n26. [The Classpath](26_The_Classpath)\n27. [Multiple Compile Classpaths](27_Multiple_Compile_Classpaths)\n28. [Clean Compile Classpaths with the Dependency Analysis Plugin](28_Dependency_Analysis_Plugin)\n29. [Detect and Resolve Collisions on a Classpath](29_Classpath_Collisions)\n30. [Discover Security Vulnerabilities](30_Security_Vulnerabilities)\n31. [The Module Path](31_The_Module_Path)\n32. [Artifact Transforms](32_Artifact_Transforms)\n33. [Classpath and Module Path in Testing](33_Classpath_and_Module_Path_in_Testing)\n\n## More Fundamentals (Entries 34 - ??)\n\n34. [Properties and Providers](34_Properties_and_Providers)\n35. [Working with Files](35_Working_with_Files)\n36. [Task Actions](36_Task_Actions)\n\n## Need Gradle support?\n\nContact me, if you need help with Gradle: [onepiece.Software](http://onepiece.software).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjohannes%2Funderstanding-gradle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjjohannes%2Funderstanding-gradle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjohannes%2Funderstanding-gradle/lists"}