본문 바로가기

Gradle

[gradle] build.gradle for crescent

1. crescent/build.gradle
// -Pprofile=값
ext {
DEFAULT_PROFILE = 'local'
webProjects = ['crescent_core_web']
javaVersion = '1.6'
javaEncoding = 'UTF-8'
tmpDir = System.getProperty('java.io.tmpdir')
}
allprojects {
if (!project.hasProperty('profile') || !profile) {
ext.profile = DEFAULT_PROFILE
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
buildDir = 'target'
task hello << {
println "${project.name} - ${profile}"
}
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
[compileJava, compileTestJava]*.options*.encoding = javaEncoding
repositories {
maven {
url "https://github.com/need4spd/need4spd-maven-repo/raw/master/snapshots"
}
maven {
url "http://repository.springsource.com/maven/bundles/release"
}
maven {
url "http://repository.springsource.com/maven/bundles/external"
}
mavenCentral()
}
sourceSets {
// SQL Mapper의 *.xml때문에 java 디렉토리를 resource에 추가해야한다.
main {
resources {
srcDir "${project.projectDir}/src/main/resources-${profile}"
//srcDir "${project.projectDir}/src/main/java"
}
}
}
task compile(dependsOn: ['compileJava', 'compileTestJava']) {
description = 'Compile all main/test sources'
group = 'build'
doLast {
println 'Compiling java/test sources....'
}
}
test {
jvmArgs = ['-ea', '-Xmx256m']
logging.captureStandardOutput(LogLevel.INFO)
//testReport = false
}
tasks.eclipse.dependsOn cleanEclipse
eclipse {
classpath {
downloadSources = true
defaultOutputDir = file("${buildDir}/classes/main")
}
jdt {
file {
withProperties {
properties -> properties.setProperty("encoding//src/main/java", "utf-8")
properties.setProperty("encoding//src/main/resources", "utf-8")
properties.setProperty("encoding//src/test/java", "utf-8")
properties.setProperty("encoding//src/test/resources", "utf-8")
}
}
}
}
}
//configure Web Projects
configure(subprojects.findAll { webProjects.contains(it.name) }) {
apply plugin: 'war'
webAppDirName = 'webapp'
eclipse {
classpath {
downloadSources=true
}
wtp {
component {
contextPath = '/'
}
facet {
facets = facets
//facet name: 'jst.web', version: '2.5'
facet name: 'jst.java', version: '6.0'
}
}
project {
natures 'com.google.gwt.eclipse.core.gwtNature'
natures 'org.springframework.ide.eclipse.core.springnature'
buildCommand 'org.springframework.ide.eclipse.core.springbuilder'
}
}
eclipseJdt << {
File f = file('.settings/org.eclipse.core.resources.prefs')
f.write('eclipse.preferences.version=1\n')
f.append('encoding/<project>=utf-8')
}
// Clean시에 /src/main/webapp/WEB-INF/classes|lib 삭제
clean {
delete project.file('/src/main/webapp/WEB-INF/classes'), project.file('/src/main/webapp/WEB-INF/lib')
}
}
view raw build.gradle hosted with ❤ by GitHub

2. crescent_core_web/build.gradle
group = 'com.tistory.devyongsik'
version = '0.5-SNAPSHOT'
dependencies {
compile(
[group: 'junit', name: 'junit', version: '4.10'],
[group: 'org.apache.lucene', name: 'lucene-core', version: '3.6.1'],
[group: 'org.slf4j', name: 'slf4j-api', version: '1.6.6'],
[group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.6.6'],
[group: 'org.slf4j', name: 'slf4j-simple', version: '1.6.6'],
[group: 'org.twitter4j', name: 'twitter4j-core', version: '2.1.4'],
[group: 'org.apache.lucene', name: 'lucene-highlighter', version: '3.6.1'],
[group: 'org.springframework', name: 'org.springframework.web.servlet', version: '3.1.2.RELEASE'],
[group: 'org.springframework', name: 'org.springframework.web', version: '3.1.2.RELEASE'],
[group: 'org.springframework', name: 'org.springframework.core', version: '3.1.2.RELEASE'],
[group: 'org.springframework', name: 'org.springframework.test', version: '3.1.2.RELEASE'],
[group: 'com.google.code.gson', name: 'gson', version: '2.2.2'],
[group: 'jaxen', name: 'jaxen', version: '1.1.4'],
[group: 'dom4j', name: 'dom4j', version: '1.6.1'],
[group: 'javax.servlet', name: 'servlet-api', version: '2.5'],
[group: 'com.tistory.devyongsik', name: 'luceneKoreanAnalyzer', version: '0.5-SNAPSHOT'],
[group: 'commons-lang', name: 'commons-lang', version: '2.6'],
[group: 'commons-logging', name: 'commons-logging', version: '1.1.1'],
[group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.3'],
[group: 'net.htmlparser.jericho', name: 'jericho-html', version: '3.0'],
[group: 'javax.servlet', name: 'jstl', version: '1.2']
)
testRuntime(
[group: 'junit', name: 'junit', version: '4.10'],
[group: 'org.apache.lucene', name: 'lucene-core', version: '3.6.1'],
[group: 'org.slf4j', name: 'slf4j-api', version: '1.6.6'],
[group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.6.6'],
[group: 'org.slf4j', name: 'slf4j-simple', version: '1.6.6'],
[group: 'org.twitter4j', name: 'twitter4j-core', version: '2.1.4'],
[group: 'org.apache.lucene', name: 'lucene-highlighter', version: '3.6.1'],
[group: 'org.springframework', name: 'org.springframework.web.servlet', version: '3.1.2.RELEASE'],
[group: 'org.springframework', name: 'org.springframework.web', version: '3.1.2.RELEASE'],
[group: 'org.springframework', name: 'org.springframework.core', version: '3.1.2.RELEASE'],
[group: 'org.springframework', name: 'org.springframework.test', version: '3.1.2.RELEASE'],
[group: 'com.google.code.gson', name: 'gson', version: '2.2.2'],
[group: 'jaxen', name: 'jaxen', version: '1.1.4'],
[group: 'dom4j', name: 'dom4j', version: '1.6.1'],
[group: 'javax.servlet', name: 'servlet-api', version: '2.5'],
[group: 'com.tistory.devyongsik', name: 'luceneKoreanAnalyzer', version: '0.5-SNAPSHOT'],
[group: 'commons-lang', name: 'commons-lang', version: '2.6'],
[group: 'commons-logging', name: 'commons-logging', version: '1.1.1'],
[group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.3'],
[group: 'net.htmlparser.jericho', name: 'jericho-html', version: '3.0']
)
}
view raw build.gradle hosted with ❤ by GitHub

3. crescent_utils/build.gradle
group = 'com.tistory.devyongsik'
version = '0.5-SNAPSHOT'
dependencies {
compile(
[group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4'],
[group: 'com.google.code.gson', name: 'gson', version: '2.2.2'],
[group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.3'],
[group: 'commons-pool', name: 'commons-pool', version: '1.6']
)
testRuntime(
[group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4'],
[group: 'com.google.code.gson', name: 'gson', version: '2.2.2'],
[group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.3'],
[group: 'commons-pool', name: 'commons-pool', version: '1.6']
)
}
view raw build.gradle hosted with ❤ by GitHub