Skip to content

Commit

Permalink
Merge pull request #34 from bw-company/toda_k/version-provider
Browse files Browse the repository at this point in the history
リリースを自動化する
  • Loading branch information
KengoTODA committed May 11, 2023
2 parents b283178 + e99c40d commit 68c5c94
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 2 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
on:
push:
branches:
- master

permissions:
contents: write
pull-requests: write

name: release-please

jobs:
release-please:
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- uses: google-github-actions/release-please-action@v3
with:
release-type: java
package-name: uke-pseudonymize
include-v-in-tag: false
publish:
runs-on: ubuntu-latest
needs:
- release-please
if: ${{ needs.release-please.outputs.release_created }}
steps:
- uses: actions/checkout@v3
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: build --no-daemon -Pversion="${{ steps.release.outputs.tag_name }}"
- name: Upload distributions to GitHub Releases
run: >
gh release upload
"${{ needs.release-please.outputs.tag_name }}"
app/build/distributions/uke-pseudonymize.tar
app/build/distributions/uke-pseudonymize.zip
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Gradle reports
path: app/build/reports
2 changes: 1 addition & 1 deletion .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,18 @@ spotless {
ktlint()
}
}

tasks {
val processVersionFile by registering(WriteProperties::class) {
destinationFile.fileProvider(
sourceSets.named("main").map {
it.output.resourcesDir!!.resolve("metadata.properties")
},
)

property("version", project.version)
}
named("processResources") {
dependsOn(processVersionFile)
}
}
2 changes: 1 addition & 1 deletion app/src/main/kotlin/jp/henry/uke/mask/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import java.security.SecureRandom
import java.util.concurrent.Callable
import kotlin.system.exitProcess

@Command(name = "uke-pseudonymize", mixinStandardHelpOptions = true, version = ["v2022.12.19"], description = ["UKEファイルを仮名化"])
@Command(name = "uke-pseudonymize", mixinStandardHelpOptions = true, versionProvider = PropertiesVersionProvider::class, description = ["UKEファイルを仮名化"])
class App : Callable<Int> {
@Parameters(index = "0", description = ["マスクするUKEファイル"])
lateinit var input: File
Expand Down
13 changes: 13 additions & 0 deletions app/src/main/kotlin/jp/henry/uke/mask/PropertiesVersionProvider.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package jp.henry.uke.mask

import picocli.CommandLine
import java.util.Properties

class PropertiesVersionProvider : CommandLine.IVersionProvider {
override fun getVersion(): Array<String> =
this.javaClass.getResourceAsStream("/metadata.properties").use {
val prop = Properties()
prop.load(it)
arrayOf(prop.getProperty("version") ?: "SNAPSHOT")
}
}

0 comments on commit 68c5c94

Please sign in to comment.