{"id":18470154,"url":"https://github.com/skriptlang/skript-test-gradle-plugin","last_synced_at":"2026-01-05T13:05:33.377Z","repository":{"id":256077963,"uuid":"843980827","full_name":"SkriptLang/skript-test-gradle-plugin","owner":"SkriptLang","description":"A Gradle plugin to run Skript tests","archived":false,"fork":false,"pushed_at":"2024-09-15T14:41:36.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T04:23:04.240Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SkriptLang.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,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"SkriptLang","open_collective":"SkriptLang"}},"created_at":"2024-08-18T02:31:32.000Z","updated_at":"2024-09-15T14:41:24.000Z","dependencies_parsed_at":"2024-09-15T15:06:02.384Z","dependency_job_id":null,"html_url":"https://github.com/SkriptLang/skript-test-gradle-plugin","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"94fde53af2e392250f4e9a605dc47e9a53557556"},"previous_names":["skriptlang/skript-test-gradle-plugin"],"tags_count":0,"template":false,"template_full_name":"cortinico/kotlin-gradle-plugin-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-test-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-test-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-test-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-test-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SkriptLang","download_url":"https://codeload.github.com/SkriptLang/skript-test-gradle-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247824373,"owners_count":21002260,"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-06T10:13:06.804Z","updated_at":"2026-01-05T13:05:33.292Z","avatar_url":"https://github.com/SkriptLang.png","language":"Kotlin","funding_links":["https://github.com/sponsors/SkriptLang","https://opencollective.com/SkriptLang"],"categories":[],"sub_categories":[],"readme":"# kotlin-gradle-plugin-template 🐘\n\n[![Use this template](https://img.shields.io/badge/-Use%20this%20template-brightgreen)](https://github.com/cortinico/kotlin-gradle-plugin-template/generate) [![Pre Merge Checks](https://github.com/cortinico/kotlin-gradle-plugin-template/workflows/Pre%20Merge%20Checks/badge.svg)](https://github.com/cortinico/kotlin-gradle-plugin-template/actions?query=workflow%3A%22Pre+Merge+Checks%22)  [![License](https://img.shields.io/github/license/cortinico/kotlin-android-template.svg)](LICENSE) ![Language](https://img.shields.io/github/languages/top/cortinico/kotlin-android-template?color=blue\u0026logo=kotlin)\n\nA simple Github template that lets you create a **Gradle Plugin** 🐘 project using **100% Kotlin** and be up and running in a **few seconds**.\n\nThis template is focused on delivering a project with **static analysis** and **continuous integration** already in place.\n\n## How to use 👣\n\nJust click on [![Use this template](https://img.shields.io/badge/-Use%20this%20template-brightgreen)](https://github.com/cortinico/kotlin-gradle-plugin-template/generate) button to create a new repo starting from this template.\n\nOnce created don't forget to update the:\n- [gradle.properties](plugin-build/gradle.properties)\n- Plugin Usages (search for [org.skriptlang.gradle.test.plugin](https://github.com/cortinico/kotlin-gradle-plugin-template/search?q=org.skriptlang.gradle.test.plugin\u0026unscoped_q=org.skriptlang.gradle.test.plugin) in the repo and replace it with your ID).\n\n## Features 🎨\n\n- **100% Kotlin-only template**.\n- Plugin build setup with **composite build**.\n- 100% Gradle Kotlin DSL setup.\n- Dependency versions managed via Gradle Versions Catalog (`libs.versions.toml`).\n- CI Setup with GitHub Actions.\n- Kotlin Static Analysis via `ktlint` and `detekt`.\n- Publishing-ready to Gradle Portal.\n- Issues Template (bug report + feature request)\n- Pull Request Template.\n\n## Composite Build 📦\n\nThis template is using a [Gradle composite build](https://docs.gradle.org/current/userguide/composite_builds.html) to build, test and publish the plugin. This means that you don't need to run Gradle twice to test the changes on your Gradle plugin (no more `publishToMavenLocal` tricks or so).\n\nThe included build is inside the [plugin-build](plugin-build) folder.\n\n### `preMerge` task\n\nA `preMerge` task on the top level build is already provided in the template. This allows you to run all the `check` tasks both in the top level and in the included build.\n\nYou can easily invoke it with:\n\n```\n./gradlew preMerge\n```\n\nIf you need to invoke a task inside the included build with:\n\n```\n./gradlew -p plugin-build \u003ctask-name\u003e\n```\n\n\n### Dependency substitution\n\nPlease note that the project relies on module name/group in order for [dependency substitution](https://docs.gradle.org/current/userguide/resolution_rules.html#sec:dependency_substitution_rules) to work properly. If you change only the plugin ID everything will work as expected. If you change module name/group, things might break and you probably have to specify a [substitution rule](https://docs.gradle.org/current/userguide/resolution_rules.html#sub:project_to_module_substitution).\n\n\n## Publishing 🚀\n\nThis template is ready to let you publish to [Gradle Portal](https://plugins.gradle.org/).\n\nThe [![Publish Plugin to Portal](https://github.com/cortinico/kotlin-gradle-plugin-template/workflows/Publish%20Plugin%20to%20Portal/badge.svg?branch=1.0.0)](https://github.com/cortinico/kotlin-gradle-plugin-template/actions?query=workflow%3A%22Publish+Plugin+to+Portal%22) Github Action will take care of the publishing whenever you **push a tag**.\n\nPlease note that you need to configure two secrets: `GRADLE_PUBLISH_KEY` and `GRADLE_PUBLISH_SECRET` with the credetials you can get from your profile on the Gradle Portal.\n\n## 100% Kotlin 🅺\n\nThis template is designed to use Kotlin everywhere. The build files are written using [**Gradle Kotlin DSL**](https://docs.gradle.org/current/userguide/kotlin_dsl.html) as well as the [Plugin DSL](https://docs.gradle.org/current/userguide/plugins.html#sec:plugins_block) to setup the build.\n\nDependencies are centralized inside the [libs.versions.toml](gradle/libs.versions.toml).\n\nMoreover, a minimalistic Gradle Plugin is already provided in Kotlin to let you easily start developing your own around it.\n\n## Static Analysis 🔍\n\nThis template is using [**ktlint**](https://github.com/pinterest/ktlint) with the [ktlint-gradle](https://github.com/jlleitschuh/ktlint-gradle) plugin to format your code. To reformat all the source code as well as the buildscript you can run the `ktlintFormat` gradle task.\n\nThis template is also using [**detekt**](https://github.com/arturbosch/detekt) to analyze the source code, with the configuration that is stored in the [detekt.yml](config/detekt/detekt.yml) file (the file has been generated with the `detektGenerateConfig` task).\n\n## CI ⚙️\n\nThis template is using [**GitHub Actions**](https://github.com/cortinico/kotlin-android-template/actions) as CI. You don't need to setup any external service and you should have a running CI once you start using this template.\n\nThere are currently the following workflows available:\n- [Validate Gradle Wrapper](.github/workflows/gradle-wrapper-validation.yml) - Will check that the gradle wrapper has a valid checksum\n- [Pre Merge Checks](.github/workflows/pre-merge.yaml) - Will run the `preMerge` tasks as well as trying to run the Gradle plugin.\n- [Publish to Plugin Portal](.github/workflows/publish-plugin.yaml) - Will run the `publishPlugin` task when pushing a new tag.\n\n## Contributing 🤝\n\nFeel free to open a issue or submit a pull request for any bugs/improvements.\n\n## License 📄\n\nThis template is licensed under the MIT License - see the [License](License) file for details.\nPlease note that the generated template is offering to start with a MIT license but you can change it to whatever you wish, as long as you attribute under the MIT terms that you're using the template.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskriptlang%2Fskript-test-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskriptlang%2Fskript-test-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskriptlang%2Fskript-test-gradle-plugin/lists"}