{"id":15044147,"url":"https://github.com/gradle/declarative-gradle","last_synced_at":"2025-04-04T21:06:35.013Z","repository":{"id":213327973,"uuid":"727442631","full_name":"gradle/declarative-gradle","owner":"gradle","description":"Declarative Gradle is a project targeting better isolation of concern and expressing any build in a clear and understandable way","archived":false,"fork":false,"pushed_at":"2025-04-04T19:45:21.000Z","size":1602,"stargazers_count":136,"open_issues_count":18,"forks_count":18,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-04-04T20:23:20.348Z","etag":null,"topics":["declarative-gradle","declarative-language","dsl","gradle","gradle-bt","gradle-kotlin-dsl","kotlin"],"latest_commit_sha":null,"homepage":"https://declarative.gradle.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gradle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-04T21:45:36.000Z","updated_at":"2025-04-03T04:05:18.000Z","dependencies_parsed_at":"2024-01-23T15:27:32.122Z","dependency_job_id":"104c764c-5619-4d35-affd-0c7e99687a26","html_url":"https://github.com/gradle/declarative-gradle","commit_stats":{"total_commits":351,"total_committers":19,"mean_commits":"18.473684210526315","dds":0.5811965811965811,"last_synced_commit":"5806a1700897a18017c1c06cfcb070582cd0cf77"},"previous_names":["gradle/declarative-prototypes","gradle/declarative-gradle"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fdeclarative-gradle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fdeclarative-gradle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fdeclarative-gradle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fdeclarative-gradle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gradle","download_url":"https://codeload.github.com/gradle/declarative-gradle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249524,"owners_count":20908212,"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":["declarative-gradle","declarative-language","dsl","gradle","gradle-bt","gradle-kotlin-dsl","kotlin"],"created_at":"2024-09-24T20:50:08.438Z","updated_at":"2025-04-04T21:06:34.993Z","avatar_url":"https://github.com/gradle.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Declarative Gradle\n\n[![a](https://img.shields.io/badge/slack-%23declarative_gradle-brightgreen?style=flat\u0026logo=slack)](https://gradle.org/slack-invite)\n[![a](https://img.shields.io/badge/Getting-Started-blue?style=flat)](./docs/getting-started/README.md)\n[![a](https://img.shields.io/badge/Roadmap-Public-brightgreen?style=flat)](./docs/ROADMAP.md)\n\nAt Gradle, part of our vision is to provide an elegant and extensible declarative build language\nthat enables expressing any build in a clear and understandable way.\nWe are working on _Declarative Gradle_ to realize that part of the vision.\nThis is an experimental project, stay tuned for updates!\n\nLearn more in the [Declarative Gradle Announcement](https://blog.gradle.org/declarative-gradle)\nblog post and [other publications](./docs/publications/README.md).\n\n## Status\n\n_Declarative Gradle_ is an **experimental** project, now in its [second Early Access Preview (EAP)](./docs/EAP2.md).\nWe invite you to [try out Declarative Gradle](./docs/getting-started/README.md),\nand to [share feedback](./docs/feedback.md).\nThe project includes the following experimental parts:\n\n- Software Types as a declarative modeling framework\n- Changes in Gradle to support DCL files\n- Changes in Android Studio and IntelliJ IDEA to support DCL files\n- A Visual Studio Code extension to support DCL files\n- An Eclipse IDE plugin to support DCL files\n- Prototype plugins demonstrating software types and higher-level models\n- A Gradle test client demonstrating features not yet implemented in the IDE\n\nCurrently, no compatibility is guaranteed, and there is no commitment to the DSL syntax\nand available features.\nLearn how you can contribute in the [Participate](./docs/CONTRIBUTING.md) section.\n\n\u003ca class=\"button button--blue\" href=\"./docs/feedback\"\u003e\n   Share Your Feedback\n\u003c/a\u003e\n\n## Key Principles\n\n- **Ease of use** for regular software developers.\n  Software developers should be able to define any software and build their projects\n  without the need to understand the details of how the build system works.\n- **Complete flexibility** for build engineers and advanced users.\n  Experienced Gradle users should maintain the current level of flexibility and be able\n  to automate a wide range of software build automation scenarios with custom build logic.\n- **Excellent IDE integration.**\n  Importing the software project to the IDE and interacting with it should be fast and fully reliable.\n  IDEs and other tools should be able to change the definition automatically or through UI reliably.\n\nWe implement those principles through a _declarative DSL_ which is a tailored tiny subset of the Kotlin language.\nThe [Declarative Gradle Announcement](https://blog.gradle.org/declarative-gradle)\noutlines more details about the project and the new Declarative DSL we are building.\n\n\u003c!-- TODO: Add project manifesto --\u003e\n\n## A Glimpse\n\nHere is a very brief example of what the Declarative Gradle syntax looks like for a Java application.\n\n```kotlin\njavaApplication {\n    javaVersion = 21\n    mainClass = \"com.example.App\"\n\n    dependencies {\n        implementation(project(\":java-util\"))\n        implementation(\"com.google.guava:guava:32.1.3-jre\")\n    }\n}\n```\n\nLooks familiar, right?\n\nAs noted above, this syntax is experimental and might change during the experiment.\n\n## Learn More\n\nThe _Declarative Gradle_ experiment is still in an early stage but is ready for your feedback!\n\n* [Getting Started](docs/getting-started/README.md) - Learn how to try _Declarative Gradle_ yourself.\n* [Documentation](docs/reference/README.md) - Learn about the fundamentals behind _Declarative Gradle_.\n* [Participate](docs/CONTRIBUTING.md) - Learn how you can help shape the future of _Declarative Gradle_.\n* [Resources](docs/publications/README.md) - Learn more from conferences, interviews, articles, etc.\n\n## Share Feedback\n\nWe invite you to [try out Declarative Gradle](./docs/getting-started/README.md),\nand to [share your feedback](./docs/feedback.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgradle%2Fdeclarative-gradle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgradle%2Fdeclarative-gradle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgradle%2Fdeclarative-gradle/lists"}