diff --git a/.github/workflows/maven.yml b/.github/workflows/gradle.yml similarity index 85% rename from .github/workflows/maven.yml rename to .github/workflows/gradle.yml index 556452ee..b3ae1ec8 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/gradle.yml @@ -20,5 +20,5 @@ jobs: uses: actions/setup-java@v1 with: java-version: 1.8 - - name: Build with Maven - run: mvn -B package --file pom.xml + - name: Build with Gradle + run: ./gradlew clean build diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index fa827660..00000000 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if (mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if (mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if (!outputFile.getParentFile().exists()) { - if (!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 1969fafb..00000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,28 +0,0 @@ -# -# -# MIT License -# -# Copyright (c) 2020 Alexander Söderberg & Contributors -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# - -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/HEADER b/HEADER new file mode 100644 index 00000000..db2b6c06 --- /dev/null +++ b/HEADER @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Alexander Söderberg & Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..ef832bba --- /dev/null +++ b/build.gradle @@ -0,0 +1,130 @@ +buildscript { + repositories { + mavenCentral() + maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" } + jcenter() + } + dependencies { + classpath("com.github.jengelman.gradle.plugins:shadow:5.0.0") + classpath 'com.bmuschko:gradle-nexus-plugin:2.3.1' + } +} + +plugins { + id 'checkstyle' + id 'com.github.hierynomus.license' version '0.15.0' + id 'java-library' + id 'com.github.johnrengelman.shadow' version '6.0.0' +} + +checkstyle { + configFile file("config/checkstyle/checkstyle.xml") +} + +allprojects { + apply plugin: 'idea' + apply plugin: 'checkstyle' + apply plugin: 'com.github.hierynomus.license' + apply plugin: 'com.bmuschko.nexus' + + group = 'cloud.commandframework' + version = '0.3.0-SNAPSHOT' + + /* Disable checkstyle on tests */ + project.gradle.startParameter.excludedTaskNames.add('checkstyleTest') + + license { + header rootProject.file('HEADER') + mapping 'java', 'DOUBLESLASH_STYLE' + includes(["**/*.java"]) + } + + nexus { + sign = false + repositoryUrl = 'https://mvn.intellectualsites.com/content/repositories/releases/' + snapshotRepositoryUrl = 'https://mvn.intellectualsites.com/content/repositories/snapshots/' + } +} + +subprojects { + apply plugin: 'java' + apply plugin: 'java-library' + apply plugin: 'maven-publish' + + repositories { + mavenLocal() + maven { + url = 'https://repo1.maven.org/maven2' + } + + maven { + url = 'https://oss.sonatype.org/content/repositories/snapshots' + } + + maven { + url = 'https://repo.viaversion.com/' + } + + maven { + url = 'https://repo.velocitypowered.com/snapshots/' + } + + maven { + url = 'https://libraries.minecraft.net/' + } + + maven { + url = 'https://repo.spongepowered.org/maven' + } + + maven { + url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' + } + + maven { + url = 'https://papermc.io/repo/repository/maven-public/' + } + + maven { + url = 'https://libraries.minecraft.net' + } + + maven { + url = 'https://repo.nukkitx.com/maven-snapshots' + } + + maven { + url = 'https://jitpack.io' + } + } + + dependencies { + api 'com.google.code.findbugs:jsr305:3.0.2' + testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.7.0' + } + + sourceCompatibility = '1.8' + + tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' + } +} + +task aggregatedJavadocs(type: Javadoc, description: "Generate javadocs from all child projects as if it was a single project", group: "Documentation") { + destinationDir = file("./docs/javadoc") + title = "$project.name $version API" + options.author true + options.links "http://docs.spring.io/spring/docs/4.3.x/javadoc-api/", "http://docs.oracle.com/javase/8/docs/api/", "http://docs.spring.io/spring-ws/docs/2.3.0.RELEASE/api/", "http://docs.spring.io/spring-security/site/docs/4.0.4.RELEASE/apidocs/" + options.addStringOption("Xdoclint:none", "-quiet") + + delete("./docs") + + subprojects.each { proj -> + proj.tasks.withType(Javadoc).each { javadocTask -> + source += javadocTask.source + classpath += javadocTask.classpath + excludes += javadocTask.excludes + includes += javadocTask.includes + } + } +} diff --git a/build.sh b/build.sh deleted file mode 100755 index ea1689a5..00000000 --- a/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -export MAVEN_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1" -./mvnw -T1C clean package -DskipTests=true diff --git a/cloud-annotations/build.gradle b/cloud-annotations/build.gradle new file mode 100644 index 00000000..3ea71922 --- /dev/null +++ b/cloud-annotations/build.gradle @@ -0,0 +1,4 @@ +dependencies { + implementation project(':cloud-core') + implementation 'com.google.guava:guava:29.0-jre' +} diff --git a/cloud-annotations/pom.xml b/cloud-annotations/pom.xml deleted file mode 100644 index 7699d287..00000000 --- a/cloud-annotations/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - - 4.0.0 - - cloud-annotations - 0.2.0-SNAPSHOT - - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - com.google.guava - guava - 29.0-jre - provided - - - - diff --git a/cloud-core/build.gradle b/cloud-core/build.gradle new file mode 100644 index 00000000..eac53841 --- /dev/null +++ b/cloud-core/build.gradle @@ -0,0 +1,6 @@ +dependencies { + api project(':cloud-services') + api 'com.google.guava:guava:29.0-jre' + testImplementation 'org.openjdk.jmh:jmh-core:1.25.2' + testImplementation 'org.openjdk.jmh:jmh-generator-annprocess:1.25.2' +} diff --git a/cloud-core/pom.xml b/cloud-core/pom.xml deleted file mode 100644 index 87599b53..00000000 --- a/cloud-core/pom.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - - 4.0.0 - - 0.2.0-SNAPSHOT - cloud-core - - - - org.openjdk.jmh - jmh-core - 1.25.2 - test - - - org.openjdk.jmh - jmh-generator-annprocess - 1.25.2 - test - - - cloud.commandframework - cloud-services - 1.5.0-SNAPSHOT - - - com.google.guava - guava - - - - - com.google.guava - guava - 29.0-jre - provided - - - diff --git a/cloud-jline/build.gradle b/cloud-jline/build.gradle new file mode 100644 index 00000000..69e2563c --- /dev/null +++ b/cloud-jline/build.gradle @@ -0,0 +1,4 @@ +dependencies { + compileOnly 'org.jline:jline:3.16.0' + api project(':cloud-core') +} diff --git a/cloud-jline/pom.xml b/cloud-jline/pom.xml deleted file mode 100644 index 6600c76b..00000000 --- a/cloud-jline/pom.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - - - 4.0.0 - cloud-jline - 0.2.0-SNAPSHOT - - - - org.jline - jline - 3.16.0 - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - diff --git a/cloud-minecraft/cloud-brigadier/build.gradle b/cloud-minecraft/cloud-brigadier/build.gradle new file mode 100644 index 00000000..d93297a2 --- /dev/null +++ b/cloud-minecraft/cloud-brigadier/build.gradle @@ -0,0 +1,5 @@ +dependencies { + implementation project(':cloud-core') + /* Needs to be provided by the platform */ + implementation 'com.mojang:brigadier:1.0.17' +} diff --git a/cloud-minecraft/cloud-brigadier/pom.xml b/cloud-minecraft/cloud-brigadier/pom.xml deleted file mode 100644 index 790aa167..00000000 --- a/cloud-minecraft/cloud-brigadier/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - 4.0.0 - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - - cloud-brigadier - 0.2.0-SNAPSHOT - - - - minecraft-libraries - Minecraft Libraries - https://libraries.minecraft.net - - - - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - com.mojang - brigadier - 1.0.17 - provided - - - com.google.guava - guava - 29.0-jre - provided - - - diff --git a/cloud-minecraft/cloud-bukkit-test/build.gradle b/cloud-minecraft/cloud-bukkit-test/build.gradle new file mode 100644 index 00000000..462e64af --- /dev/null +++ b/cloud-minecraft/cloud-bukkit-test/build.gradle @@ -0,0 +1,43 @@ +apply plugin: 'com.github.johnrengelman.shadow' + +def adventureVersion = '4.0.0-SNAPSHOT' + +shadowJar { + dependencies { + include(project(':cloud-paper')) + include(project(':cloud-annotations')) + include(project(':cloud-minecraft-extras')) + include(project(':cloud-core')) + include(project(':cloud-services')) + include(project(':cloud-brigadier')) + include(project(':cloud-bukkit')) + /* Commodore */ + include(dependency('me.lucko:commodore:1.9')) + /* Adventure */ + include(dependency("net.kyori:adventure-platform-bukkit:${adventureVersion}")) + include(dependency("net.kyori:adventure-text-minimessage:${adventureVersion}")) + include(dependency("net.kyori:adventure-text-serializer-bungeecord:${adventureVersion}")) + include(dependency("net.kyori:adventure-text-serializer-legacy:${adventureVersion}")) + include(dependency("net.kyori:adventure-text-serializer-gson:${adventureVersion}")) + include(dependency("net.kyori:adventure-api:${adventureVersion}")) + include(dependency("net.kyori:adventure-platform-api:${adventureVersion}")) + include(dependency("net.kyori:adventure-platform-common:${adventureVersion}")) + include(dependency("net.kyori:adventure-platform-viaversion:${adventureVersion}")) + include(dependency("net.kyori:adventure-nbt:${adventureVersion}")) + /* Examination */ + include(dependency("net.kyori:examination-api:1.0.0")) + include(dependency("net.kyori:examination-string:1.0.0")) + } +} + +dependencies { + /* Cloud */ + implementation project(':cloud-paper') + implementation project(':cloud-annotations') + implementation project(':cloud-minecraft-extras') + /* Extras */ + implementation 'me.lucko:commodore:1.9' + implementation 'net.kyori:adventure-platform-bukkit:4.0.0-SNAPSHOT' + /* Bukkit */ + compileOnly 'org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-bukkit-test/pom.xml b/cloud-minecraft/cloud-bukkit-test/pom.xml deleted file mode 100644 index 98498ca8..00000000 --- a/cloud-minecraft/cloud-bukkit-test/pom.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - - 4.0.0 - cloud-bukkit-test - 0.2.0-SNAPSHOT - - - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - - package - - shade - - - false - - - - - - - - - - sonatype - https://oss.sonatype.org/content/repositories/snapshots - - - viaversion - https://repo.viaversion.com/ - - - - - - cloud.commandframework - cloud-paper - 0.2.0-SNAPSHOT - - - org.bukkit - bukkit - 1.8.8-R0.1-SNAPSHOT - provided - - - cloud.commandframework - cloud-annotations - 0.2.0-SNAPSHOT - - - me.lucko - commodore - 1.9 - - - cloud.commandframework - cloud-minecraft-extras - 0.2.0-SNAPSHOT - - - net.kyori - adventure-platform-bukkit - 4.0.0-SNAPSHOT - - - 4.0.0-SNAPSHOT - adventure-platform-viaversion - - - - - diff --git a/cloud-minecraft/cloud-bukkit/build.gradle b/cloud-minecraft/cloud-bukkit/build.gradle new file mode 100644 index 00000000..d0164139 --- /dev/null +++ b/cloud-minecraft/cloud-bukkit/build.gradle @@ -0,0 +1,12 @@ +dependencies { + api (project(':cloud-core')) { + /* Exposed by Bukkit */ + exclude group: 'com.google.guava', module: 'guava' + } + api (project(':cloud-brigadier')) { + /* Once again exposed by Bukkit */ + exclude group: 'com.google.guava', module: 'guava' + } + implementation 'org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT' + implementation 'me.lucko:commodore:1.9' +} diff --git a/cloud-minecraft/cloud-bukkit/pom.xml b/cloud-minecraft/cloud-bukkit/pom.xml deleted file mode 100644 index 2a95c3b7..00000000 --- a/cloud-minecraft/cloud-bukkit/pom.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - ../../ - cloud - cloud.commandframework - 1.0-SNAPSHOT - - - 4.0.0 - cloud-bukkit - 0.2.0-SNAPSHOT - - - - spigot-repo - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ - - - - - - org.bukkit - bukkit - 1.8.8-R0.1-SNAPSHOT - provided - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - cloud.commandframework - cloud-brigadier - 0.2.0-SNAPSHOT - - - me.lucko - commodore - 1.9 - provided - - - - - clean package - CommandStuff-${project.artifactId}-${project.version} - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - - package - - shade - - - false - - - - - - - diff --git a/cloud-minecraft/cloud-bungee/build.gradle b/cloud-minecraft/cloud-bungee/build.gradle new file mode 100644 index 00000000..e919b4ac --- /dev/null +++ b/cloud-minecraft/cloud-bungee/build.gradle @@ -0,0 +1,4 @@ +dependencies { + api project(':cloud-core') + compileOnly 'net.md-5:bungeecord-api:1.8-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-bungee/pom.xml b/cloud-minecraft/cloud-bungee/pom.xml deleted file mode 100644 index 276a4dce..00000000 --- a/cloud-minecraft/cloud-bungee/pom.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - - 4.0.0 - cloud-bungee - 0.2.0-SNAPSHOT - - - - bungeecord-repo - https://oss.sonatype.org/content/repositories/snapshots - - - - - - net.md-5 - bungeecord-api - 1.8-SNAPSHOT - provided - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - diff --git a/cloud-minecraft/cloud-cloudburst-test/build.gradle b/cloud-minecraft/cloud-cloudburst-test/build.gradle new file mode 100644 index 00000000..df1ef288 --- /dev/null +++ b/cloud-minecraft/cloud-cloudburst-test/build.gradle @@ -0,0 +1,18 @@ +apply plugin: 'com.github.johnrengelman.shadow' + +def adventureVersion = '4.0.0-SNAPSHOT' + +shadowJar { + dependencies { + include(project(':cloud-cloudburst')) + include(project(':cloud-annotations')) + include(project(':cloud-core')) + include(project(':cloud-services')) + } +} + +dependencies { + compile project(':cloud-cloudburst') + compile project(':cloud-annotations') + compileOnly 'org.cloudburstmc:cloudburst-server:1.0.0-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-cloudburst-test/pom.xml b/cloud-minecraft/cloud-cloudburst-test/pom.xml deleted file mode 100644 index 4cfd2ff0..00000000 --- a/cloud-minecraft/cloud-cloudburst-test/pom.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - - 4.0.0 - cloud-cloudburst-test - 0.2.0-SNAPSHOT - - - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - - package - - shade - - - false - - - - - - - - - - nukkit-repo - https://repo.nukkitx.com/maven-snapshots - - - jitpack - https://jitpack.io - - - - - - cloud.commandframework - cloud-cloudburst - 0.2.0-SNAPSHOT - - - cloud.commandframework - cloud-annotations - 0.2.0-SNAPSHOT - - - org.cloudburstmc - cloudburst-server - 1.0.0-SNAPSHOT - provided - - - diff --git a/cloud-minecraft/cloud-cloudburst/build.gradle b/cloud-minecraft/cloud-cloudburst/build.gradle new file mode 100644 index 00000000..876e5268 --- /dev/null +++ b/cloud-minecraft/cloud-cloudburst/build.gradle @@ -0,0 +1,4 @@ +dependencies { + api project(':cloud-core') + compileOnly 'org.cloudburstmc:cloudburst-server:1.0.0-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-cloudburst/pom.xml b/cloud-minecraft/cloud-cloudburst/pom.xml deleted file mode 100644 index 7fe90b75..00000000 --- a/cloud-minecraft/cloud-cloudburst/pom.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - 4.0.0 - - cloud-cloudburst - 0.2.0-SNAPSHOT - - - - nukkit-repo - https://repo.nukkitx.com/maven-snapshots - - - jitpack - https://jitpack.io - - - - - - org.cloudburstmc - cloudburst-server - 1.0.0-SNAPSHOT - provided - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - diff --git a/cloud-minecraft/cloud-minecraft-extras/build.gradle b/cloud-minecraft/cloud-minecraft-extras/build.gradle new file mode 100644 index 00000000..d79d3ce4 --- /dev/null +++ b/cloud-minecraft/cloud-minecraft-extras/build.gradle @@ -0,0 +1,5 @@ +dependencies { + api 'net.kyori:adventure-api:4.0.0-SNAPSHOT' + api project(':cloud-core') + api 'net.kyori:adventure-text-minimessage:4.0.0-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-minecraft-extras/pom.xml b/cloud-minecraft/cloud-minecraft-extras/pom.xml deleted file mode 100644 index 15b16298..00000000 --- a/cloud-minecraft/cloud-minecraft-extras/pom.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - 4.0.0 - - cloud-minecraft-extras - 0.2.0-SNAPSHOT - - - - sonatype - https://oss.sonatype.org/content/repositories/snapshots - - - - - - net.kyori - adventure-api - 4.0.0-SNAPSHOT - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - net.kyori - adventure-text-minimessage - 4.0.0-SNAPSHOT - - - diff --git a/cloud-minecraft/cloud-paper/build.gradle b/cloud-minecraft/cloud-paper/build.gradle new file mode 100644 index 00000000..a7ff9f1e --- /dev/null +++ b/cloud-minecraft/cloud-paper/build.gradle @@ -0,0 +1,8 @@ +dependencies { + api (project(':cloud-bukkit')) { + /* Exposed by Bukkit */ + exclude group: 'com.google.guava', module: 'guava' + } + compileOnly 'com.destroystokyo.paper:paper-api:1.15.2-R0.1-SNAPSHOT' + compileOnly 'com.destroystokyo.paper:paper-mojangapi:1.15.2-R0.1-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-paper/pom.xml b/cloud-minecraft/cloud-paper/pom.xml deleted file mode 100644 index b7602541..00000000 --- a/cloud-minecraft/cloud-paper/pom.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - - 4.0.0 - cloud-paper - 0.2.0-SNAPSHOT - - - - papermc - https://papermc.io/repo/repository/maven-public/ - - - - - - cloud.commandframework - cloud-bukkit - 0.2.0-SNAPSHOT - - - com.destroystokyo.paper - paper-api - 1.15.2-R0.1-SNAPSHOT - provided - - - com.destroystokyo.paper - paper-mojangapi - 1.15.2-R0.1-SNAPSHOT - provided - - - - - clean package - CommandStuff-${project.artifactId}-${project.version} - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - - package - - shade - - - false - - - - - - - diff --git a/cloud-minecraft/cloud-velocity-test/.gitignore b/cloud-minecraft/cloud-velocity-test/.gitignore new file mode 100644 index 00000000..4788b4b4 --- /dev/null +++ b/cloud-minecraft/cloud-velocity-test/.gitignore @@ -0,0 +1,113 @@ +# User-specific stuff +.idea/ + +*.iml +*.ipr +*.iws + +# IntelliJ +out/ + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +target/ + +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next + +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.flattened-pom.xml + +# Common working directory +run/ diff --git a/cloud-minecraft/cloud-velocity-test/build.gradle b/cloud-minecraft/cloud-velocity-test/build.gradle new file mode 100644 index 00000000..4fe5b8af --- /dev/null +++ b/cloud-minecraft/cloud-velocity-test/build.gradle @@ -0,0 +1,19 @@ +apply plugin: 'com.github.johnrengelman.shadow' + +def adventureVersion = '4.0.0-SNAPSHOT' + +shadowJar { + dependencies { + include(project(':cloud-velocity')) + include(project(':cloud-annotations')) + include(project(':cloud-core')) + include(project(':cloud-services')) + include(project(':cloud-brigadier')) + } +} + +dependencies { + implementation project(':cloud-velocity') + implementation project(':cloud-annotations') + compileOnly 'com.velocitypowered:velocity-api:1.1.0-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-velocity-test/pom.xml b/cloud-minecraft/cloud-velocity-test/pom.xml deleted file mode 100644 index 6c47b309..00000000 --- a/cloud-minecraft/cloud-velocity-test/pom.xml +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - - 4.0.0 - cloud-velocity-test - 0.2.0-SNAPSHOT - - - - release - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.0 - - - attach-sources - - jar-no-fork - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.2.0 - - - attach-javadocs - - jar - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - src/main/resources - true - - - - - - - - - - ${project.basedir}/src/main/resources - true - - - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - - package - - shade - - - false - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - ${java.version} - ${java.version} - - - - org.codehaus.mojo - templating-maven-plugin - 1.0.0 - - - filter-src - - filter-sources - - - - - - org.apache.maven.plugins - maven-site-plugin - 3.9.1 - - - net.trajano.wagon - wagon-git - 2.0.4 - - - org.apache.maven.doxia - doxia-module-markdown - 1.9.1 - - - - - org.apache.maven.plugins - maven-release-plugin - 3.0.0-M1 - - true - @{project.version} - [RELEASE] - install deploy site-deploy - - release - - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.2.0 - - - - - - - velocitypowered-repo - https://repo.velocitypowered.com/snapshots/ - - - minecraft-libraries - https://libraries.minecraft.net/ - - - spongepowered-repo - https://repo.spongepowered.org/maven - - - - - - com.velocitypowered - velocity-api - 1.1.0-SNAPSHOT - provided - - - cloud.commandframework - cloud-velocity - 0.2.0-SNAPSHOT - - - cloud.commandframework - cloud-annotations - 0.2.0-SNAPSHOT - - - diff --git a/cloud-minecraft/cloud-velocity/build.gradle b/cloud-minecraft/cloud-velocity/build.gradle new file mode 100644 index 00000000..c9849de8 --- /dev/null +++ b/cloud-minecraft/cloud-velocity/build.gradle @@ -0,0 +1,5 @@ +dependencies { + api project(':cloud-core') + api project(':cloud-brigadier') + compileOnly 'com.velocitypowered:velocity-api:1.1.0-SNAPSHOT' +} diff --git a/cloud-minecraft/cloud-velocity/pom.xml b/cloud-minecraft/cloud-velocity/pom.xml deleted file mode 100644 index 86eab792..00000000 --- a/cloud-minecraft/cloud-velocity/pom.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - ../../pom.xml - - - 4.0.0 - cloud-velocity - 0.2.0-SNAPSHOT - - - - velocity-snapshosts - https://repo.velocitypowered.com/snapshots/ - - - - - - cloud.commandframework - cloud-core - 0.2.0-SNAPSHOT - - - cloud.commandframework - cloud-brigadier - 0.2.0-SNAPSHOT - - - com.velocitypowered - velocity-api - 1.1.0-SNAPSHOT - provided - - - diff --git a/cloud-services/build.gradle b/cloud-services/build.gradle new file mode 100644 index 00000000..7e4a8be3 --- /dev/null +++ b/cloud-services/build.gradle @@ -0,0 +1,4 @@ +dependencies { + /* Exposed by Core later on */ + implementation 'com.google.guava:guava:29.0-jre' +} diff --git a/cloud-services/pom.xml b/cloud-services/pom.xml deleted file mode 100644 index cdb96477..00000000 --- a/cloud-services/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - 4.0.0 - - - cloud - cloud.commandframework - 1.0-SNAPSHOT - - - cloud-services - 1.5.0-SNAPSHOT - jar - 2020 - - - MIT License - https://raw.githubusercontent.com/Sauilitired/Rörledning/master/LICENSE - - - - Services for Java - - 1.8 - UTF-8 - - - - intellectualsites - IntellectualSites - https://mvn.intellectualsites.com/content/repositories/releases - - - intellectualsites-snapshots - IntellectualSites Snapshots - https://mvn.intellectualsites.com/content/repositories/snapshots - - - - clean package - - - src/main/resources - true - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - ${java.version} - ${java.version} - - - - org.apache.maven.plugins - maven-deploy-plugin - 2.8.2 - - true - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.8 - - - default-deploy - deploy - - deploy - - - - - intellectualsites - https://mvn.intellectualsites.com/ - true - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.2.0 - - - attach-javadocs - - jar - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - - - com.google.guava - guava - 29.0-jre - - - diff --git a/checkstyle.xml b/config/checkstyle/checkstyle.xml similarity index 86% rename from checkstyle.xml rename to config/checkstyle/checkstyle.xml index 76fc3e41..51351e15 100644 --- a/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -1,4 +1,30 @@ + + diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..f97ebb7d --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000..5c2d1cf0 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..12d38de6 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 00000000..83f2acfd --- /dev/null +++ b/gradlew @@ -0,0 +1,188 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..9618d8d9 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/mvnw b/mvnw deleted file mode 100755 index 41c0f0c2..00000000 --- a/mvnw +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd deleted file mode 100644 index 86115719..00000000 --- a/mvnw.cmd +++ /dev/null @@ -1,182 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml deleted file mode 100644 index ff65d1a2..00000000 --- a/pom.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - 4.0.0 - - cloud.commandframework - cloud - 1.0-SNAPSHOT - - cloud-jline - cloud-core - cloud-services - cloud-annotations - - cloud-minecraft/cloud-bukkit-test - cloud-minecraft/cloud-velocity-test - cloud-minecraft/cloud-bukkit - cloud-minecraft/cloud-paper - cloud-minecraft/cloud-brigadier - cloud-minecraft/cloud-bungee - cloud-minecraft/cloud-velocity - cloud-minecraft/cloud-minecraft-extras - cloud-minecraft/cloud-cloudburst - cloud-minecraft/cloud-cloudburst-test - - pom - 2020 - - - MIT License - https://raw.githubusercontent.com/Sauilitired/cloud/master/LICENSE - - - cloud - Commands for Java - - 1.8 - UTF-8 - - - - intellectualsites - IntellectualSites - https://mvn.intellectualsites.com/content/repositories/releases - - - intellectualsites-snapshots - IntellectualSites Snapshots - https://mvn.intellectualsites.com/content/repositories/snapshots - - - - clean package - - - src/main/resources - true - - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.1.1 - - checkstyle.xml - - - - - initialize - - - check - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - ${java.version} - ${java.version} - - - - org.apache.maven.plugins - maven-deploy-plugin - 2.8.2 - - true - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.8 - - - default-deploy - deploy - - deploy - - - - - intellectualsites - https://mvn.intellectualsites.com/ - true - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.2.0 - - - attach-javadocs - - jar - - - - - 1.8 - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - - - - org.junit.jupiter - junit-jupiter-engine - 5.7.0 - test - - - com.google.code.findbugs - jsr305 - 3.0.2 - - - diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..9dfcc80b --- /dev/null +++ b/settings.gradle @@ -0,0 +1,25 @@ +rootProject.name = 'cloud' +include(':cloud-jline') +include(':cloud-core') +include(':cloud-services') +include(':cloud-annotations') +include(':cloud-bukkit-test') +include(':cloud-velocity-test') +include(':cloud-bukkit') +include(':cloud-paper') +include(':cloud-brigadier') +include(':cloud-bungee') +include(':cloud-velocity') +include(':cloud-minecraft-extras') +include(':cloud-cloudburst') +include(':cloud-cloudburst-test') +project(':cloud-bukkit-test').projectDir = file('cloud-minecraft/cloud-bukkit-test') +project(':cloud-velocity-test').projectDir = file('cloud-minecraft/cloud-velocity-test') +project(':cloud-bukkit').projectDir = file('cloud-minecraft/cloud-bukkit') +project(':cloud-paper').projectDir = file('cloud-minecraft/cloud-paper') +project(':cloud-brigadier').projectDir = file('cloud-minecraft/cloud-brigadier') +project(':cloud-bungee').projectDir = file('cloud-minecraft/cloud-bungee') +project(':cloud-velocity').projectDir = file('cloud-minecraft/cloud-velocity') +project(':cloud-minecraft-extras').projectDir = file('cloud-minecraft/cloud-minecraft-extras') +project(':cloud-cloudburst').projectDir = file('cloud-minecraft/cloud-cloudburst') +project(':cloud-cloudburst-test').projectDir = file('cloud-minecraft/cloud-cloudburst-test')