From 48df571d530e81c9fe75497a5e0fb0d5acc763c4 Mon Sep 17 00:00:00 2001 From: AngrySoundTech Date: Sun, 5 Jun 2022 22:37:21 -0400 Subject: [PATCH] Use CivGradle 2.+ --- .../.github/workflows/build.yml | 37 ++++--------- .../.github/workflows/publish.yml | 38 +++++--------- plugins/civmodcore-paper/.gitignore | 33 ++++++++---- plugins/civmodcore-paper/build.gradle.kts | 52 ++----------------- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../civmodcore-paper/paper/build.gradle.kts | 45 ++++++---------- plugins/civmodcore-paper/settings.gradle.kts | 6 ++- 7 files changed, 69 insertions(+), 144 deletions(-) diff --git a/plugins/civmodcore-paper/.github/workflows/build.yml b/plugins/civmodcore-paper/.github/workflows/build.yml index 904130269..8a5b08ede 100644 --- a/plugins/civmodcore-paper/.github/workflows/build.yml +++ b/plugins/civmodcore-paper/.github/workflows/build.yml @@ -1,43 +1,24 @@ -name: "Build" +name: Build on: push: branches: - - master + - '*' pull_request: types: [opened, synchronize, reopened] jobs: build: + name: Build runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Java - uses: actions/setup-java@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 with: - java-version: '17' - distribution: 'temurin' + java-version: 17 + distribution: temurin - - name: Cache - uses: actions/cache@v2 + - uses: gradle/gradle-build-action@v2 with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - '**/.gradle/caches' - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- - - - name: Build - run: ./gradlew build - - - name: Analyze - if: ${{ env.SONAR_TOKEN }} - run: ./gradlew sonarqube - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + arguments: build diff --git a/plugins/civmodcore-paper/.github/workflows/publish.yml b/plugins/civmodcore-paper/.github/workflows/publish.yml index 07f8090b1..0a5f55f34 100644 --- a/plugins/civmodcore-paper/.github/workflows/publish.yml +++ b/plugins/civmodcore-paper/.github/workflows/publish.yml @@ -1,39 +1,25 @@ name: Publish + on: - release: - types: [published] + push: + tags: + - 'v*.*.*' jobs: - build: + publish: runs-on: ubuntu-latest - permissions: - contents: read - packages: write steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Java - uses: actions/setup-java@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 with: - java-version: '17' - distribution: 'temurin' + java-version: 17 + distribution: temurin - - name: Cache - uses: actions/cache@v2 + - uses: gradle/gradle-build-action@v2 with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - '**/.gradle/caches' - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- - - - name: Publish - run: ./gradlew publish + arguments: publish env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CIVMC_NEXUS_USER: ${{ secrets.CIVMC_NEXUS_USER }} - CIVMC_NEXUS_PASSWORD: ${{ secrets.CIVMC_NEXUS_PASSWORD }} + CIVMC_NEXUS_PASSWORD: ${{ secrets.CIVMC_NEXUS_PASSWORD }} \ No newline at end of file diff --git a/plugins/civmodcore-paper/.gitignore b/plugins/civmodcore-paper/.gitignore index 6d4f3ff04..4d3f8b831 100644 --- a/plugins/civmodcore-paper/.gitignore +++ b/plugins/civmodcore-paper/.gitignore @@ -1,12 +1,23 @@ -/bin -/target/ -.classpath -.project -.settings/** -/logs/ -.idea/ +# Gradle +.gradle/ +build/ +run/ + +# Editors +## Idea +.idea *.iml -.gradle -build -*/.settings/** -**/bin/ +*.iws + +## VIM +*.swp + +# OS +## MacOS +.DS_Store +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db + diff --git a/plugins/civmodcore-paper/build.gradle.kts b/plugins/civmodcore-paper/build.gradle.kts index cf5d4a92e..59aa4b7b2 100644 --- a/plugins/civmodcore-paper/build.gradle.kts +++ b/plugins/civmodcore-paper/build.gradle.kts @@ -1,22 +1,16 @@ -val pluginName: String by project +import net.civmc.civgradle.CivGradleExtension plugins { - id("org.sonarqube") version "3.3" + id("net.civmc.civgradle") version "2.+" apply false } subprojects { apply(plugin = "java-library") apply(plugin = "maven-publish") + apply(plugin = "net.civmc.civgradle") - project.setProperty("archivesBaseName", "$pluginName-$name-$version") - - configure { - withJavadocJar() - withSourcesJar() - - toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) - } + configure { + pluginName = project.property("pluginName") as String } repositories { @@ -26,40 +20,4 @@ subprojects { maven("https://jitpack.io") } - - configure { - repositories { - maven { - name = "GitHubPackages" - url = uri("https://maven.pkg.github.com/CivMC/$pluginName") - credentials { - username = System.getenv("GITHUB_ACTOR") - password = System.getenv("GITHUB_TOKEN") - } - } - - val targetRepo = if (version.toString().endsWith("SNAPSHOT")) "maven-snapshots" else "maven-releases" - maven { - name = "CivMC" - url = uri("https://repo.civmc.net/repository/$targetRepo/") - credentials { - username = System.getenv("CIVMC_NEXUS_USER") - password = System.getenv("CIVMC_NEXUS_PASSWORD") - } - } - } - publications { - register("mavenJava") { - from(components["java"]) - } - } - } -} - -sonarqube { - properties { - property("sonar.projectKey", "CivMC_$pluginName") - property("sonar.organization", "civmc") - property("sonar.host.url", "https://sonarcloud.io") - } } diff --git a/plugins/civmodcore-paper/gradle/wrapper/gradle-wrapper.properties b/plugins/civmodcore-paper/gradle/wrapper/gradle-wrapper.properties index 2e6e5897b..e750102e0 100644 --- a/plugins/civmodcore-paper/gradle/wrapper/gradle-wrapper.properties +++ b/plugins/civmodcore-paper/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/plugins/civmodcore-paper/paper/build.gradle.kts b/plugins/civmodcore-paper/paper/build.gradle.kts index f569634df..4e2df6a6f 100644 --- a/plugins/civmodcore-paper/paper/build.gradle.kts +++ b/plugins/civmodcore-paper/paper/build.gradle.kts @@ -1,39 +1,26 @@ -val pluginName: String by project - plugins { - `java-library` - id("io.papermc.paperweight.userdev") version "1.3.3" - id("com.github.johnrengelman.shadow") version "7.1.0" + id("io.papermc.paperweight.userdev") + id("com.github.johnrengelman.shadow") + id("xyz.jpenilla.run-paper") } dependencies { paperDevBundle("1.18.2-R0.1-SNAPSHOT") - implementation("co.aikar:acf-bukkit:0.5.0-SNAPSHOT") - implementation("com.mojang:datafixerupper:1.0.20") - implementation("com.zaxxer:HikariCP:3.4.2") - implementation("co.aikar:taskchain-bukkit:3.7.2") - implementation("com.github.IPVP-MC:canvas:91ec97f076") - implementation("org.apache.commons:commons-lang3:3.12.0") - implementation("org.apache.commons:commons-collections4:4.4") - implementation("com.google.code.findbugs:jsr305:3.0.2") + implementation("co.aikar:acf-bukkit:0.5.0-SNAPSHOT") + implementation("com.mojang:datafixerupper:1.0.20") + implementation("com.zaxxer:HikariCP:3.4.2") + implementation("co.aikar:taskchain-bukkit:3.7.2") + implementation("com.github.IPVP-MC:canvas:91ec97f076") + implementation("org.apache.commons:commons-lang3:3.12.0") + implementation("org.apache.commons:commons-collections4:4.4") + implementation("com.google.code.findbugs:jsr305:3.0.2") - compileOnly("it.unimi.dsi:fastutil:8.2.2") + compileOnly("it.unimi.dsi:fastutil:8.2.2") - compileOnly("org.projectlombok:lombok:1.18.20") - annotationProcessor ("org.projectlombok:lombok:1.18.20") + compileOnly("org.projectlombok:lombok:1.18.20") + annotationProcessor ("org.projectlombok:lombok:1.18.20") - testImplementation("org.junit.jupiter:junit-jupiter-api:5.2.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.2.0") -} - -tasks { - processResources { - filesMatching("plugin.yml") { - expand(mapOf( - "name" to pluginName, - "version" to version, - )) - } - } + testImplementation("org.junit.jupiter:junit-jupiter-api:5.2.0") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.2.0") } diff --git a/plugins/civmodcore-paper/settings.gradle.kts b/plugins/civmodcore-paper/settings.gradle.kts index 5e89b508f..151b25212 100644 --- a/plugins/civmodcore-paper/settings.gradle.kts +++ b/plugins/civmodcore-paper/settings.gradle.kts @@ -1,10 +1,12 @@ -rootProject.name = "civmodcore" - pluginManagement { repositories { gradlePluginPortal() + maven("https://repo.civmc.net/repository/maven-public/") maven("https://papermc.io/repo/repository/maven-public/") } } +rootProject.name = "civmodcore" + include(":paper") +project(":paper").name = rootProject.name + "-paper"