133 lines
4.4 KiB
Groovy
133 lines
4.4 KiB
Groovy
dependsOn(':test-testng')
|
|
|
|
apply plugin: 'java'
|
|
apply plugin: 'maven'
|
|
apply plugin: 'eclipse'
|
|
|
|
archivesBaseName = "$project.archivesBaseName"
|
|
|
|
// make sure we jarjar things before we compile Java
|
|
compileJava.dependsOn << ":jarjar:jar"
|
|
|
|
processResources.doLast {
|
|
Properties versionProps = new Properties();
|
|
versionProps.setProperty("number", rootProject.version)
|
|
versionProps.setProperty("date", buildTimeStr)
|
|
|
|
File versionFile = new File(sourceSets.main.classesDir, "/org/elasticsearch/version.properties")
|
|
versionFile.parentFile.mkdirs()
|
|
versionFile.withOutputStream {
|
|
versionProps.store(it, '')
|
|
}
|
|
}
|
|
|
|
// no need to use the resource dir
|
|
sourceSets.main.resources.srcDirs 'src/main/java'
|
|
sourceSets.test.resources.srcDirs 'src/test/java'
|
|
|
|
dependencies {
|
|
compile files(rootProject.jarjarArchivePath)
|
|
|
|
compile('jline:jline:0.9.94') { transitive = false }
|
|
compile files(rootProject.file("lib/sigar/sigar-1.6.4.jar").absolutePath)
|
|
|
|
|
|
compile 'org.slf4j:slf4j-api:1.5.11'
|
|
compile('org.slf4j:slf4j-log4j12:1.5.11') { transitive = false }
|
|
compile('log4j:log4j:1.2.16') { transitive = false }
|
|
|
|
compile('net.java.dev.jna:jna:3.2.7') { transitive = false }
|
|
|
|
compile('org.apache.lucene:lucene-core:3.5.0') { transitive = false }
|
|
compile('org.apache.lucene:lucene-analyzers:3.5.0') { transitive = false }
|
|
compile('org.apache.lucene:lucene-queries:3.5.0') { transitive = false }
|
|
compile('org.apache.lucene:lucene-memory:3.5.0') { transitive = false }
|
|
compile('org.apache.lucene:lucene-highlighter:3.5.0') { transitive = false }
|
|
}
|
|
|
|
configurations {
|
|
deployerJars
|
|
tools
|
|
}
|
|
|
|
dependencies {
|
|
deployerJars "org.apache.maven.wagon:wagon-http:1.0-beta-2"
|
|
}
|
|
|
|
jar {
|
|
// from sourceSets.main.allJava
|
|
manifest {
|
|
attributes("Implementation-Title": "ElasticSearch", "Implementation-Version": rootProject.version, "Implementation-Date": buildTimeStr)
|
|
}
|
|
}
|
|
|
|
jar << {
|
|
mergedArchivePath = new File(jar.archivePath.absolutePath + ".merged.jar")
|
|
project.ant {
|
|
jar(destfile: mergedArchivePath) {
|
|
zipFileSet(src: jar.archivePath)
|
|
zipFileSet(src: rootProject.jarjarArchivePath)
|
|
}
|
|
delete(file: jar.archivePath)
|
|
move(file: mergedArchivePath, tofile: jar.archivePath)
|
|
}
|
|
}
|
|
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
classifier = 'sources'
|
|
from sourceSets.main.allSource
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
archives javadocJar
|
|
}
|
|
|
|
uploadArchives {
|
|
repositories.mavenDeployer {
|
|
configuration = configurations.deployerJars
|
|
repository(url: rootProject.mavenRepoUrl) {
|
|
authentication(userName: rootProject.mavenRepoUser, password: rootProject.mavenRepoPass)
|
|
}
|
|
snapshotRepository(url: rootProject.mavenSnapshotRepoUrl) {
|
|
authentication(userName: rootProject.mavenRepoUser, password: rootProject.mavenRepoPass)
|
|
}
|
|
|
|
pom.project {
|
|
inceptionYear '2009'
|
|
name 'elasticsearch'
|
|
description 'Open Source, Distributed, RESTful Search Engine'
|
|
licenses {
|
|
license {
|
|
name 'The Apache Software License, Version 2.0'
|
|
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
distribution 'repo'
|
|
}
|
|
}
|
|
scm {
|
|
connection 'git://github.com/elasticsearch/elasticsearch.git'
|
|
developerConnection 'git@github.com:elasticsearch/elasticsearch.git'
|
|
url 'http://github.com/elasticsearch/elasticsearch'
|
|
}
|
|
}
|
|
|
|
pom.whenConfigured {pom ->
|
|
pom.dependencies = pom.dependencies.findAll {dep -> dep.scope != 'test' } // removes the test scoped ones
|
|
pom.dependencies = pom.dependencies.findAll {dep -> !dep.artifactId.contains('jna') } // remove jna, its optional
|
|
pom.dependencies = pom.dependencies.findAll {dep -> !dep.artifactId.contains('jarjar') }
|
|
pom.dependencies = pom.dependencies.findAll {dep -> !dep.artifactId.contains('log4j') }
|
|
pom.dependencies = pom.dependencies.findAll {dep -> !dep.artifactId.contains('slf4j') }
|
|
pom.dependencies = pom.dependencies.findAll {dep -> !dep.artifactId.contains('jline') }
|
|
}
|
|
}
|
|
}
|
|
|
|
eclipseClasspath {
|
|
defaultOutputDir = file('build/eclipse-build')
|
|
}
|