15 Commits

Author SHA1 Message Date
b040711701 v0.11.0 2023-02-07 18:23:23 -05:00
96ed2ff2bb Remove serialization plugin, which makes us compatible with more Gradle versions. 2023-02-07 18:22:01 -05:00
061a788d93 Fix CodeQL task name. 2023-02-07 10:13:30 -05:00
3c02e23163 Publish GitHub CodeQL from Qodona 2023-02-07 10:09:42 -05:00
1c4217da53 Qodona Workflow 2023-02-07 09:57:48 -05:00
81985013e8 Start work on v0.11.0-SNAPSHOT 2023-02-07 06:41:11 -05:00
55efba22bd v0.10.0 2023-02-07 06:36:41 -05:00
2cb2d8fe89 v0.10.0 2023-02-07 06:34:30 -05:00
b3219afb24 v0.10.0 2023-02-07 06:31:43 -05:00
ac7ec227b0 Gradle Plugin Portal 2023-02-07 06:31:23 -05:00
0ed243e9ae Publish sources JAR and ensure new lines. 2023-02-07 05:57:45 -05:00
34648bdc8c Begin work on 0.10.0-SNAPSHOT 2023-02-05 21:33:03 -08:00
e1e42df67e v0.9.0 2023-02-05 21:32:40 -08:00
dc1ebe09b7 Upgrade Kotlin to 1.8.10 2023-02-05 21:30:50 -08:00
1cd36b5529 Start work on 0.9.0 2023-02-03 13:08:14 -08:00
6 changed files with 96 additions and 13 deletions

20
.github/workflows/portal.yml vendored Normal file
View File

@ -0,0 +1,20 @@
name: Gradle Plugin Portal
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Publish with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: "publishPlugins -Pgradle.publish.key=${{ secrets.GRADLE_PLUGIN_PUBLISHING_KEY }} -Pgradle.publish.secret=${{ secrets.GRADLE_PLUGIN_PUBLISHING_SECRET }}"

View File

@ -4,7 +4,7 @@ on:
branches: branches:
- main - main
jobs: jobs:
build: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Repository - name: Checkout Repository

16
.github/workflows/qodona.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Qodona
on: [push]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Qodana Scan
uses: JetBrains/qodana-action@main
env:
QODANA_TOKEN: "${{ secrets.QODANA_TOKEN }}"
- name: Upload CodeQL SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: "${{ runner.temp }}/qodana/results/qodana.sarif.json"

View File

@ -1,13 +1,15 @@
@file:Suppress("UnstableApiUsage")
plugins { plugins {
`kotlin-dsl` `kotlin-dsl`
kotlin("plugin.serialization") version "1.7.10"
id("maven-publish") `maven-publish`
id("java-gradle-plugin") `java-gradle-plugin`
id("com.gradle.plugin-publish") version "1.1.0"
} }
group = "gay.pizza.foundation" group = "gay.pizza.foundation"
version = "0.8.0" version = "0.11.0"
repositories { repositories {
mavenCentral() mavenCentral()
@ -15,8 +17,8 @@ repositories {
} }
dependencies { dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10")
implementation("org.jetbrains.kotlin:kotlin-serialization:1.7.10") implementation("org.jetbrains.kotlin:kotlin-serialization:1.8.10")
implementation("gradle.plugin.com.github.johnrengelman:shadow:7.1.2") implementation("gradle.plugin.com.github.johnrengelman:shadow:7.1.2")
implementation("com.google.code.gson:gson:2.10.1") implementation("com.google.code.gson:gson:2.10.1")
@ -25,29 +27,56 @@ dependencies {
} }
gradlePlugin { gradlePlugin {
website.set("https://github.com/GayPizzaSpecifications/concrete")
vcsUrl.set("https://github.com/GayPizzaSpecifications/concrete")
plugins { plugins {
create("concrete-root") { create("concrete-root") {
id = "gay.pizza.foundation.concrete-root" id = "gay.pizza.foundation.concrete-root"
implementationClass = "gay.pizza.foundation.concrete.ConcreteRootPlugin" implementationClass = "gay.pizza.foundation.concrete.ConcreteRootPlugin"
displayName = "Concrete Root"
description = "Concrete project root."
} }
create("concrete-base") { create("concrete-base") {
id = "gay.pizza.foundation.concrete-base" id = "gay.pizza.foundation.concrete-base"
implementationClass = "gay.pizza.foundation.concrete.ConcreteBasePlugin" implementationClass = "gay.pizza.foundation.concrete.ConcreteBasePlugin"
displayName = "Concrete Base"
description = "Concrete project base."
} }
create("concrete-library") { create("concrete-library") {
id = "gay.pizza.foundation.concrete-library" id = "gay.pizza.foundation.concrete-library"
implementationClass = "gay.pizza.foundation.concrete.ConcreteLibraryPlugin" implementationClass = "gay.pizza.foundation.concrete.ConcreteLibraryPlugin"
displayName = "Concrete Library"
description = "Concrete project library."
} }
create("concrete-plugin") { create("concrete-plugin") {
id = "gay.pizza.foundation.concrete-plugin" id = "gay.pizza.foundation.concrete-plugin"
implementationClass = "gay.pizza.foundation.concrete.ConcretePluginPlugin" implementationClass = "gay.pizza.foundation.concrete.ConcretePluginPlugin"
displayName = "Concrete Library"
description = "Concrete project plugin."
}
forEach { declaration ->
declaration.tags.set(listOf("foundation-concrete", "minecraft-bukkit"))
} }
} }
} }
val gradlePublishingKey: String? = System.getenv("GRADLE_PLUGIN_PUBLISHING_KEY")
val gradlePublishingSecret: String? = System.getenv("GRADLE_PLUGIN_PUBLISHING_SECRET")
if (gradlePublishingKey != null && gradlePublishingSecret != null) {
project.setProperty("gradle.publish.key", gradlePublishingKey.toString())
project.setProperty("gradle.publish.secret", gradlePublishingSecret.toString())
}
java { java {
val version = JavaVersion.toVersion("17") val version = JavaVersion.toVersion("17")
sourceCompatibility = version sourceCompatibility = version
@ -101,3 +130,7 @@ publishing {
tasks.withType<Wrapper> { tasks.withType<Wrapper> {
gradleVersion = "7.6" gradleVersion = "7.6"
} }
java {
withSourcesJar()
}

View File

@ -11,12 +11,16 @@ class ConcretePluginPlugin : ConcreteBaseBukkitPlugin() {
project.plugins.apply("com.github.johnrengelman.shadow") project.plugins.apply("com.github.johnrengelman.shadow")
project.tasks.find<ProcessResources>("processResources")!!.apply { // During IDEA project import, if this code is active, it will print warnings.
val props = mapOf("version" to project.version.toString()) // This will make the VERSION field unexpanded if you run using the IntelliJ build system.
inputs.properties(props) if (!project.properties.containsKey("idea.gradle.do.not.build.tasks")) {
filteringCharset = "UTF-8" project.tasks.find<ProcessResources>("processResources")!!.apply {
filesMatching("plugin.yml") { val props = mapOf("version" to project.version.toString())
expand(props) inputs.properties(props)
filteringCharset = "UTF-8"
filesMatching("plugin.yml") {
expand(props)
}
} }
} }

10
tools/ensure-new-lines.sh Executable file
View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
set -e
git ls-files -z | while IFS= read -rd '' f
do
if file --mime-encoding "$f" | grep -qv binary
then
tail -c1 < "$f" | read -r _ || echo >> "$f"
fi
done