From bf619efb1423970fb4d5c480df7f6bfd9e2b8031 Mon Sep 17 00:00:00 2001 From: James Cahill Date: Thu, 10 Dec 2020 14:41:07 +0000 Subject: [PATCH 1/6] Initial test - create core module with existing code; try to make build.gradle functions cross-module --- build.gradle | 101 ++++++++--------- core/build.gradle | 107 ++++++++++++++++++ core/lombok.config | 3 + .../com/dumbdogdiner/stickyapi/StickyAPI.java | 0 .../bukkit/command/PluginCommand.java | 0 .../command/builder/CommandBuilder.java | 0 .../bukkit/command/package-info.java | 0 .../bukkit/generator/VoidGenerator.java | 0 .../bukkit/generator/package-info.java | 0 .../stickyapi/bukkit/gui/ClickableSlot.java | 0 .../stickyapi/bukkit/gui/GUI.java | 0 .../stickyapi/bukkit/gui/package-info.java | 0 .../stickyapi/bukkit/package-info.java | 0 .../bukkit/particle/Orientation.java | 0 .../stickyapi/bukkit/particle/Parametric.java | 0 .../bukkit/particle/ParticleSystem.java | 0 .../stickyapi/bukkit/particle/Shape.java | 0 .../bukkit/particle/shapes/Circle.java | 0 .../bukkit/player/PlayerSnapshot.java | 0 .../stickyapi/bukkit/player/package-info.java | 0 .../stickyapi/bukkit/util/ServerUtil.java | 0 .../stickyapi/bukkit/util/SoundUtil.java | 0 .../stickyapi/bukkit/util/StartupUtil.java | 0 .../stickyapi/bukkit/util/package-info.java | 0 .../command/builder/CommandBuilder.java | 0 .../bungeecord/packet/PacketRegistration.java | 0 .../bungeecord/packet/SoundPacket.java | 0 .../bungeecord/protocol/Protocol.java | 0 .../protocol/ProtocolConstants.java | 0 .../stickyapi/bungeecord/util/Sound.java | 0 .../stickyapi/bungeecord/util/SoundUtil.java | 0 .../stickyapi/common/ServerVersion.java | 0 .../stickyapi/common/arguments/Arguments.java | 0 .../common/arguments/package-info.java | 0 .../stickyapi/common/cache/Cache.java | 0 .../stickyapi/common/cache/Cacheable.java | 0 .../stickyapi/common/cache/package-info.java | 0 .../stickyapi/common/chat/ChatMessage.java | 0 .../stickyapi/common/command/ExitCode.java | 0 .../command/builder/CommandBuilderBase.java | 0 .../common/configuration/Configuration.java | 0 .../configuration/ConfigurationOptions.java | 0 .../configuration/ConfigurationSection.java | 0 .../InvalidConfigurationException.java | 0 .../configuration/MemoryConfiguration.java | 0 .../MemoryConfigurationOptions.java | 0 .../common/configuration/MemorySection.java | 0 .../configuration/file/FileConfiguration.java | 0 .../file/FileConfigurationOptions.java | 0 .../configuration/file/YamlConfiguration.java | 0 .../file/YamlConfigurationOptions.java | 0 .../configuration/file/YamlConstructor.java | 0 .../configuration/file/YamlRepresenter.java | 0 .../configuration/file/package-info.java | 0 .../common/configuration/package-info.java | 0 .../ConfigurationSerializable.java | 0 .../DelegateDeserialization.java | 0 .../serialization/SerializableAs.java | 0 .../serialization/package-info.java | 0 .../stickyapi/common/package-info.java | 0 .../stickyapi/common/scheduler/Scheduler.java | 0 .../common/scheduler/package-info.java | 0 .../stickyapi/common/translation/Locale.java | 0 .../common/translation/LocaleProvider.java | 0 .../common/translation/Translation.java | 0 .../common/translation/package-info.java | 0 .../stickyapi/common/util/Debugger.java | 0 .../stickyapi/common/util/FieldUtil.java | 0 .../stickyapi/common/util/IPUtil.java | 0 .../stickyapi/common/util/MemoryUtil.java | 0 .../common/util/NotificationType.java | 0 .../stickyapi/common/util/NumberUtil.java | 0 .../stickyapi/common/util/Paginator.java | 0 .../stickyapi/common/util/ReflectionUtil.java | 0 .../stickyapi/common/util/ShortID.java | 0 .../stickyapi/common/util/StringUtil.java | 0 .../stickyapi/common/util/TextUtil.java | 0 .../stickyapi/common/util/TimeUtil.java | 0 .../stickyapi/common/util/UnsafeUtil.java | 0 .../stickyapi/common/util/package-info.java | 0 .../stickyapi/common/util/url/URLPair.java | 0 .../stickyapi/common/util/url/URLUtil.java | 0 .../bukkit/particle/OrientationTest.java | 0 .../stickyapi/bukkit/util/ServerUtilTest.java | 0 .../stickyapi/common/ServerVersionTest.java | 0 .../common/command/ExitCodeTest.java | 0 .../stickyapi/common/util/IPUtilTest.java | 0 .../stickyapi/common/util/LuhnTest.java | 0 .../stickyapi/common/util/MemoryUtilTest.java | 0 .../common/util/NotificationTypeTest.java | 0 .../stickyapi/common/util/NumberUtilTest.java | 0 ...ionUtilInvokeProtectedMethodClassTest.java | 0 .../util/ReflectionUtilNoSuchFieldTest.java | 0 .../common/util/ReflectionUtilTest.java | 0 .../stickyapi/common/util/StringUtilTest.java | 0 .../stickyapi/common/util/TimeUtilTest.java | 0 .../stickyapi_tests_common/TestsCommon.java | 0 .../org.mockito.plugins.MockMaker | 0 settings.gradle | 3 +- 99 files changed, 161 insertions(+), 53 deletions(-) create mode 100644 core/build.gradle create mode 100644 core/lombok.config rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/StickyAPI.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/command/PluginCommand.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/command/builder/CommandBuilder.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/command/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/VoidGenerator.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/ClickableSlot.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/GUI.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Orientation.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Parametric.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/ParticleSystem.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Shape.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/shapes/Circle.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/player/PlayerSnapshot.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/player/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/util/SoundUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/util/StartupUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bukkit/util/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bungeecord/command/builder/CommandBuilder.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/PacketRegistration.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/SoundPacket.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/Protocol.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/ProtocolConstants.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/Sound.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/SoundUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/ServerVersion.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/arguments/Arguments.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/arguments/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/cache/Cache.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/cache/Cacheable.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/cache/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/chat/ChatMessage.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/command/ExitCode.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/command/builder/CommandBuilderBase.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/Configuration.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationOptions.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationSection.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/InvalidConfigurationException.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfiguration.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfigurationOptions.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemorySection.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfiguration.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfigurationOptions.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfiguration.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfigurationOptions.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConstructor.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlRepresenter.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/ConfigurationSerializable.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/DelegateDeserialization.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/SerializableAs.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/scheduler/Scheduler.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/scheduler/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/translation/Locale.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/translation/LocaleProvider.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/translation/Translation.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/translation/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/Debugger.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/FieldUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/IPUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/NotificationType.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/NumberUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/Paginator.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/ShortID.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/StringUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/TextUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/TimeUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/UnsafeUtil.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/package-info.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLPair.java (100%) rename {src => core/src}/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLUtil.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/bukkit/particle/OrientationTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtilTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/ServerVersionTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/command/ExitCodeTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/IPUtilTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/LuhnTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtilTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/NotificationTypeTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/NumberUtilTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilInvokeProtectedMethodClassTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilNoSuchFieldTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/StringUtilTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi/common/util/TimeUtilTest.java (100%) rename {src => core/src}/test/java/com/dumbdogdiner/stickyapi_tests_common/TestsCommon.java (100%) rename {src => core/src}/test/resources/mockito-extensions/org.mockito.plugins.MockMaker (100%) diff --git a/build.gradle b/build.gradle index e700542a..92670136 100644 --- a/build.gradle +++ b/build.gradle @@ -1,38 +1,38 @@ plugins { - id 'java' - id 'maven-publish' - id 'jacoco' - id "io.freefair.lombok" version "5.3.0" - id "com.github.hierynomus.license" version "0.15.0" + //id 'java' apply false + //id 'maven-publish' apply false + //id 'jacoco' apply false + id "io.freefair.lombok" version "5.3.0" apply false + id "com.github.hierynomus.license" version "0.15.0" apply false } -jacoco { - // Use JaCoCo 0.8.6 for (experimental) support for Java 15 class files. - toolVersion = "0.8.6" -} - -group = 'com.dumbdogdiner' - -version = '2.0.0' +subprojects { + apply plugin: "java" + apply plugin: "maven-publish" + apply plugin: "jacoco" + apply plugin: "io.freefair.lombok" + apply plugin: "com.github.hierynomus.license" + + // jacoco opts here TODO -// License Plugin Options -license { header = file('LICENSE_HEADER') } -// Run the license formatter before compiling the source code. -tasks.compileJava.dependsOn licenseFormatMain, licenseFormatTest + // License Plugin Options + license { header = file('../LICENSE_HEADER') } + // Run the license formatter before compiling the source code. + tasks.compileJava.dependsOn licenseFormatMain, licenseFormatTest -configurations { - jaxDoclet - // give test dependencies access to compileOnly dependencies to emulate providedCompile - testImplementation.extendsFrom compileOnly -} + configurations { + jaxDoclet + // give test dependencies access to compileOnly dependencies to emulate providedCompile + testImplementation.extendsFrom compileOnly + } -repositories { - mavenCentral() - jcenter() + repositories { + mavenCentral() + jcenter() - maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } - maven { url 'https://papermc.io/repo/repository/maven-public/' } -} + maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } + maven { url 'https://papermc.io/repo/repository/maven-public/' } + } dependencies { compileOnly 'org.projectlombok:lombok:1.18.16' @@ -74,33 +74,30 @@ jacocoTestReport { html.enabled true } } - -task sources(type: Jar, dependsOn: classes) { - archiveClassifier.set("sources") - from sourceSets.main.allSource } +task compileJava { + subprojects.each { + //dependsOn("${it.name}:licenseFormatMain") + //dependsOn("${it.name}:licenseFormat") + dependsOn("${it.name}:compileJava") + } +} -tasks.publish.dependsOn build, sources - - - - -publishing { - repositories { - maven { - name = "GitHubPackages" - url = uri("https://maven.pkg.github.com/DumbDogDiner/StickyAPI") - credentials { - username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") - password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") - } - } +task test { + subprojects.each { + dependsOn("${it.name}:test") } - publications { - gpr(MavenPublication) { - from(components.java) - artifact sources // Publish the output of the sources task - } +} + +task clean { + subprojects.each { + dependsOn("${it.name}:clean") } } + +task build { + subprojects.each { + dependsOn("${it.name}:build") + } +} \ No newline at end of file diff --git a/core/build.gradle b/core/build.gradle new file mode 100644 index 00000000..0de0cab6 --- /dev/null +++ b/core/build.gradle @@ -0,0 +1,107 @@ +/*plugins { + id 'java' + id 'maven-publish' + id 'jacoco' + id "io.freefair.lombok" version "5.3.0" + id "com.github.hierynomus.license" version "0.15.0" +}*/ + +jacoco { + // Use JaCoCo 0.8.6 for (experimental) support for Java 15 class files. + toolVersion = "0.8.6" +} + +group = 'com.dumbdogdiner' + +version = '2.0.0' +/* +// License Plugin Options +license { header = file('LICENSE_HEADER') } +// Run the license formatter before compiling the source code. +tasks.compileJava.dependsOn licenseFormatMain, licenseFormatTest +*/ + +/*configurations { + jaxDoclet + // give test dependencies access to compileOnly dependencies to emulate providedCompile + testImplementation.extendsFrom compileOnly +}*/ + +/*repositories { + mavenCentral() + jcenter() + + maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } + maven { url 'https://papermc.io/repo/repository/maven-public/' } +}*/ + +/*dependencies { + compileOnly 'org.projectlombok:lombok:1.18.16' + annotationProcessor 'org.projectlombok:lombok:1.18.16' + + compileOnly 'com.destroystokyo.paper:paper-api:1.16.4-R0.1-SNAPSHOT' + compileOnly 'net.md-5:bungeecord-api:1.16-R0.4-SNAPSHOT' + implementation 'org.jetbrains:annotations:20.1.0' + implementation 'com.google.code.gson:gson:2.8.6' + implementation 'io.github.classgraph:classgraph:4.8.92' + implementation 'com.github.seancfoley:ipaddress:5.3.3' + + // JUnit 5 Testing + testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0") + + // Mocking + testImplementation("org.powermock:powermock-module-junit4:2.0.9") + testImplementation("org.powermock:powermock-api-mockito2:2.0.9") + testImplementation("org.powermock:powermock-module-junit4-rule:2.0.9") + testImplementation("org.powermock:powermock-classloading-xstream:2.0.9") + testImplementation("org.mockito:mockito-core:3.6.28") +}*/ + +/*test { + useJUnitPlatform() + testLogging { + events "passed", "skipped", "failed" + // Show System.out for code ran by tests + showStandardStreams = true + } + finalizedBy jacocoTestReport // report is always generated after tests run +} + +jacocoTestReport { + dependsOn test // tests are required to run before generating the report + reports { + xml.enabled true + html.enabled true + } +}*/ + +task sources(type: Jar, dependsOn: classes) { + archiveClassifier.set("sources") + from sourceSets.main.allSource +} + + +tasks.publish.dependsOn build, sources + + + + +publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://maven.pkg.github.com/DumbDogDiner/StickyAPI") + credentials { + username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") + password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") + } + } + } + publications { + gpr(MavenPublication) { + from(components.java) + artifact sources // Publish the output of the sources task + } + } +} \ No newline at end of file diff --git a/core/lombok.config b/core/lombok.config new file mode 100644 index 00000000..189c0bef --- /dev/null +++ b/core/lombok.config @@ -0,0 +1,3 @@ +# This file is generated by the 'io.freefair.lombok' Gradle plugin +config.stopBubbling = true +lombok.addLombokGeneratedAnnotation = true diff --git a/src/main/java/com/dumbdogdiner/stickyapi/StickyAPI.java b/core/src/main/java/com/dumbdogdiner/stickyapi/StickyAPI.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/StickyAPI.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/StickyAPI.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/PluginCommand.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/PluginCommand.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/PluginCommand.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/PluginCommand.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/builder/CommandBuilder.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/builder/CommandBuilder.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/builder/CommandBuilder.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/builder/CommandBuilder.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/command/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/VoidGenerator.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/VoidGenerator.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/VoidGenerator.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/VoidGenerator.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/generator/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/ClickableSlot.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/ClickableSlot.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/ClickableSlot.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/ClickableSlot.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/GUI.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/GUI.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/GUI.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/GUI.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/gui/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Orientation.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Orientation.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Orientation.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Orientation.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Parametric.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Parametric.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Parametric.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Parametric.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/ParticleSystem.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/ParticleSystem.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/ParticleSystem.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/ParticleSystem.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Shape.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Shape.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Shape.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/Shape.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/shapes/Circle.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/shapes/Circle.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/shapes/Circle.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/particle/shapes/Circle.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/PlayerSnapshot.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/PlayerSnapshot.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/PlayerSnapshot.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/PlayerSnapshot.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/player/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/SoundUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/SoundUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/SoundUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/SoundUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/StartupUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/StartupUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/StartupUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/StartupUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bukkit/util/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/command/builder/CommandBuilder.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/command/builder/CommandBuilder.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bungeecord/command/builder/CommandBuilder.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/command/builder/CommandBuilder.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/PacketRegistration.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/PacketRegistration.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/PacketRegistration.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/PacketRegistration.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/SoundPacket.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/SoundPacket.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/SoundPacket.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/packet/SoundPacket.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/Protocol.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/Protocol.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/Protocol.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/Protocol.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/ProtocolConstants.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/ProtocolConstants.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/ProtocolConstants.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/protocol/ProtocolConstants.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/Sound.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/Sound.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/Sound.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/Sound.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/SoundUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/SoundUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/SoundUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/bungeecord/util/SoundUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/ServerVersion.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/ServerVersion.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/ServerVersion.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/ServerVersion.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/arguments/Arguments.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/arguments/Arguments.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/arguments/Arguments.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/arguments/Arguments.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/arguments/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/arguments/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/arguments/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/arguments/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cache.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cache.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cache.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cache.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cacheable.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cacheable.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cacheable.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/cache/Cacheable.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/cache/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/cache/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/cache/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/cache/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/chat/ChatMessage.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/chat/ChatMessage.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/chat/ChatMessage.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/chat/ChatMessage.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/command/ExitCode.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/command/ExitCode.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/command/ExitCode.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/command/ExitCode.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/command/builder/CommandBuilderBase.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/command/builder/CommandBuilderBase.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/command/builder/CommandBuilderBase.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/command/builder/CommandBuilderBase.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/Configuration.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/Configuration.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/Configuration.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/Configuration.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationOptions.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationOptions.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationOptions.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationOptions.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationSection.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationSection.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationSection.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/ConfigurationSection.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/InvalidConfigurationException.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/InvalidConfigurationException.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/InvalidConfigurationException.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/InvalidConfigurationException.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfiguration.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfiguration.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfiguration.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfiguration.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfigurationOptions.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfigurationOptions.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfigurationOptions.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemoryConfigurationOptions.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemorySection.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemorySection.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemorySection.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/MemorySection.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfiguration.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfiguration.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfiguration.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfiguration.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfigurationOptions.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfigurationOptions.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfigurationOptions.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/FileConfigurationOptions.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfiguration.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfiguration.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfiguration.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfiguration.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfigurationOptions.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfigurationOptions.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfigurationOptions.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConfigurationOptions.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConstructor.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConstructor.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConstructor.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlConstructor.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlRepresenter.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlRepresenter.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlRepresenter.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/YamlRepresenter.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/file/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/ConfigurationSerializable.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/ConfigurationSerializable.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/ConfigurationSerializable.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/ConfigurationSerializable.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/DelegateDeserialization.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/DelegateDeserialization.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/DelegateDeserialization.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/DelegateDeserialization.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/SerializableAs.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/SerializableAs.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/SerializableAs.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/SerializableAs.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/configuration/serialization/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/Scheduler.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/Scheduler.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/Scheduler.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/Scheduler.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/scheduler/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/translation/Locale.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/Locale.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/translation/Locale.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/Locale.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/translation/LocaleProvider.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/LocaleProvider.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/translation/LocaleProvider.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/LocaleProvider.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/translation/Translation.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/Translation.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/translation/Translation.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/Translation.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/translation/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/translation/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/translation/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/Debugger.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/Debugger.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/Debugger.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/Debugger.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/FieldUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/FieldUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/FieldUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/FieldUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/IPUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/IPUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/IPUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/IPUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/NotificationType.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/NotificationType.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/NotificationType.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/NotificationType.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/NumberUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/NumberUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/NumberUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/NumberUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/Paginator.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/Paginator.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/Paginator.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/Paginator.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/ShortID.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/ShortID.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/ShortID.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/ShortID.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/StringUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/StringUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/StringUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/StringUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/TextUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/TextUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/TextUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/TextUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/TimeUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/TimeUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/TimeUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/TimeUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/UnsafeUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/UnsafeUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/UnsafeUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/UnsafeUtil.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/package-info.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/package-info.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/package-info.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/package-info.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLPair.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLPair.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLPair.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLPair.java diff --git a/src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLUtil.java b/core/src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLUtil.java similarity index 100% rename from src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLUtil.java rename to core/src/main/java/com/dumbdogdiner/stickyapi/common/util/url/URLUtil.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/bukkit/particle/OrientationTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/bukkit/particle/OrientationTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/bukkit/particle/OrientationTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/bukkit/particle/OrientationTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtilTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtilTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtilTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/bukkit/util/ServerUtilTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/ServerVersionTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/ServerVersionTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/ServerVersionTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/ServerVersionTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/command/ExitCodeTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/command/ExitCodeTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/command/ExitCodeTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/command/ExitCodeTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/IPUtilTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/IPUtilTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/IPUtilTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/IPUtilTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/LuhnTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/LuhnTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/LuhnTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/LuhnTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtilTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtilTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtilTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/MemoryUtilTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/NotificationTypeTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/NotificationTypeTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/NotificationTypeTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/NotificationTypeTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/NumberUtilTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/NumberUtilTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/NumberUtilTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/NumberUtilTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilInvokeProtectedMethodClassTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilInvokeProtectedMethodClassTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilInvokeProtectedMethodClassTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilInvokeProtectedMethodClassTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilNoSuchFieldTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilNoSuchFieldTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilNoSuchFieldTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilNoSuchFieldTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/ReflectionUtilTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/StringUtilTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/StringUtilTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/StringUtilTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/StringUtilTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi/common/util/TimeUtilTest.java b/core/src/test/java/com/dumbdogdiner/stickyapi/common/util/TimeUtilTest.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi/common/util/TimeUtilTest.java rename to core/src/test/java/com/dumbdogdiner/stickyapi/common/util/TimeUtilTest.java diff --git a/src/test/java/com/dumbdogdiner/stickyapi_tests_common/TestsCommon.java b/core/src/test/java/com/dumbdogdiner/stickyapi_tests_common/TestsCommon.java similarity index 100% rename from src/test/java/com/dumbdogdiner/stickyapi_tests_common/TestsCommon.java rename to core/src/test/java/com/dumbdogdiner/stickyapi_tests_common/TestsCommon.java diff --git a/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker similarity index 100% rename from src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker rename to core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker diff --git a/settings.gradle b/settings.gradle index d43c4dab..828d3492 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,2 @@ -rootProject.name = 'stickyapi' \ No newline at end of file +rootProject.name = 'stickyapi' +include "core" \ No newline at end of file From fb535ee474263adf6e147a19b513558df0a334bd Mon Sep 17 00:00:00 2001 From: James Cahill Date: Thu, 10 Dec 2020 14:43:04 +0000 Subject: [PATCH 2/6] core gradle - remove moved opts --- core/build.gradle | 69 ----------------------------------------------- 1 file changed, 69 deletions(-) diff --git a/core/build.gradle b/core/build.gradle index 0de0cab6..a4fb3a26 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,11 +1,3 @@ -/*plugins { - id 'java' - id 'maven-publish' - id 'jacoco' - id "io.freefair.lombok" version "5.3.0" - id "com.github.hierynomus.license" version "0.15.0" -}*/ - jacoco { // Use JaCoCo 0.8.6 for (experimental) support for Java 15 class files. toolVersion = "0.8.6" @@ -14,67 +6,6 @@ jacoco { group = 'com.dumbdogdiner' version = '2.0.0' -/* -// License Plugin Options -license { header = file('LICENSE_HEADER') } -// Run the license formatter before compiling the source code. -tasks.compileJava.dependsOn licenseFormatMain, licenseFormatTest -*/ - -/*configurations { - jaxDoclet - // give test dependencies access to compileOnly dependencies to emulate providedCompile - testImplementation.extendsFrom compileOnly -}*/ - -/*repositories { - mavenCentral() - jcenter() - - maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } - maven { url 'https://papermc.io/repo/repository/maven-public/' } -}*/ - -/*dependencies { - compileOnly 'org.projectlombok:lombok:1.18.16' - annotationProcessor 'org.projectlombok:lombok:1.18.16' - - compileOnly 'com.destroystokyo.paper:paper-api:1.16.4-R0.1-SNAPSHOT' - compileOnly 'net.md-5:bungeecord-api:1.16-R0.4-SNAPSHOT' - implementation 'org.jetbrains:annotations:20.1.0' - implementation 'com.google.code.gson:gson:2.8.6' - implementation 'io.github.classgraph:classgraph:4.8.92' - implementation 'com.github.seancfoley:ipaddress:5.3.3' - - // JUnit 5 Testing - testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0") - - // Mocking - testImplementation("org.powermock:powermock-module-junit4:2.0.9") - testImplementation("org.powermock:powermock-api-mockito2:2.0.9") - testImplementation("org.powermock:powermock-module-junit4-rule:2.0.9") - testImplementation("org.powermock:powermock-classloading-xstream:2.0.9") - testImplementation("org.mockito:mockito-core:3.6.28") -}*/ - -/*test { - useJUnitPlatform() - testLogging { - events "passed", "skipped", "failed" - // Show System.out for code ran by tests - showStandardStreams = true - } - finalizedBy jacocoTestReport // report is always generated after tests run -} - -jacocoTestReport { - dependsOn test // tests are required to run before generating the report - reports { - xml.enabled true - html.enabled true - } -}*/ task sources(type: Jar, dependsOn: classes) { archiveClassifier.set("sources") From 3296b1a8fce054409d4c38fb0d2328413725f4f2 Mon Sep 17 00:00:00 2001 From: James Cahill Date: Thu, 10 Dec 2020 14:44:23 +0000 Subject: [PATCH 3/6] fix indentation --- build.gradle | 70 ++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/build.gradle b/build.gradle index 92670136..135e8e06 100644 --- a/build.gradle +++ b/build.gradle @@ -34,46 +34,46 @@ subprojects { maven { url 'https://papermc.io/repo/repository/maven-public/' } } -dependencies { - compileOnly 'org.projectlombok:lombok:1.18.16' - annotationProcessor 'org.projectlombok:lombok:1.18.16' + dependencies { + compileOnly 'org.projectlombok:lombok:1.18.16' + annotationProcessor 'org.projectlombok:lombok:1.18.16' - compileOnly 'com.destroystokyo.paper:paper-api:1.16.4-R0.1-SNAPSHOT' - compileOnly 'net.md-5:bungeecord-api:1.16-R0.4-SNAPSHOT' - implementation 'org.jetbrains:annotations:20.1.0' - implementation 'com.google.code.gson:gson:2.8.6' - implementation 'io.github.classgraph:classgraph:4.8.92' - implementation 'com.github.seancfoley:ipaddress:5.3.3' - - // JUnit 5 Testing - testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0") + compileOnly 'com.destroystokyo.paper:paper-api:1.16.4-R0.1-SNAPSHOT' + compileOnly 'net.md-5:bungeecord-api:1.16-R0.4-SNAPSHOT' + implementation 'org.jetbrains:annotations:20.1.0' + implementation 'com.google.code.gson:gson:2.8.6' + implementation 'io.github.classgraph:classgraph:4.8.92' + implementation 'com.github.seancfoley:ipaddress:5.3.3' - // Mocking - testImplementation("org.powermock:powermock-module-junit4:2.0.9") - testImplementation("org.powermock:powermock-api-mockito2:2.0.9") - testImplementation("org.powermock:powermock-module-junit4-rule:2.0.9") - testImplementation("org.powermock:powermock-classloading-xstream:2.0.9") - testImplementation("org.mockito:mockito-core:3.6.28") -} + // JUnit 5 Testing + testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0") -test { - useJUnitPlatform() - testLogging { - events "passed", "skipped", "failed" - // Show System.out for code ran by tests - showStandardStreams = true - } - finalizedBy jacocoTestReport // report is always generated after tests run -} + // Mocking + testImplementation("org.powermock:powermock-module-junit4:2.0.9") + testImplementation("org.powermock:powermock-api-mockito2:2.0.9") + testImplementation("org.powermock:powermock-module-junit4-rule:2.0.9") + testImplementation("org.powermock:powermock-classloading-xstream:2.0.9") + testImplementation("org.mockito:mockito-core:3.6.28") + } -jacocoTestReport { - dependsOn test // tests are required to run before generating the report - reports { - xml.enabled true - html.enabled true + test { + useJUnitPlatform() + testLogging { + events "passed", "skipped", "failed" + // Show System.out for code ran by tests + showStandardStreams = true + } + finalizedBy jacocoTestReport // report is always generated after tests run + } + + jacocoTestReport { + dependsOn test // tests are required to run before generating the report + reports { + xml.enabled true + html.enabled true + } } -} } task compileJava { From d03459986625b3f2b963a8ade4e1f7725ccf7998 Mon Sep 17 00:00:00 2001 From: James Cahill Date: Thu, 10 Dec 2020 14:55:07 +0000 Subject: [PATCH 4/6] add project dependency to root buildscript to build as expected --- build.gradle | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/build.gradle b/build.gradle index 135e8e06..e14b7e5e 100644 --- a/build.gradle +++ b/build.gradle @@ -2,8 +2,13 @@ plugins { //id 'java' apply false //id 'maven-publish' apply false //id 'jacoco' apply false + + // Plugins defined here with "apply false"; to be used in subprojects id "io.freefair.lombok" version "5.3.0" apply false id "com.github.hierynomus.license" version "0.15.0" apply false + + // Plugins used in the root project + id "java" } subprojects { @@ -76,28 +81,6 @@ subprojects { } } -task compileJava { - subprojects.each { - //dependsOn("${it.name}:licenseFormatMain") - //dependsOn("${it.name}:licenseFormat") - dependsOn("${it.name}:compileJava") - } -} - -task test { - subprojects.each { - dependsOn("${it.name}:test") - } -} - -task clean { - subprojects.each { - dependsOn("${it.name}:clean") - } -} - -task build { - subprojects.each { - dependsOn("${it.name}:build") - } +dependencies { + project(":core") } \ No newline at end of file From 90b59f681329209378bbe9c72d75485f41afd1d0 Mon Sep 17 00:00:00 2001 From: James Cahill Date: Thu, 10 Dec 2020 15:03:10 +0000 Subject: [PATCH 5/6] move group, version and publishing to root gradlefile --- build.gradle | 41 ++++++++++++++++++++++++++++++++++------- core/build.gradle | 34 ---------------------------------- 2 files changed, 34 insertions(+), 41 deletions(-) diff --git a/build.gradle b/build.gradle index e14b7e5e..f844b0ec 100644 --- a/build.gradle +++ b/build.gradle @@ -1,19 +1,24 @@ plugins { - //id 'java' apply false - //id 'maven-publish' apply false - //id 'jacoco' apply false - + // 'java', 'maven-publish' and 'jacoco' do not have 'apply false' tags here since they are core gradle plugins. // Plugins defined here with "apply false"; to be used in subprojects id "io.freefair.lombok" version "5.3.0" apply false id "com.github.hierynomus.license" version "0.15.0" apply false // Plugins used in the root project id "java" + id "maven-publish" +} + +group = 'com.dumbdogdiner' + +version = '2.0.0' + +dependencies { + project(":core") } subprojects { apply plugin: "java" - apply plugin: "maven-publish" apply plugin: "jacoco" apply plugin: "io.freefair.lombok" apply plugin: "com.github.hierynomus.license" @@ -81,6 +86,28 @@ subprojects { } } -dependencies { - project(":core") +task sources(type: Jar, dependsOn: classes) { + archiveClassifier.set("sources") + from sourceSets.main.allSource +} + +tasks.publish.dependsOn build, sources + +publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://maven.pkg.github.com/DumbDogDiner/StickyAPI") + credentials { + username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") + password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") + } + } + } + publications { + gpr(MavenPublication) { + from(components.java) + artifact sources // Publish the output of the sources task + } + } } \ No newline at end of file diff --git a/core/build.gradle b/core/build.gradle index a4fb3a26..b8329983 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,38 +1,4 @@ jacoco { // Use JaCoCo 0.8.6 for (experimental) support for Java 15 class files. toolVersion = "0.8.6" -} - -group = 'com.dumbdogdiner' - -version = '2.0.0' - -task sources(type: Jar, dependsOn: classes) { - archiveClassifier.set("sources") - from sourceSets.main.allSource -} - - -tasks.publish.dependsOn build, sources - - - - -publishing { - repositories { - maven { - name = "GitHubPackages" - url = uri("https://maven.pkg.github.com/DumbDogDiner/StickyAPI") - credentials { - username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") - password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") - } - } - } - publications { - gpr(MavenPublication) { - from(components.java) - artifact sources // Publish the output of the sources task - } - } } \ No newline at end of file From 798396cdebf29d89d75030947a1fd75cd6352260 Mon Sep 17 00:00:00 2001 From: James Cahill Date: Thu, 10 Dec 2020 20:40:30 +0000 Subject: [PATCH 6/6] Add shadow to add subprojects to root output; removed unused deps (classgraph; gson) --- build.gradle | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index f844b0ec..7e88a22e 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ plugins { // Plugins used in the root project id "java" id "maven-publish" + id "com.github.johnrengelman.shadow" version "6.1.0" } group = 'com.dumbdogdiner' @@ -14,7 +15,31 @@ group = 'com.dumbdogdiner' version = '2.0.0' dependencies { - project(":core") + // Shadow: subproject as a 'compile' dependency + compile project(":core") +} + +// Shadow: removed classifier from output filename +shadowJar { archiveClassifier.set('') } + +// Shadow: Reproducible Builds +tasks.withType(AbstractArchiveTask) { + preserveFileTimestamps = false + reproducibleFileOrder = true +} + +// Shadow: run with build +tasks.build.dependsOn shadowJar + +allprojects { + repositories { + mavenCentral() + jcenter() + + maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } + maven { url 'https://papermc.io/repo/repository/maven-public/' } + } + } subprojects { @@ -36,24 +61,14 @@ subprojects { testImplementation.extendsFrom compileOnly } - repositories { - mavenCentral() - jcenter() - - maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } - maven { url 'https://papermc.io/repo/repository/maven-public/' } - } - dependencies { compileOnly 'org.projectlombok:lombok:1.18.16' annotationProcessor 'org.projectlombok:lombok:1.18.16' compileOnly 'com.destroystokyo.paper:paper-api:1.16.4-R0.1-SNAPSHOT' compileOnly 'net.md-5:bungeecord-api:1.16-R0.4-SNAPSHOT' - implementation 'org.jetbrains:annotations:20.1.0' - implementation 'com.google.code.gson:gson:2.8.6' - implementation 'io.github.classgraph:classgraph:4.8.92' - implementation 'com.github.seancfoley:ipaddress:5.3.3' + compileOnly 'org.jetbrains:annotations:20.1.0' + compileOnly 'com.github.seancfoley:ipaddress:5.3.3' // JUnit 5 Testing testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") @@ -88,10 +103,13 @@ subprojects { task sources(type: Jar, dependsOn: classes) { archiveClassifier.set("sources") - from sourceSets.main.allSource + // Use source code from all subprojects for sources. + // TODO: Use certain subprojects only to allow for multiple jar outputs + from subprojects.sourceSets.main.allSource } -tasks.publish.dependsOn build, sources +// We *probably* don't need this anymore. +tasks.publish.dependsOn build, shadowJar, sources publishing { repositories { @@ -106,7 +124,7 @@ publishing { } publications { gpr(MavenPublication) { - from(components.java) + artifact shadowJar // Use shadow jar instead of components.java artifact sources // Publish the output of the sources task } }