blob: 12877b69d28ce32279ad04c554ef6030a01d9f08 [file] [log] [blame]
/*
* Copyright (c) 2011 Yahoo! Inc. All rights reserved.
*
* 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. See accompanying LICENSE file.
*/
/*
* To run type: "gradlew run"
*/
/* Include handy Gradle plugins. */
apply plugin: 'eclipse'
apply plugin: 'java'
apply plugin: "application"
apply plugin: "maven"
/* Main application to run ... */
//mainClassName = "io.s4.example.counter.MyApp"
mainClassName = "io.s4.example.model.Main"
/* Set a version number for your app. */
version = new Version(major: 0, minor: 1, releaseType: 'SNAPSHOT')
group = 'io.s4'
/* All project libraries must be defined here. */
libraries = [
json: 'org.json:json:20090211',
guava: 'com.google.guava:guava:r09',
gson: 'com.google.code.gson:gson:1.6',
guice: 'com.google.inject:guice:3.0',
guice_assist: 'com.google.inject.extensions:guice-assistedinject:3.0',
guice_grapher: 'com.google.inject:guice-grapher:3.0',
flexjson: 'net.sf.flexjson:flexjson:2.1',
bcel: 'org.apache.bcel:bcel:5.2',
jakarta_regexp: 'jakarta-regexp:jakarta-regexp:1.4',
kryo: 'com.googlecode:kryo:1.04',
netty: 'org.jboss.netty:netty:3.2.5.Final',
reflectasm: 'com.esotericsoftware:reflectasm:0.8',
minlog: 'com.esotericsoftware:minlog:1.2',
asm: 'asm:asm:3.2',
commons_io: 'commons-io:commons-io:2.0.1',
commons_config: 'commons-configuration:commons-configuration:1.6',
commons_codec: 'commons-codec:commons-codec:1.4',
commons_httpclient: 'commons-httpclient:commons-httpclient:3.1',
commons_coll: 'net.sourceforge.collections:collections-generic:4.01', // Use this lib until the commons collection with Generics is released.
slf4j: 'org.slf4j:slf4j-api:1.6.1',
logback_core: 'ch.qos.logback:logback-core:0.9.29',
logback_classic: 'ch.qos.logback:logback-classic:0.9.29',
ejml: 'com.googlecode.efficient-java-matrix-library:ejml:0.17',
jcip: 'net.jcip:jcip-annotations:1.0',
junit: 'junit:junit:4.4'
]
/* Set Java version. */
sourceCompatibility = 1.6
targetCompatibility = 1.6
/* Search these repos to find artifacts. Gradle will download and cache. */
repositories {
mavenLocal()
mavenCentral()
mavenRepo name: "gson", urls: "http://google-gson.googlecode.com/svn/mavenrepo"
/* Add lib dir as a repo. Some jar files that are not available
in a public repo are distributed in the lib dir. */
flatDir name: 'libDir', dirs: "$rootDir/lib"
}
/* Dependencies. */
dependencies {
compile( libraries.guava )
compile( libraries.guice )
compile( libraries.guice_assist )
compile( libraries.json)
compile( libraries.kryo)
compile( libraries.netty)
compile( libraries.gson)
compile( libraries.slf4j )
compile( libraries.logback_core )
compile( libraries.logback_classic )
compile( libraries.commons_io )
compile( libraries.commons_config )
compile( libraries.commons_codec )
compile( libraries.commons_httpclient )
compile( libraries.commons_coll )
compile( libraries.ejml )
compile( libraries.jcip )
testCompile( libraries.junit )
}
/* Customize your jar files. */
manifest.mainAttributes(
provider: 'gradle',
'Implementation-Url': 'http://s4.io',
'Implementation-Version': version,
'Implementation-Vendor': 'The S4 Project',
'Implementation-Vendor-Id': 'io.s4'
)
//eclipseClasspath {
// eclipse.classpath.downloadSources = false; // is this still needed?
//}
/* Generates the gradlew scripts.
http://www.gradle.org/1.0-milestone-3/docs/userguide/gradle_wrapper.html */
task wrapper(type: Wrapper) {
gradleVersion = '1.0-milestone-3'
}
class Version {
int major
int minor
int bugfix
String releaseType
String toString() {
"$major.$minor-$releaseType${bugfix ?: ''}"
}
}