mobibot/build.gradle
Erik C. Thauvin 62c011234e Upgraded to ROME 1.6.1
Added run arguments to build.gradle
2016-06-26 18:09:42 -07:00

151 lines
3.4 KiB
Groovy

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.coders-kitchen:compileonlyplugin:1.0.0'
}
}
plugins {
id "com.ewerk.gradle.plugins.annotation-processor" version "1.0.2"
id "com.github.ben-manes.versions" version "0.12.0"
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'application'
apply plugin: 'compileOnly'
defaultTasks 'deploy'
def packageName = 'net.thauvin.erik.mobibot'
def deployDir = 'deploy'
def isRelease = 'release' in gradle.startParameter.taskNames
def getVersion(isIncrement = false)
{
def propsFile = 'version.properties'
def majorKey = 'version.major'
def minorKey = 'version.minor'
def patchKey = 'version.patch'
def metaKey = 'version.buildmeta'
def preKey = 'version.prerelease'
if (isIncrement)
{
ant.propertyfile(file: propsFile) {
entry(key: patchKey,
type: 'int',
default: '-1',
operation: '+')
}
}
def p = new Properties()
file(propsFile).withInputStream { stream -> p.load(stream) }
def metadata = p.getProperty(metaKey, '')
def prerelease = p.getProperty(preKey, '')
return (p.getProperty(majorKey, '1') + '.' + p.getProperty(minorKey, '0') + '.' + p.getProperty(patchKey, '0') +
(prerelease.length() > 0 ? '-' + prerelease : '') + (metadata.length() > 0 ? '+' + metadata : ''))
}
version = getVersion()
mainClassName = packageName + '.Mobibot'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile 'log4j:log4j:1.2.17@jar'
compile 'pircbot:pircbot:1.5.0'
compile 'commons-codec:commons-codec:1.10'
compile 'commons-logging:commons-logging:1.2'
compile 'commons-net:commons-net:3.5'
compile 'commons-cli:commons-cli:1.3.1'
compile 'commons-httpclient:commons-httpclient:3.1'
compile 'oro:oro:2.0.8'
compile 'org.jsoup:jsoup:1.9.2'
compile 'com.rometools:rome:1.6.1'
compile 'org.json:json:20160212'
compile 'org.ostermiller:utils:1.07.00'
compile 'net.sourceforge.jweather:jweather:0.3.0@jar'
compile 'net.objecthunter:exp4j:0.4.7'
compile 'org.twitter4j:twitter4j-core:4.0.4'
compile 'net.sf.delicious-java:delicious:1.14'
compileOnly 'net.thauvin.erik:semver:0.9.5-beta'
}
annotationProcessor {
project.version = getVersion(isRelease)
library 'net.thauvin.erik:semver:0.9.5-beta'
processor 'net.thauvin.erik.semver.VersionProcessor'
}
compileJava {
options.compilerArgs << '-proc:none' << '-Xlint:unchecked' << '-Xlint:deprecation'
}
javadoc {
options.tags = ['created']
}
jar {
manifest.attributes('Main-Class': mainClassName,
'Class-Path': '. ./lib/' + configurations.compile.collect { it.getName() }.join(' ./lib/'))
version = null
}
clean {
delete deployDir
}
run {
args '--v'
}
task wrapper(type: Wrapper) {
gradleVersion = gradle.gradleVersion
}
task copyToDeploy(type: Copy) {
from('properties') {
include '*.properties'
}
from jar
into deployDir
}
task copyToDeployLib(type: Copy) {
from configurations.runtime
into deployDir + '/lib'
}
task deploy(dependsOn: ['build']) {
description = 'Copies all needed files to the ${deployDir} directory.'
group = 'Publishing'
outputs.dir deployDir
inputs.files copyToDeploy
inputs.files copyToDeployLib
doLast {
file(deployDir + '/logs').mkdir()
}
mustRunAfter clean
}
task release(dependsOn: ['deploy', 'wrapper']) << {
group = 'Publishing'
description = 'Releases new version.'
isRelease = true
}