{"id":21154960,"url":"https://github.com/forge/addon-gradle","last_synced_at":"2025-07-09T11:31:09.617Z","repository":{"id":8760539,"uuid":"10443032","full_name":"forge/addon-gradle","owner":"forge","description":"Forge 2 Gradle Support","archived":false,"fork":false,"pushed_at":"2018-12-02T16:19:48.000Z","size":590,"stargazers_count":4,"open_issues_count":1,"forks_count":6,"subscribers_count":10,"default_branch":"master","last_synced_at":"2023-07-27T15:48:52.013Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/forge.png","metadata":{"files":{"readme":"README.asciidoc","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}},"created_at":"2013-06-02T22:15:12.000Z","updated_at":"2022-06-28T14:49:35.000Z","dependencies_parsed_at":"2022-09-08T23:50:30.356Z","dependency_job_id":null,"html_url":"https://github.com/forge/addon-gradle","commit_stats":null,"previous_names":[],"tags_count":5,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Faddon-gradle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Faddon-gradle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Faddon-gradle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Faddon-gradle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forge","download_url":"https://codeload.github.com/forge/addon-gradle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225536141,"owners_count":17484775,"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-11-20T11:08:52.944Z","updated_at":"2024-11-20T11:08:53.437Z","avatar_url":"https://github.com/forge.png","language":"Java","readme":"== Gradle Addon for JBoss Forge 3\n:idprefix: id_ \n\nimage:https://travis-ci.org/forge/addon-gradle.svg?branch=master[\"Build Status\", link=\"https://travis-ci.org/forge/addon-gradle\"]\n\nThis addon *exports services* for use in other addons. The Gradle addon implements extension points in several addons, enabling them to function using Gradle (in fact Maven or Ivy) dependency resolution, project building, and additionally provides Gradle build script manipulation services.\n\n=== Depends on\n\n[options=\"header\"]\n|===\n|Addon |Exported |Optional\n\n|dependencies\n|yes\n|no\n\n|resources\n|yes\n|no\n\n|projects\n|yes\n|no\n\n|parser-java\n|yes\n|no\n\n|ui\n|no\n|yes\n\n|maven\n|no\n|no\n\n|configuration\n|no\n|no\n\n|org.jboss.forge.furnace.container:cdi\n|no\n|no\n\n|===\n\n== Setup\n\nThis Addon requires the following installation steps.\n\n=== Add configuration to pom.xml \n\nTo use this addon, you must add it as a dependency in the *pom.xml* of your `forge-addon` classified artifact:\n\n[source,xml]\n----\n\u003cdependency\u003e\n   \u003cgroupId\u003eorg.jboss.forge.addon\u003c/groupId\u003e\n   \u003cartifactId\u003egradle\u003c/artifactId\u003e\n   \u003cclassifier\u003eforge-addon\u003c/classifier\u003e\n   \u003cversion\u003e${version}\u003c/version\u003e\n\u003c/dependency\u003e\n----\n\n== Features\n\nGradle DSL API mapping::\nThis addon provides model for Gradle build script elements such as tasks, dependencies, source sets, plugins, etc.\n+\n[source,java]\n----\nGradleModelBuilder builder = GradleModelBuilder.create();\n\nmodel.addTask(GradleTaskBuilder.create()\n\t\t.setName(\"newTask\")\n\t\t.setDependendsOn(GradleTaskBuilder.create().setName(\"otherTask\"))\n\t\t.setCode(\"println 'Hello!'\"));\n----\n\n\nForge-Gradle library::\nDuring setup, addon creates and installs forge.gradle library in the project directory. It adds few enhancements to build script which are not currently supported in default Gradle installation:\n+\n* dependency management - implementation of Maven dependencyManagement, performed by two pseudoconfigurations named `managed` and `direct`\n* profiles - equivalent of Maven profiles, each profile is represented by `name-profile.gradle` script in project directory, profile is chosen by setting `profile` project build property\n* setting output archive name - changes output artifact name of the default build task (such as jar) \n+\nIn future, forge.gradle will probably be replaced with forge Gradle plugin or other alternative which won't require adding anything to the project.\n\n\nProject facets implementation:: \nGradle addon implements basic project facets from projects and parser-java addon, and adds a `GradleFacet` which is entry point for Gradle addon API:\n+\n* `GradleFacet`\n* `MetadataFacet`\n* `DependencyFacet`\n* `PackagingFacet`\n* `ResourcesFacet`\n* `JavaSourceFacet`\n+\n\n\nGradle manager::\n`GradleManager` service allows other addons to run Gradle builds using Gradle tooling API. It takes care of downloading Gradle installation if `GRADLE_HOME` environment property is not set, and makes Gradle builds synchronous.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforge%2Faddon-gradle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforge%2Faddon-gradle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforge%2Faddon-gradle/lists"}