Kotlin / Kotlin/compiler-plugin-template
GitHub workflow to cleanup template after repository creation
- Dominant language
- Kotlin
- Stars
- 163
- Forks
- 30
- PR merge metrics
- No merged PRs in 30d
Description
The [Kotlin Advent of Code template project](https://github.com/kotlin-hands-on/advent-of-code-kotlin-template) has this [really cool GitHub workflow](https://github.com/kotlin-hands-on/advent-of-code-kotlin-template/blob/main/.github/workflows/template-cleanup.yml) which edits the project files after the new repository is created and deletes itself when complete.
There are a lot of files that need to be updated when a compiler plugin project is created. It would be nice if a workflow could handle many of these automatically. For example:
* Files within `compiler-plugin` need to be renamed and relocated based on the desired package and plugin name.
* Files within `gradle-plugin` need to be renamed and relocated as well.
* Both files in `META-INF/services` need to be updated based on class names and package.
* The group ID in the root `build.gradle.kts` file needs to be updated.
* The plugin name and implementation class in `gradle-plugin/build.gradle.kts` needs to be updated.
* And probably lots more...
Since there will be multiple pieces of information that need to be provided to correctly update all of these files, maybe a manually triggered workflow would work better?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the linked template-cleanup.yml workflow and inventorying the paths named in this issue: compiler-plugin, gradle-plugin, META-INF/services, and the two build.gradle.kts files. Define the required project metadata and confirm that a workflow can update or relocate all listed files, including its own cleanup, with a newly created repository as the done-state test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, kotlin
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100