diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..60f1d7b --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,37 @@ +name: Build + +on: [ push ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: temurin + + - name: Build + uses: gradle/gradle-build-action@v2 + with: + arguments: build + cache-read-only: ${{ github.ref_name != 'main' && github.ref_name != 'development' }} + + - name: Publish to Maven Repository + if: ${{ github.ref_name == 'main' || github.ref_name == 'development' }} + uses: gradle/gradle-build-action@v2 + env: + ORG_GRADLE_PROJECT_geysermcUsername: ${{ vars.DEPLOY_USER }} + ORG_GRADLE_PROJECT_geysermcPassword: ${{ secrets.DEPLOY_PASS }} + with: + arguments: publish + cache-read-only: ${{ github.ref_name != 'main' && github.ref_name != 'development' }} + + - name: Notify Discord + if: ${{ (success() || failure()) && github.repository == 'GeyserMC/DatabaseUtils' }} + uses: Tim203/actions-git-discord-webhook@main + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5abab94..c565c67 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,8 @@ !README.md !LICENSE !license_header.txt +!.github +!.github/** # Don't ignore specific gradle files and folders !gradle diff --git a/ap/build.gradle.kts b/ap/build.gradle.kts index 9bf7f73..74ee125 100644 --- a/ap/build.gradle.kts +++ b/ap/build.gradle.kts @@ -11,8 +11,8 @@ dependencies { annotationProcessor(libs.auto.service) testImplementation(libs.compile.testing) - testImplementation(platform("org.junit:junit-bom:5.9.1")) - testImplementation("org.junit.jupiter:junit-jupiter") + testImplementation(libs.junit.api) + testRuntimeOnly(libs.junit.engine) } tasks.withType().configureEach { diff --git a/ap/src/test/resources/test/basic/BasicRepositorySqlImpl.java b/ap/src/test/resources/test/basic/BasicRepositorySqlImpl.java index c96c637..934e1d0 100644 --- a/ap/src/test/resources/test/basic/BasicRepositorySqlImpl.java +++ b/ap/src/test/resources/test/basic/BasicRepositorySqlImpl.java @@ -72,9 +72,8 @@ public CompletableFuture update(TestEntity entity) { statement.setString(1, entity.c()); statement.setInt(2, entity.a()); statement.setString(3, entity.b()); - try (ResultSet result = statement.executeQuery()) { - return null; - } + statement.executeUpdate(); + return null; } } catch (SQLException exception) { throw new CompletionException("Unexpected error occurred", exception); @@ -90,9 +89,8 @@ public CompletableFuture insert(TestEntity entity) { statement.setInt(1, entity.a()); statement.setString(2, entity.b()); statement.setString(3, entity.c()); - try (ResultSet result = statement.executeQuery()) { - return null; - } + statement.executeUpdate(); + return null; } } catch (SQLException exception) { throw new CompletionException("Unexpected error occurred", exception); diff --git a/build.gradle.kts b/build.gradle.kts index e1df5f3..f303b82 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,6 @@ plugins { alias(libs.plugins.indra) - alias(libs.plugins.indra.publishing) + alias(libs.plugins.indra.publishing) apply false alias(libs.plugins.indra.licenser.spotless) } @@ -8,8 +8,8 @@ group = "org.geysermc.databaseutils" subprojects { apply { - plugin("java-library") plugin("net.kyori.indra") + plugin("net.kyori.indra.publishing") plugin("net.kyori.indra.licenser.spotless") } @@ -23,6 +23,9 @@ subprojects { mitLicense() javaVersions { target(17) } + + publishSnapshotsTo("geysermc", "https://repo.opencollab.dev/maven-snapshots") + publishReleasesTo("geysermc", "https://repo.opencollab.dev/maven-releases") } spotless { diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 8625457..ae2d4e6 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -6,6 +6,6 @@ dependencies { testRuntimeOnly(libs.h2) testAnnotationProcessor(projects.ap) - testImplementation(platform("org.junit:junit-bom:5.9.1")) - testImplementation("org.junit.jupiter:junit-jupiter") + testImplementation(libs.junit.api) + testRuntimeOnly(libs.junit.engine) } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 880e858..2b242e6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,6 +6,7 @@ h2 = "2.2.224" javapoet = "1.10.0" auto-service = "1.1.1" compile-testing = "0.21.0" +junit = "5.9.1" indra = "3.1.3" @@ -19,6 +20,9 @@ auto-service = { module = "com.google.auto.service:auto-service", version.ref = javapoet = { module = "com.squareup:javapoet", version.ref = "javapoet" } compile-testing = { module = "com.google.testing.compile:compile-testing", version.ref = "compile-testing" } +junit-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" } +junit-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" } + [plugins] indra = { id = "net.kyori.indra", version.ref = "indra" } indra-publishing = { id = "net.kyori.indra.publishing", version.ref = "indra" }