Gradle / maven

Fix archive names (includes project/module name + version)
Generate MD5 hash alongside jar
Improve build time
- asynchronous building
- enable daemon
- change scope of a few statements
- skip building of 3 jars
Add filtering to the plugin.yml (maven/gradle)
Bump version to 3.3.0 in pom
This commit is contained in:
Jesse Boyd 2016-02-26 23:55:21 +11:00
parent f921db937a
commit c7870b617c
8 changed files with 49 additions and 20 deletions

View file

@ -1,16 +1,34 @@
apply plugin: 'eclipse'
apply plugin: 'idea'
dependencies { dependencies {
compile project(':Core') compile project(':Core')
compile 'org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT' compile 'org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT'
compile 'net.milkbowl.vault:VaultAPI:1.5' compile 'net.milkbowl.vault:VaultAPI:1.5'
} }
sourceCompatibility = 1.7
targetCompatibility = 1.7
processResources {
from('src/main/resources') {
include 'plugin.yml'
expand(
name: project.parent.name,
version: project.parent.version
)
}
}
apply plugin: 'com.github.johnrengelman.shadow'
shadowJar { shadowJar {
dependencies { dependencies {
include(dependency(':Core')) include(dependency(':Core'))
} }
archiveName = "${parent.name}-${project.name}-${parent.version}.jar"
} }
build.dependsOn(shadowJar) shadowJar.doLast {
task ->
ant.checksum file: task.archivePath
}
build.dependsOn(shadowJar);

View file

@ -1,6 +1,6 @@
name: PlotSquared name: ${name}
main: com.plotsquared.bukkit.BukkitMain main: com.plotsquared.bukkit.BukkitMain
version: 3.3.0 version: ${version}
load: STARTUP load: STARTUP
description: > description: >
Easy, yet powerful Plot World generation and management. Easy, yet powerful Plot World generation and management.

View file

@ -1,2 +1,3 @@
apply plugin: 'eclipse' dependencies {
apply plugin: 'idea' compile 'org.yaml:snakeyaml:1.16'
}

View file

@ -1,6 +1,3 @@
apply plugin: 'eclipse'
apply plugin: 'idea'
buildscript { buildscript {
repositories { repositories {
jcenter() jcenter()
@ -13,7 +10,9 @@ buildscript {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
} }
} }
apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'com.github.johnrengelman.shadow'
dependencies { dependencies {
compile project(':Core') compile project(':Core')
@ -33,7 +32,6 @@ repositories {
url = "https://repo.spongepowered.org/maven" url = "https://repo.spongepowered.org/maven"
} }
} }
minecraft { minecraft {
version = "1.8.9-11.15.1.1742" version = "1.8.9-11.15.1.1742"
mappings = "snapshot_20160204" mappings = "snapshot_20160204"
@ -48,10 +46,17 @@ processResources {
'mcVersion': project.minecraft.version 'mcVersion': project.minecraft.version
} }
} }
shadowJar { shadowJar {
dependencies { dependencies {
include(dependency(':Core')) include(dependency(':Core'))
} }
archiveName = "${parent.name}-${project.name}-${parent.version}.jar"
}
shadowJar.doLast {
task ->
ant.checksum file: task.archivePath
} }
reobf { reobf {

View file

@ -8,21 +8,25 @@ buildscript {
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
} }
} }
group = 'com.intellectualcrafters' group = 'com.intellectualcrafters'
version = '3.3.0' version = '3.3.0'
description = """PlotSquared""" description = """PlotSquared"""
subprojects { subprojects {
apply plugin: 'java' apply plugin: 'java'
apply plugin: 'maven' apply plugin: 'maven'
apply plugin: 'com.github.johnrengelman.shadow' apply plugin: 'eclipse'
apply plugin: 'idea'
jar.enabled = false;
dependencies { dependencies {
compile(group: 'com.sk89q', name: 'worldedit', version:'6.0.0-SNAPSHOT') { compile(group: 'com.sk89q', name: 'worldedit', version:'6.0.0-SNAPSHOT') {
exclude(module: 'bukkit-classloader-check') exclude(module: 'bukkit-classloader-check')
} }
compile 'org.yaml:snakeyaml:1.16'
} }
repositories { repositories {
mavenCentral() mavenCentral()
maven {url "http://empcraft.com/maven2"} maven {url "http://empcraft.com/maven2"}
@ -31,5 +35,4 @@ subprojects {
maven {url "http://nexus.theyeticave.net/content/repositories/pub_releases"} maven {url "http://nexus.theyeticave.net/content/repositories/pub_releases"}
maven {url "http://repo.maven.apache.org/maven2"} maven {url "http://repo.maven.apache.org/maven2"}
} }
}
}

3
gradle.properties Normal file
View file

@ -0,0 +1,3 @@
org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.parallel=true

View file

@ -8,7 +8,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<artifactId>PlotSquared</artifactId> <artifactId>PlotSquared</artifactId>
<version>3.2.26</version> <version>3.3.0</version>
<name>PlotSquared</name> <name>PlotSquared</name>
<packaging>jar</packaging> <packaging>jar</packaging>
<build> <build>

View file

@ -1,4 +1,3 @@
rootProject.name = 'PlotSquared' rootProject.name = 'PlotSquared'
include 'Core', 'Bukkit', 'Sponge' include 'Core', 'Bukkit', 'Sponge'