2 Commits

Author SHA1 Message Date
29a9c5ae79 Update .github/workflows/build.yml 2023-12-28 01:29:57 +00:00
e1bb2ad8dc Update .github/workflows/build.yml 2023-12-28 01:26:53 +00:00
5 changed files with 41 additions and 82 deletions

View File

@ -5,40 +5,34 @@
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: Build & test the project
name: Java CI with Gradle
on:
push:
branches:
- '*'
tags:
- v*
branches: [ master ]
pull_request:
branches:
- master
branches: [ master ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
# follows https://en.wikipedia.org/wiki/Java_version_history#Release_table
java-versions: ['8', '11', '17', '21']
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Set up Java ${{ matrix.java-versions }}
uses: actions/setup-java@v4
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-versions }}
distribution: 'temurin'
cache: 'gradle'
- name: Build & Test
uses: gradle/gradle-build-action@v3
- name: Build with Gradle
uses: gradle/gradle-build-action@fec4a42eb0c83154e5c9590748ba8337949c5701
with:
arguments: build test
arguments: build

View File

@ -8,37 +8,38 @@
name: Gradle Package
on:
push:
tags:
- v*
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '8' # use the lowest version from https://en.wikipedia.org/wiki/Java_version_history#Release_table
java-version: '11'
distribution: 'temurin'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Build the project
uses: gradle/gradle-build-action@v3
- name: Build with Gradle
uses: gradle/gradle-build-action@fec4a42eb0c83154e5c9590748ba8337949c5701
with:
arguments: build
# The USERNAME and TOKEN need to correspond to the credentials environment variables used in
# the publishing section of your build.gradle
- name: Publish to GitHub Packages
uses: gradle/gradle-build-action@v3
uses: gradle/gradle-build-action@fec4a42eb0c83154e5c9590748ba8337949c5701
with:
arguments: publish
env:
USERNAME: ${{ github.actor }}
TOKEN: ${{ secrets.REPO_TOKEN }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,44 +1,16 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
// Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin.
kotlin("jvm") version "2.1.10"
id("org.jetbrains.dokka") version "2.0.0"
kotlin("jvm") version "1.6.21"
id("org.jetbrains.dokka") version "1.6.21"
// Apply the java-library plugin for API and implementation separation.
`java-library`
`maven-publish`
}
// from: https://discuss.kotlinlang.org/t/use-git-hash-as-version-number-in-build-gradle-kts/19818/8
fun String.runCommand(
workingDir: File = File("."),
timeoutAmount: Long = 60,
timeoutUnit: TimeUnit = TimeUnit.SECONDS
): String = ProcessBuilder(split("\\s(?=(?:[^'\"`]*(['\"`])[^'\"`]*\\1)*[^'\"`]*$)".toRegex()))
.directory(workingDir)
.redirectOutput(ProcessBuilder.Redirect.PIPE)
.redirectError(ProcessBuilder.Redirect.PIPE)
.start()
.apply { waitFor(timeoutAmount, timeoutUnit) }
.run {
val error = errorStream.bufferedReader().readText().trim()
if (error.isNotEmpty()) {
return@run ""
}
inputStream.bufferedReader().readText().trim()
}
val branch = "git rev-parse --abbrev-ref HEAD".runCommand(workingDir = rootDir)
val tag = "git tag -l --points-at HEAD".runCommand(workingDir = rootDir)
val commitId = "git rev-parse HEAD".runCommand(workingDir = rootDir)
val finalVersion = System.getenv("version") ?: tag.drop(1) ?: "2.0.0"
val finalGroup = System.getenv("group") ?: "net.tcgdex"
val artifact = System.getenv("artifact") ?: "sdk"
group = finalGroup
version = finalVersion
group = System.getenv("group") ?: "net.tcgdex"
version = System.getenv("version") ?: "2.0.0"
repositories {
mavenCentral()
@ -49,7 +21,7 @@ dependencies {
// Use the Kotlin JDK 8 standard library.
implementation(kotlin("stdlib-jdk8"))
// Gson
implementation("com.google.code.gson:gson:2.11.0")
implementation("com.google.code.gson:gson:2.9.0")
testImplementation(kotlin("test"))
}
@ -61,17 +33,19 @@ tasks.test {
}
}
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_1_8)
tasks {
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
}
java {
withJavadocJar()
withSourcesJar()
targetCompatibility = JavaVersion.VERSION_1_8
}
// Javadocs
@ -82,9 +56,9 @@ val javadocJar = tasks.named<Jar>("javadocJar") {
publishing {
publications {
create<MavenPublication>("maven") {
groupId = finalGroup
// groupId = group
artifactId = artifact
version = finalVersion
// version = ver
from(components["java"])
@ -112,14 +86,4 @@ publishing {
}
}
}
repositories {
maven {
name = "GithubPackages"
url = uri("https://maven.pkg.github.com/tcgdex/java-sdk")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
}
}
}
}

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
zipStorePath=wrapper/dists

View File

@ -66,7 +66,7 @@ data class Card internal constructor(
/**
* the Pokémon Pokédex IDs (multiple if multiple pokémon appears on the card)
*/
val dexId: List<Int>?,
val dexIDs: List<Int>?,
/**
* HP of the pokemon