{"id":25715349,"url":"https://github.com/lwjgl/lwjgl3-gradle","last_synced_at":"2025-05-05T16:46:16.863Z","repository":{"id":78313997,"uuid":"421091165","full_name":"LWJGL/lwjgl3-gradle","owner":"LWJGL","description":"Gradle plugin for LWJGL 3","archived":false,"fork":false,"pushed_at":"2024-09-05T10:28:47.000Z","size":109,"stargazers_count":18,"open_issues_count":1,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-26T16:52:09.631Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LWJGL.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}},"created_at":"2021-10-25T15:58:53.000Z","updated_at":"2024-09-15T16:41:12.000Z","dependencies_parsed_at":"2023-04-22T13:17:16.896Z","dependency_job_id":null,"html_url":"https://github.com/LWJGL/lwjgl3-gradle","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-gradle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-gradle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-gradle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-gradle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LWJGL","download_url":"https://codeload.github.com/LWJGL/lwjgl3-gradle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252535760,"owners_count":21764009,"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":"2025-02-25T13:52:46.498Z","updated_at":"2025-05-05T16:46:16.842Z","avatar_url":"https://github.com/LWJGL.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lwjgl\n\nThe idea is to easier the lwjgl dependency management\n\nLet's say you want to include everything, as on the website with the preset\n\nThis:\n\n```kotlin\n\nval lwjglVersion = \"3.3.4-SNAPSHOT\"\nval lwjglNatives = \"natives-linux\"\n\nrepositories {\n    mavenCentral()\n    maven(\"https://oss.sonatype.org/content/repositories/snapshots/\")\n}\n\ndependencies {\n    implementation(platform(\"org.lwjgl:lwjgl-bom:$lwjglVersion\"))\n    \n    implementation(\"org.lwjgl\", \"lwjgl\")\n    implementation(\"org.lwjgl\", \"lwjgl-assimp\")\n    implementation(\"org.lwjgl\", \"lwjgl-bgfx\")\n    implementation(\"org.lwjgl\", \"lwjgl-cuda\")\n    implementation(\"org.lwjgl\", \"lwjgl-egl\")\n    implementation(\"org.lwjgl\", \"lwjgl-glfw\")\n    implementation(\"org.lwjgl\", \"lwjgl-jawt\")\n    implementation(\"org.lwjgl\", \"lwjgl-jemalloc\")\n    implementation(\"org.lwjgl\", \"lwjgl-libdivide\")\n    implementation(\"org.lwjgl\", \"lwjgl-llvm\")\n    implementation(\"org.lwjgl\", \"lwjgl-lmdb\")\n    implementation(\"org.lwjgl\", \"lwjgl-lz4\")\n    implementation(\"org.lwjgl\", \"lwjgl-meow\")\n    implementation(\"org.lwjgl\", \"lwjgl-nanovg\")\n    implementation(\"org.lwjgl\", \"lwjgl-nfd\")\n    implementation(\"org.lwjgl\", \"lwjgl-nuklear\")\n    implementation(\"org.lwjgl\", \"lwjgl-odbc\")\n    implementation(\"org.lwjgl\", \"lwjgl-openal\")\n    implementation(\"org.lwjgl\", \"lwjgl-opencl\")\n    implementation(\"org.lwjgl\", \"lwjgl-opengl\")\n    implementation(\"org.lwjgl\", \"lwjgl-opengles\")\n    implementation(\"org.lwjgl\", \"lwjgl-openvr\")\n    implementation(\"org.lwjgl\", \"lwjgl-opus\")\n    implementation(\"org.lwjgl\", \"lwjgl-par\")\n    implementation(\"org.lwjgl\", \"lwjgl-remotery\")\n    implementation(\"org.lwjgl\", \"lwjgl-rpmalloc\")\n    implementation(\"org.lwjgl\", \"lwjgl-shaderc\")\n    implementation(\"org.lwjgl\", \"lwjgl-sse\")\n    implementation(\"org.lwjgl\", \"lwjgl-stb\")\n    implementation(\"org.lwjgl\", \"lwjgl-tinyexr\")\n    implementation(\"org.lwjgl\", \"lwjgl-tinyfd\")\n    implementation(\"org.lwjgl\", \"lwjgl-tootle\")\n    implementation(\"org.lwjgl\", \"lwjgl-vma\")\n    implementation(\"org.lwjgl\", \"lwjgl-vulkan\")\n    implementation(\"org.lwjgl\", \"lwjgl-xxhash\")\n    implementation(\"org.lwjgl\", \"lwjgl-yoga\")\n    implementation(\"org.lwjgl\", \"lwjgl-zstd\")\n    runtimeOnly(\"org.lwjgl\", \"lwjgl\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-assimp\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-bgfx\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-glfw\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-jemalloc\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-libdivide\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-llvm\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-lmdb\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-lz4\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-meow\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-nanovg\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-nfd\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-nuklear\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-openal\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-opengl\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-opengles\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-openvr\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-opus\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-par\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-remotery\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-rpmalloc\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-shaderc\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-sse\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-stb\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-tinyexr\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-tinyfd\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-tootle\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-vma\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-xxhash\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-yoga\", classifier = lwjglNatives)\n    runtimeOnly(\"org.lwjgl\", \"lwjgl-zstd\", classifier = lwjglNatives)\n}\n```\n\nbecomes\n\n```kotlin\nplugins {\n    id(\"org.lwjgl.plugin\") version \"0.0.35\"\n}\nrepositories {\n    mavenCentral()\n    sonatype() // plugin accessor\n}\ndependencies {\n    lwjgl {\n        version = Snapshot.`3․3․4` // default to `Release.latest`, that is Release.`3․3․4`\n        implementation(Preset.everything) \n    }\n}\n```\nThe corresponding natives will be loaded under the hood for all the modules which need them.\nBy default, only the natives of the running platform will be included. If you want to include them all, set \n`nativesForEveryPlatform = true`\n\nThe default version is the latest stable, that is `3.3.4`, if you want to override this\n```kotlin\nlwjgl {\n    version = Release.`3․3․0` // down to 3.1.0\n}\n```\n\nYou can of course pass the wished `Module`s directly\n```kotlin\nlwjgl { implementation(assimp, bgfx, glfw, nanovg, nuklear, openal, opengl, par, stb, vulkan) }\n```\n`core` may be omitted since it's included by default\n\nYou can also extend presets with specific modules:\n```kotlin\nlwjgl {\n    implementation(Lwjgl.Preset.gettingStarted + jemalloc)\n}\n```\n\nAccessor addons are available as well (they revert to simple `String`s, so you can use them also outside `lwjgl` lambda):\n```kotlin\nimplementation(Lwjgl.Addons.`joml 1․10․5`)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flwjgl%2Flwjgl3-gradle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flwjgl%2Flwjgl3-gradle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flwjgl%2Flwjgl3-gradle/lists"}