{"id":30850118,"url":"https://github.com/ftbteam/ashwing","last_synced_at":"2025-09-07T05:05:58.402Z","repository":{"id":311912312,"uuid":"864266445","full_name":"FTBTeam/Ashwing","owner":"FTBTeam","description":"Modding helper plugin for gradle targeted to remove code duplication amongst projects","archived":false,"fork":false,"pushed_at":"2025-08-27T11:38:14.000Z","size":119,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-27T20:40:25.879Z","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/FTBTeam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2024-09-27T20:15:32.000Z","updated_at":"2025-08-27T11:38:17.000Z","dependencies_parsed_at":"2025-08-27T20:40:32.539Z","dependency_job_id":"f20fac3b-bf25-41db-aa35-6d6d3a6feab7","html_url":"https://github.com/FTBTeam/Ashwing","commit_stats":null,"previous_names":["ftbteam/ashwing"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/FTBTeam/Ashwing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FAshwing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FAshwing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FAshwing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FAshwing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FTBTeam","download_url":"https://codeload.github.com/FTBTeam/Ashwing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FAshwing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273997155,"owners_count":25204479,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-09-07T05:05:54.968Z","updated_at":"2025-09-07T05:05:58.388Z","avatar_url":"https://github.com/FTBTeam.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ashwing\n\nAshwing is an opinionated gradle plugin to help standardize FTB mod development environments.\n\nWe provide a curated set of tasks and extensions to produce consistent outputs across all FTB mods.\n\nAshwing is provided in an `as-is` state and is under constant development. We welcome contributions and feedback but ultimately, we use this primarily for our own projects and this plugin is subject to change at any time.\n\n## Usage\n\n```groovy\n// Find the latest version at https://maven.ftb.dev/#/releases/dev/ftb/plugins/ashwing/\n\nplugins {\n    id 'dev.ftb.plugins.ashwing' version '$VERSION'\n\n```\n\n## Features\n\n- Automatically handles publishing to maven, Curseforge and Modrinth when configured\n- Update changelogs with `UNRELEASED` sections\n- Create NeoForge like, and FTB like version prefixes\n- Provides `shorthand` declarations of common maven repositories\n\n_More to come_\n\n### Todos\n\n- Support signing of jars before publishing\n\n## Usage\n\nGradle should provide auto-completion for our extensions but here is a vague example of how you might configure Ashwing\n\n```groovy\nashwing {\n    modId = \"ftblibrary\"\n    modName = \"FTB Library\"\n\n    publishing {\n        // You can add more than one minecraft version to target multiple versions\n        minecraftVersion(minecraft_version)\n        \n        // This will configure the version type, aka, stable, beta, alpha. It will figure it out based on the input if it contains, beta, alpha or omits it for stable\n        releaseFromString(providers.environmentVariable(\"TAG\").getOrElse(\"release\"))\n\n        // When tokens are provided, this will publish, otherwise, dryrun\n        curseForgeToken = providers.environmentVariable(\"CURSEFORGE_TOKEN\").orElse(\"\")\n        modrinthToken = providers.environmentVariable(\"MODRINTH_TOKEN\").orElse(\"\")\n\n        maven {\n            username = \"ftb\"\n            password = \"Hello\"\n        }\n\n        // These can be set above when they are the same for all projects.\n        // curseforgeId = 123456\n        // modrinthId = \"abcd\"\n        \n        // Shared dependencies between platforms as they share the same slug\n        required(\"architectury-api\")\n        optional(\"jei\")\n        optional(\"roughly-enough-items\")\n\n        // NeoForge setup\n        modProject {\n            curseforgeId = curseforge_id_forge.toInteger()\n            modLoader = \"neoforge\"\n            // Helper to pull the output file from a specified task\n            fileFromTask(project(\":neoforge\"), \"remapJar\")\n        }\n\n        // Fabric setup\n        modProject {\n            curseforgeId = curseforge_id_fabric.toInteger()\n            modLoader = \"fabric\"\n            fileFromTask(project(\":fabric\"), \"remapJar\")\n        }\n    }\n}\n```\n\n_Subject to change_","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftbteam%2Fashwing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fftbteam%2Fashwing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftbteam%2Fashwing/lists"}