modmuss50 / mod-publish-plugin

A Gradle plugin to publish mods to a range of destinations
https://modmuss50.github.io/mod-publish-plugin/
MIT License
50 stars 7 forks source link

Cleaner ReleaseType parsing from project properties #6

Closed kikugie closed 11 months ago

kikugie commented 11 months ago

Motivation

This makes ReleaseType class accessible in build configuration, so setup like this is possible: gradle.properties

# ... 
release_type=stable

build.gradle

import me.modmuss50.mpp.ReleaseType
// ...
publishMods {
    type = ReleaseType.of(project.release_type)
    // ...
}

Current behaviour

Currently this can be replicated this way: build.gradle

import me.modmuss50.mpp.PublishOptions
// ...
publishMods {
    type = PublishOptions.ReleaseType.valueOf(project.release_type.toUpperCase())
    // ...
}

This approach includes more boilerplate and has a less descriptive error message.

modmuss50 commented 11 months ago

Looks good, make sure to run spotlessKotlin and spotlessKotlinApply Gradle tasks so the build passes 👍