{"id":28460004,"url":"https://github.com/elide-dev/gradle","last_synced_at":"2026-05-04T21:36:31.313Z","repository":{"id":296744552,"uuid":"994042943","full_name":"elide-dev/gradle","owner":"elide-dev","description":"Experimental Gradle plugin for Elide","archived":false,"fork":false,"pushed_at":"2025-06-01T23:29:56.000Z","size":119,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-02T04:50:02.989Z","etag":null,"topics":["build-acceleration","gradle","gradle-plugin","java","java-compiler","kotlin"],"latest_commit_sha":null,"homepage":"https://elide.dev","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/elide-dev.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,"zenodo":null}},"created_at":"2025-06-01T04:26:40.000Z","updated_at":"2025-06-01T23:30:00.000Z","dependencies_parsed_at":"2025-06-02T05:00:16.938Z","dependency_job_id":null,"html_url":"https://github.com/elide-dev/gradle","commit_stats":null,"previous_names":["elide-dev/gradle"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/elide-dev/gradle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elide-dev%2Fgradle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elide-dev%2Fgradle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elide-dev%2Fgradle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elide-dev%2Fgradle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elide-dev","download_url":"https://codeload.github.com/elide-dev/gradle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elide-dev%2Fgradle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32626490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["build-acceleration","gradle","gradle-plugin","java","java-compiler","kotlin"],"created_at":"2025-06-07T02:08:06.036Z","updated_at":"2026-05-04T21:36:31.307Z","avatar_url":"https://github.com/elide-dev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Elide Gradle Plugin\n\nExperimental plugin for using [Elide](https://github.com/elide-dev/elide) from within Gradle.\n\n### Installation\n\nMake sure to [install Elide](https://docs.elide.dev/installation.html) before proceeding. In GHA, use our\n[`elide-dev/setup-elide`](https://github.com/elide-dev/setup-elide) action to install Elide.\n\n1) Create the `javac` shim in your `JAVA_HOME`:\n\n   **`$JAVA_HOME/bin/elide-javac`**\n    ```bash\n    #!/usr/bin/env bash\n    exec elide javac -- \"${@}\"\n    ```\n\n    Also, make sure to mark it as executable:\n    ```bash\n    chmod +x $JAVA_HOME/bin/elide-javac\n    ```\n\n2) Install and use the plugin as shown below.\n3) **That's it! Enjoy faster dependency resolution and Java compilation.**\n\n\u003e [!NOTE]\n\u003e We hope to eliminate the `JAVA_HOME` shim soon.\n\n### Usage\n\n**`gradle.properties`**\n```properties\nelidePluginVersion=latest\n```\n\n**`settings.gradle.kts`**\n```kotlin\n// Use `latest` for the latest version, or any other tag, branch, or commit SHA on this project.\nval elidePluginVersion: String by settings\napply(from = \"https://gradle.elide.dev/$elidePluginVersion/elide.gradle.kts\")\n```\n\n**`build.gradle.kts`**\n```kotlin\nplugins {\n  // The `elideRuntime` catalog is added for you. Add the plugin like this:\n  alias(elideRuntime.plugins.elide)\n}\n\n// Settings here apply on a per-project basis. See below for available settings; all properties\n// are optional, and you don't need to include this block at all if you are fine with defaults.\nelide {\n  // Use Elide's Maven resolver and downloader instead of Gradle's. Defaults to `true` when an\n  // `elide.pkl` file is present in the project root.\n  enableInstall = true\n\n  // Use Elide to compile Java instead of the stock Compiler API facilities used by Gradle.\n  // Defaults to `true` if the plugin is active in the project at all.\n  enableJavaCompiler = true\n\n  // Enable Elide project awareness for Gradle. For example, build scripts can show up as runnable\n  // exec tasks within the Gradle build.\n  enableProjectIntegration = true\n\n  // Set the path to the project manifest, expressed in Pkl format. Elide project manifests can\n  // specify dependencies, build scripts, and other project metadata. Defaults to `elide.pkl` and\n  // automatically finds any present `elide.pkl` in the active project.\n  manifest = layout.projectDirectory.file(\"elide.pkl\")\n}\n```\n\n### What's this?\n\nElide is a runtime and batteries-included toolchain for Kotlin/Java, Python, JavaScript, and TypeScript, that can be\nused as a drop-in replacement for `javac` (among other tools).\n\nElide builds `javac` as a native image and includes it within the Elide binary. This plugin changes your Gradle build\n(as applicable) to use Elide's toolchain facilities instead of Gradle's built-in ones.\n\nThe result can be a significant performance improvement for **fetching dependencies** and **compiling code**.\n\nLearn more about Elide at [elide.dev](https://elide.dev).\n\n### Features\n\n\u003e [!NOTE]\n\u003e Elide is in beta, and this plugin is experimental. Use at your own risk. Please report any issues you encounter.\n\n- [x] Provide a Gradle plugin\n- [x] Provide a Gradle Catalog\n- [x] Support for `elide install` as Gradle's Maven resolver\n- [x] Support for `elide javac -- ...` as Gradle's Java compiler\n- [x] Use Elide from the user's `PATH`\n- [x] Use a local copy of Elide within the project\n- [ ] Gradle-level Elide download cache\n- [ ] Ability to pin Elide version\n- [ ] Support the configuration cache\n- [ ] Race-and-report vs. `javac`\n- [ ] Augment project metadata for reporting\n- [ ] Generate dependency manifests\n\n### How does it work?\n\n[Elide](https://github.com/elide-dev/elide) is a [GraalVM](https://graalvm.org) native image which functions as a Node-\nlike runtime. It speaks multiple languages, including Java, Kotlin, Python, JavaScript, TypeScript, WASM, and Pkl.\n\nIn addition to features which run code (i.e. the runtime!), Elide _also_ is a full batteries-included toolchain for\nsupported languages, including:\n\n- A drop-in replacement for `javac` and `kotlinc`\n- A drop-in replacement for `jar` and `javadoc`\n- Maven-compatible dependency resolution and fetching\n\nThis plugin configures your Gradle build to use Elide's dependency and/or compile features instead of Gradle's.\n\n#### Compiling Java with Elide + Gradle\n\nGradle's `JavaCompile` tasks are configured to use Elide through `isFork = true` and `forkOptions.executable`. These\npoint to a shim in the `JAVA_HOME` which invokes `elide javac -- ...` instead of `javac ...`.\n\nAs a result, JIT warmup is entirely skipped when compiling Java. **Projects under 10,000 classes may see better compiler\nperformance, in some cases up to 20x faster than stock `javac`.**\n\n#### Fetching Dependencies with Elide + Gradle\n\nElide resolves and fetches Maven dependencies with identical semantics to Maven's own resolver, but again in a native\nimage, and with an optimized resolution step (through the use of a checked-in lockfile).\n\nWhen activated for use with Gradle, a few changes are made to your build:\n\n- **An invocation of `elide install`** is added before any Java compilation tasks.\n- **Gradle is configured for a local Maven repo** at `.dev/dependencies/m2`, which is where Elide puts JARs.\n- Thus, when Gradle resolves dependencies, they are _already on disk_ and ready to be used in a classpath.\n\nIn this mode, dependencies are downloaded once and then can be used with both Elide and Gradle.\n\n\u003e [!WARNING]\n\u003e Fetching dependencies with Elide currently requires an `elide.pkl` manifest listing your Maven dependencies. This will\n\u003e change in the future.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felide-dev%2Fgradle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felide-dev%2Fgradle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felide-dev%2Fgradle/lists"}