Compare commits

..

26 Commits

Author SHA1 Message Date
funkemunky c2e6168037 Updating workflows to handle new build structure, removing maven workflows 2026-04-08 21:24:20 -04:00
funkemunky 74ae0a0d4d Attempting to fix workflows 2026-04-08 21:24:20 -04:00
funkemunky c9b373a273 Updating workflows for github 2026-04-08 21:24:20 -04:00
funkemunky a943700c9c Gradle project refactor 2026-04-08 21:24:20 -04:00
Dawson e4ab168315 Feature/gradle refactor (#80)
* Gradle project refactor

* Updating workflows for github

* Attempting to fix workflows

* Fixing maven central proxy

* Fixing missing dependency in velocity

* Fixing build

* Getting rid of universal submodule

* Updating workflows to handle new build structure, removing maven workflows

* Fixing permissions issues caused by gradle files being handled on Windows

* Revert "Fixing permissions issues caused by gradle files being handled on Windows"

This reverts commit 3e4d8be955.

* replacing instances of gradlew

* Adding gradlew wrapper

* Attempting to fix gradle issues

* Attempting to fix gradle issues

* Adding back ssl args

* Using built in pipeline
2026-04-08 21:24:17 -04:00
funkemunky 7f6f475b21 Updating test workflow to build without tests and one with tests 2026-04-08 21:20:14 -04:00
funkemunky 1c3ab6005c Adding central test suite 2026-04-08 21:18:13 -04:00
funkemunky 7bfe6b19bb Fixing MySQL issues 2026-04-08 21:08:18 -04:00
funkemunky ae14755205 Added testing for databases, and fixed some potential database bugs 2026-04-08 21:01:29 -04:00
funkemunky 3583b15815 Using built in pipeline 2026-04-08 16:56:45 -04:00
funkemunky a825752b4b Using built in pipeline 2026-04-08 15:24:41 -04:00
funkemunky a49291192c Adding back ssl args 2026-04-08 15:20:01 -04:00
funkemunky 1e042a486f Attempting to fix gradle issues 2026-04-08 15:07:57 -04:00
funkemunky 37d8511edd Attempting to fix gradle issues 2026-04-08 14:46:13 -04:00
funkemunky eb57929bbd Adding gradlew wrapper 2026-04-08 13:47:39 -04:00
funkemunky 4b8d6caa08 replacing instances of gradlew 2026-04-08 13:47:06 -04:00
funkemunky 3839c4b916 Revert "Fixing permissions issues caused by gradle files being handled on Windows"
This reverts commit 3e4d8be955.
2026-04-08 13:46:11 -04:00
funkemunky 3e4d8be955 Fixing permissions issues caused by gradle files being handled on Windows 2026-04-08 13:40:55 -04:00
funkemunky 7088dad4eb Updating workflows to handle new build structure, removing maven workflows 2026-04-08 13:38:46 -04:00
funkemunky 2bff5c06c9 Getting rid of universal submodule 2026-04-08 13:16:43 -04:00
funkemunky 4c2ad35c96 Fixing build 2026-04-08 13:13:05 -04:00
funkemunky db3e137522 Fixing missing dependency in velocity 2026-04-08 12:59:51 -04:00
funkemunky 546c610a53 Fixing maven central proxy 2026-04-08 11:57:00 -04:00
funkemunky 64adf72e23 Attempting to fix workflows 2026-04-08 10:14:47 -04:00
funkemunky fcffb669d4 Updating workflows for github 2026-04-08 09:53:37 -04:00
funkemunky 5878fc6e43 Gradle project refactor 2026-04-08 09:51:40 -04:00
17 changed files with 63 additions and 207 deletions
+3 -20
View File
@@ -5,8 +5,6 @@ jobs:
build-and-release:
name: Build and Release
runs-on: ubuntu-latest
env:
JAVA_TOOL_OPTIONS: -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts -Djavax.net.ssl.trustStorePassword=changeit
steps:
- uses: actions/checkout@v5
- name: Set up JDK 21
@@ -17,15 +15,15 @@ jobs:
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '9.4.1'
gradle-version: 'wrapper'
- name: Build
run: gradle build --no-daemon
run: ./gradlew build --no-daemon
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get Version Number from Gradle
id: get_version
run: |
VERSION=$(gradle properties -q | awk -F': ' '/^version:/ {print $2; exit}')
VERSION=$(./gradlew properties -q | awk -F': ' '/^version:/ {print $2; exit}')
echo "VERSION=$VERSION" >> "$GITHUB_ENV"
- name: Extract latest CHANGELOG entry
id: changelog
@@ -54,18 +52,3 @@ jobs:
asset_path: ./build/libs/AntiVPN-${{ env.VERSION }}-universal.jar
asset_name: AntiVPN-v${{ env.VERSION }}.jar
asset_content_type: application/java-archive
- name: Upload to Hangar
uses: benwoo1110/hangar-upload-action@v1
with:
api_token: ${{ secrets.HANGAR_API_TOKEN }}
slug: AntiVPN
version: ${{ env.VERSION }}
channel: release
files: |
[
{
"path": "./build/libs/AntiVPN-${{ env.VERSION }}-universal.jar",
"platforms": ["PAPER", "VELOCITY", "WATERFALL"]
}
]
description: ${{ steps.changelog.outputs.content }}
+2 -4
View File
@@ -9,8 +9,6 @@ jobs:
build:
name: Build and Test
runs-on: ubuntu-latest
env:
JAVA_TOOL_OPTIONS: -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts -Djavax.net.ssl.trustStorePassword=changeit
steps:
- uses: actions/checkout@v5
@@ -22,9 +20,9 @@ jobs:
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '9.4.1'
gradle-version: 'wrapper'
- name: Build
run: gradle build --no-daemon
run: ./gradlew build --no-daemon
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload AntiVPN
+2 -24
View File
@@ -4,8 +4,6 @@ on:
jobs:
build:
runs-on: ubuntu-latest
env:
JAVA_TOOL_OPTIONS: -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts -Djavax.net.ssl.trustStorePassword=changeit
steps:
- uses: actions/checkout@v5
@@ -17,28 +15,8 @@ jobs:
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '9.4.1'
gradle-version: 'wrapper'
- name: Build
run: gradle build -x test --no-daemon
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-and-test:
runs-on: ubuntu-latest
env:
JAVA_TOOL_OPTIONS: -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts -Djavax.net.ssl.trustStorePassword=changeit
steps:
- uses: actions/checkout@v5
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'zulu'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '9.4.1'
- name: Build and Test
run: gradle build --no-daemon
run: ./gradlew build --no-daemon
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
evaluationDependsOn(':Bukkit:Plugin')
+3 -13
View File
@@ -1,17 +1,12 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
dependencies {
compileOnly 'org.spigotmc:spigot-api:1.20.2-R0.1-SNAPSHOT'
implementation project(':Common:Source')
implementation project(':Common:loader-utils')
compileOnly project(':Common:Source')
compileOnly project(':Common:loader-utils')
implementation 'org.bstats:bstats-bukkit:2.2.1'
testImplementation 'com.github.seeseemelk:MockBukkit-v1.20:3.84.0'
testImplementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
testImplementation 'org.mockito:mockito-core:5.11.0'
testImplementation 'org.mockito:mockito-subclass:5.11.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.11.0'
}
shadowJar {
@@ -20,9 +15,4 @@ shadowJar {
relocate 'org.yaml.snakeyaml', 'dev.brighten.antivpn.shaded.org.yaml.snakeyaml'
}
test {
useJUnitPlatform()
systemProperty 'mockito.mockmaker', 'subclass'
}
tasks.build.dependsOn shadowJar
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
evaluationDependsOn(':Bungee:BungeePlugin')
+3 -15
View File
@@ -1,24 +1,12 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
dependencies {
compileOnly 'net.md-5:bungeecord-api:1.21-R0.2'
testImplementation 'net.md-5:bungeecord-api:1.21-R0.2'
implementation project(':Common:Source')
implementation project(':Common:loader-utils')
compileOnly project(':Common:Source')
compileOnly project(':Common:loader-utils')
implementation 'org.bstats:bstats-bungeecord:2.2.1'
testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4'
testImplementation 'org.mockito:mockito-core:5.11.0'
testImplementation 'org.mockito:mockito-subclass:5.11.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.11.0'
testImplementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
}
tasks.compileJava.dependsOn(':Common:Source:jar')
test {
useJUnitPlatform()
systemProperty 'mockito.mockmaker', 'subclass'
}
shadowJar {
+1 -25
View File
@@ -1,5 +1,5 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
dependencies {
@@ -12,18 +12,6 @@ dependencies {
compileOnly 'com.h2database:h2:2.2.220'
compileOnly 'com.github.ben-manes.caffeine:caffeine:3.1.8'
compileOnly 'org.mongodb:mongo-java-driver:3.12.14'
testImplementation 'org.mockito:mockito-core:5.11.0'
testImplementation "org.junit.jupiter:junit-jupiter:5.8.1"
testImplementation "org.testcontainers:testcontainers:2.0.4"
testImplementation "org.testcontainers:testcontainers-junit-jupiter:2.0.4"
testImplementation 'org.testcontainers:mysql:1.20.4'
testImplementation 'org.testcontainers:mongodb:1.20.4'
testRuntimeOnly 'org.slf4j:slf4j-simple:2.0.16'
testImplementation 'com.mysql:mysql-connector-j:9.3.0'
testImplementation 'com.h2database:h2:2.2.220'
testImplementation 'org.mongodb:mongo-java-driver:3.12.14'
testImplementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
}
shadowJar {
@@ -43,15 +31,3 @@ shadowJar {
}
tasks.build.dependsOn shadowJar
components.java.withVariantsFromConfiguration(configurations.shadowRuntimeElements) {
skip()
}
test {
useJUnitPlatform()
}
jar {
archiveClassifier.set('raw')
}
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
evaluationDependsOn(':Sponge:SpongePlugin')
+1 -15
View File
@@ -1,25 +1,11 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
dependencies {
compileOnly 'org.spongepowered:spongeapi:11.0.0'
testImplementation 'org.spongepowered:spongeapi:11.0.0'
compileOnly project(':Common:Source')
testImplementation project(':Common:Source')
compileOnly project(':Common:loader-utils')
testImplementation project(':Common:loader-utils')
testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4'
testImplementation 'org.mockito:mockito-core:5.11.0'
testImplementation 'org.mockito:mockito-subclass:5.11.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.11.0'
testImplementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
}
tasks.compileJava.dependsOn(':Common:Source:jar')
test {
useJUnitPlatform()
systemProperty 'mockito.mockmaker', 'subclass'
}
shadowJar {
+36
View File
@@ -0,0 +1,36 @@
plugins {
id 'com.github.johnrengelman.shadow'
}
// Aggregate universal jar that embeds platform loaders and the common source jar
evaluationDependsOn(':Common:Source')
dependencies {
implementation project(':Bukkit:Loader')
implementation project(':Velocity:VelocityLoader')
implementation project(':Bungee:BungeeLoader')
}
shadowJar {
archiveClassifier.set('')
archiveBaseName.set("AntiVPN-${project.version}-universal")
// Include the shaded Common:Source jar as a single resource
from(project(':Common:Source').tasks.shadowJar) {
rename { 'antivpn-source.jarinjar' }
}
relocate 'org.yaml.snakeyaml', 'dev.brighten.antivpn.shaded.org.yaml.snakeyaml'
relocate 'org.bstats', 'dev.brighten.antivpn.shaded.org.bstats'
relocate 'org.objectweb', 'dev.brighten.antivpn.shaded.org.objectweb'
}
tasks.named('shadowJar') {
dependsOn(':Common:Source:shadowJar')
dependsOn(':Bukkit:Loader:shadowJar')
dependsOn(':Velocity:VelocityLoader:shadowJar')
dependsOn(':Bungee:BungeeLoader:shadowJar')
}
tasks.build.dependsOn shadowJar
+1 -2
View File
@@ -1,5 +1,5 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
evaluationDependsOn(':Velocity:VelocityPlugin')
@@ -8,7 +8,6 @@ dependencies {
compileOnly 'com.velocitypowered:velocity-api:3.4.0-SNAPSHOT'
compileOnly project(':Velocity:VelocityPlugin')
implementation project(':Common:loader-utils')
implementation 'org.bstats:bstats-velocity:2.2.1'
}
shadowJar {
+1 -15
View File
@@ -1,26 +1,12 @@
plugins {
id 'com.gradleup.shadow'
id 'com.github.johnrengelman.shadow'
}
dependencies {
compileOnly 'com.velocitypowered:velocity-api:3.4.0-SNAPSHOT'
testImplementation 'com.velocitypowered:velocity-api:3.4.0-SNAPSHOT'
compileOnly project(':Common:Source')
compileOnly project(':Common:loader-utils')
implementation 'org.bstats:bstats-velocity:2.2.1'
testImplementation 'org.mockito:mockito-core:5.11.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.11.0'
testImplementation 'net.java.dev.jna:jna:5.14.0'
testImplementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4'
testImplementation project(':Common:Source')
testImplementation project(':Common:loader-utils')
}
tasks.compileJava.dependsOn(':Common:Source:jar')
test {
useJUnitPlatform()
jvmArgs("-XX:+EnableDynamicAgentLoading")
}
shadowJar {
+4 -70
View File
@@ -1,29 +1,19 @@
plugins {
id 'java'
id 'com.gradleup.shadow' version '9.4.1'
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
}
def aggregateTestProjects = [
project(':Common:Source'),
project(':Bukkit:Plugin'),
project(':Bungee:BungeePlugin'),
project(':Sponge:SpongePlugin'),
project(':Velocity:VelocityPlugin')
]
allprojects {
group = 'dev.brighten.antivpn'
version = '1.10.0'
repositories {
maven { url 'https://repo.papermc.io/repository/maven-public/' }
maven { url 'https://nexus.funkemunky.cc/repository/papermc-public/' }
maven { url 'https://nexus.funkemunky.cc/repository/maven-public/' }
maven { url 'https://nexus.funkemunky.cc/repository/maven-central/' }
mavenCentral()
maven { url 'https://nexus.funkemunky.cc/content/repositories/releases/' }
maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
maven { url 'https://repo.spongepowered.org/repository/maven-public/' }
maven { url 'https://repo.velocitypowered.com/releases/' }
maven { url 'https://jitpack.io' }
}
@@ -31,7 +21,7 @@ allprojects {
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
languageVersion = JavaLanguageVersion.of(17)
}
}
@@ -43,61 +33,5 @@ allprojects {
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.44'
annotationProcessor 'org.projectlombok:lombok:1.18.44'
testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
test {
useJUnitPlatform()
systemProperty 'mockito.mockmaker', 'subclass'
}
}
dependencies {
testImplementation 'org.junit.platform:junit-platform-suite:1.11.4'
}
sourceSets {
test {
compileClasspath += files(aggregateTestProjects.collect { it.sourceSets.test.output + it.sourceSets.test.compileClasspath })
runtimeClasspath += files(aggregateTestProjects.collect { it.sourceSets.test.output + it.sourceSets.test.runtimeClasspath })
}
}
tasks.named('test') {
dependsOn(aggregateTestProjects.collect { it.tasks.named('testClasses') })
jvmArgs("-XX:+EnableDynamicAgentLoading")
}
evaluationDependsOn(':Common:Source')
evaluationDependsOn(':Bukkit:Loader')
evaluationDependsOn(':Velocity:VelocityLoader')
evaluationDependsOn(':Bungee:BungeeLoader')
dependencies {
implementation project(':Bukkit:Loader')
implementation project(':Velocity:VelocityLoader')
implementation project(':Bungee:BungeeLoader')
}
shadowJar {
archiveFileName.set("AntiVPN-${project.version}-universal.jar")
// Include the shaded Common:Source jar as a single resource
from(project(':Common:Source').tasks.shadowJar) {
rename { 'antivpn-source.jarinjar' }
}
relocate 'org.yaml.snakeyaml', 'dev.brighten.antivpn.shaded.org.yaml.snakeyaml'
relocate 'org.bstats', 'dev.brighten.antivpn.shaded.org.bstats'
relocate 'org.objectweb', 'dev.brighten.antivpn.shaded.org.objectweb'
}
tasks.named('shadowJar') {
dependsOn(':Common:Source:shadowJar')
dependsOn(':Bukkit:Loader:shadowJar')
dependsOn(':Velocity:VelocityLoader:shadowJar')
dependsOn(':Bungee:BungeeLoader:shadowJar')
}
tasks.build.dependsOn shadowJar
+2
View File
@@ -0,0 +1,2 @@
systemProp.javax.net.ssl.trustStore=NONE
systemProp.javax.net.ssl.trustStoreType=Windows-ROOT
Vendored Executable → Regular
View File
+1 -1
View File
@@ -15,4 +15,4 @@ include 'Sponge:SpongeLoader'
include 'Velocity:VelocityPlugin'
include 'Velocity:VelocityLoader'
include 'Universal'