Migrate gradle scripts to have multiple modules and source sets. Using Kotlin-DSL for enhanced script debugging.

Signed-off-by: Gabriel Harris-Rouquette <gabizou@me.com>
This commit is contained in:
Gabriel Harris-Rouquette 2019-02-07 16:09:35 -08:00
parent 49a6ce7b8f
commit fe40748929
No known key found for this signature in database
GPG Key ID: F34C08E5B2D67A0A
451 changed files with 425 additions and 97 deletions

309
.gitignore vendored
View File

@ -1,57 +1,272 @@
# Eclipse stuff # Created by .ignore support plugin (hsz.mobi)
/.classpath ### Gradle template
/.project .gradle
/.settings /build/
/dependency-reduced-pom.xml
#vs code # Ignore Gradle GUI config
/.vscode gradle-app.setting
# Maven Depends # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
/lib !gradle-wrapper.jar
# gradle # Cache of project
*.bin .gradletasknamecache
*.lock
bin
/.gradle
/mcMMO-core/.gradle
/mcMMO-core/gradle
# netbeans # # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
/nbproject # gradle/wrapper/gradle-wrapper.properties
### Java template
# Compiled class file
*.class
# we use maven! # Log file
/build.xml *.log
# maven # BlueJ files
/target *.ctxt
# vim # Mobile Tools for Java (J2ME)
.*.sw[a-p] .mtj.tmp/
# various other potential build files # Package Files #
/build
/bin
/dist
/manifest.mf
/world
# Mac filesystem dust
*.DS_Store
# intellij
*.iml
*.ipr
*.iws
.idea/
# Project Stuff
/src/main/resources/mcMMO
# Other Libraries
*.jar *.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*
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
### Windows template
# Windows thumbnail cache files
Thumbs.db
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
### Maven template
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
### Kotlin template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# 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*
### Linux template
*~
# 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*
### Eclipse template
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
### VisualStudioCode template
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
### NetBeans template
nbproject/private/
build/
nbbuild/
dist/
nbdist/
.nb-gradle/
### macOS template
# 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
# Atlassian Stuff
/atlassian-ide-plugin.xml

33
build.gradle.kts Normal file
View File

@ -0,0 +1,33 @@
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
}
group = properties["pluginGroup"]!!
version = properties["pluginVersion"]!!
plugins {
`java-library`
java
}
allprojects {
apply(plugin="java-library")
repositories {
mavenCentral()
// World Edit
maven("https://maven.sk89q.com/repo")
// bStats
maven("https://repo.codemc.org/repository/maven-public")
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}

40
bukkit/build.gradle.kts Normal file
View File

@ -0,0 +1,40 @@
repositories {
// Spigot & Bukkit
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
maven("https://oss.sonatype.org/content/repositories/snapshots")
mavenLocal() // For nms variants
}
plugins {
java
}
dependencies {
implementation("org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT") // Spigot API
implementation("com.sk89q.worldguard", "worldguard-core", "7.0.0-SNAPSHOT") // WorldGuard
implementation("com.sk89q.worldguard", "worldguard-legacy", "7.0.0-SNAPSHOT") // NEEDED
implementation("org.bstats", "bstats-bukkit", "1.4") // Bukkit bstats
implementation("org.apache.tomcat", "tomcat-jdbc", "7.0.52") // tomcat JDBC
implementation("org.apache.tomcat", "tomcat-juli", "7.0.52") // tomcat juli
implementation("junit", "junit", "4.12")
}
java {
sourceSets {
create("nms")
}
}
val jar by tasks.getting(Jar::class) {
manifest {
attributes(mapOf(
"Implementation-Title" to project.name,
"Implementation-Version" to project.version,
"Main-Class" to "com.gmail.nossr50.mcMMO" // Main plugin class for bukkit
))
}
}

Some files were not shown because too many files have changed in this diff Show More