1 //The current version of ariane
10 //In order to use the about and duplicates plugins
11 maven { url 'http://evgenyg.artifactoryonline.com/evgenyg/repo/' }
17 classpath 'com.github.goldin.plugins.gradle:about:0.2',
18 'com.github.goldin.plugins.gradle:duplicates:0.2',
19 'com.github.ben-manes:gradle-versions-plugin:0.3'
25 //In order to be able to use eclipse in all projects
26 apply plugin: 'eclipse'
28 //In order to be able to use intellij idea in all projects
33 downloadSources = false
34 downloadJavadoc = true
35 excludeDirs += file( 'out' )
41 ipr.withXml { provider -> provider.node.component.find { it.@name == 'VcsDirectoryMappings' }.mapping.@vcs = 'Git' }
47 //In order to apply the java template to all subprojects
50 //In order to create an report with project and build information
51 apply plugin: 'project-report'
53 //In order to create some information about the projects in their jars
56 //In order to check if the dependencies have an version bump
57 apply plugin: 'versions'
59 //In order to check for possible duplicated dependencies
60 apply plugin: 'duplicates'
62 //In order to create an distribution zip with the jars of this bundle
63 apply plugin: 'java-library-distribution'
65 //The name of the distribution, that is the name of the subproject
71 //Copy the readme.md and licence.txt files into the dist dir
84 mavenRepo url: 'http://download.java.net/maven/2/'
85 mavenRepo url: 'http://repository-netty.forge.cloudbees.com/snapshot/'
86 mavenRepo url: 'http://www.knopflerfish.org/maven2/'
87 //mavenRepo url: 'http://evgenyg.artifactoryonline.com/evgenyg/repo/'
90 //Task to create the directories needed for gradle in an newly created subproject
91 task "create-dirs" << {
92 sourceSets*.java.srcDirs*.each { it.mkdirs() }
93 sourceSets*.resources.srcDirs*.each { it.mkdirs() }
96 //The configurations to look for duplicates
99 configurations = [ 'compile', 'testCompile' ]
102 //The configurations to use in the about file
105 includeDependencies = [ 'compile', 'runtime' ]
109 //In order to add an about file to the final subproject jar
115 //Some common dependencies
118 //The slf4j logging api
119 compile 'org.slf4j:slf4j-api:1.7.2'
121 //The slf4j implementation, that is logback
122 compile('ch.qos.logback:logback-classic:1.0.9')
124 exclude group: 'com.h2database', module: 'h2'
125 exclude group: 'com.icegreen', module: 'greenmail'
126 exclude group: 'hsqldb', module: 'hsqldb'
127 exclude group: 'javax.mail', module: 'mail'
128 exclude group: 'javax.servlet', module: 'servlet-api'
129 exclude group: 'mysql', module: 'mysql-connector-java'
130 exclude group: 'org.apache.felix', module: 'org.apache.felix.main'
131 exclude group: 'org.apache.geronimo.specs', module: 'geronimo-jms_1.1_spec'
132 exclude group: 'org.codehaus.groovy', module: 'groovy-all'
133 exclude group: 'org.slf4j', module: 'log4j-over-slf4j'
134 exclude group: 'org.slf4j', module: 'slf4j-ext'
135 exclude group: 'org.subethamail', module: 'subethasmtp'
136 exclude group: 'postgresql', module: 'postgresql'
139 //An extension api for slf4j
140 compile('org.slf4j:slf4j-ext:1.7.2')
142 exclude group: 'org.slf4j', module: 'slf4j-log4j12'
145 //An implementation of jackarta commons loggins over slf4j
146 compile('org.slf4j:jcl-over-slf4j:1.7.2')
148 exclude group: 'org.slf4j', module: 'slf4j-jdk14'
151 //An implementation of log4j over slf4j
152 compile('org.slf4j:log4j-over-slf4j:1.7.2')
154 exclude group: 'org.slf4j', module: 'slf4j-jdk14'
157 //An implementation of osgi log manager using slf4j
158 compile('org.slf4j:osgi-over-slf4j:1.7.2')
160 exclude group: 'org.slf4j', module: 'slf4j-simple'
163 //An library to generate uuid based on time
164 compile('com.fasterxml.uuid:java-uuid-generator:3.1.3')
166 exclude group: 'junit', module: 'junit'
167 exclude group: 'log4j', module: 'log4j'
170 //An library of utilities created by google
171 compile 'com.google.guava:guava:14.0-rc2'
173 //An library to handle with time in a precise way
174 compile('joda-time:joda-time:2.1')
176 exclude group: 'junit', module: 'junit'
179 //The knopflerfish osgi framework
180 compile 'org.knopflerfish.framework:framework:5.3.3'
182 //The library used to test the subprojects
183 testCompile 'junit:junit:4.11'