123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- // DMDirc plugins build script
- subprojects {
- apply plugin: 'java'
- apply plugin: 'findbugs'
- apply plugin: 'pmd'
-
- configurations {
- bundle
-
- compile {
- extendsFrom bundle
- }
- }
-
- sourceSets {
- main {
- java {
- srcDir 'src'
- }
- resources {
- srcDir 'res'
- }
- }
- test {
- java {
- srcDir 'test'
- }
- resources {
- srcDir 'test-res'
- }
- }
- }
-
- sourceCompatibility = 1.8
- targetCompatibility = 1.8
-
- repositories {
- mavenCentral()
- maven {
- url 'http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/'
- }
- maven {
- url 'http://nexus.dmdirc.com/nexus/content/repositories/snapshots/'
- }
- maven {
- url 'http://nexus.dmdirc.com/nexus/content/repositories/releases/'
- }
- }
-
- dependencies {
- compile group: 'com.dmdirc', name: 'client', version: '+', changing: true
-
- compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
- compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.1'
-
- testCompile group: 'junit', name: 'junit', version: '4.11'
- testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5'
- }
-
- task copyPluginConfig(type: Copy) {
- from 'plugin.config'
- into "$buildDir"
- }
-
- task updatePluginConfig(dependsOn: copyPluginConfig) << {
- def gitDir = new File(projectDir.parent, '.git')
-
- def jgit = new org.mdonoughe.JGitDescribeTask()
- jgit.dir = gitDir
- jgit.subDir = projectDir
-
- ext.version = jgit.getDescription()
- def targetFile = new File(buildDir, 'plugin.config')
- targetFile << "\n\nversion:\n number=${version}"
-
- targetFile << "\n\nbuildenv:\n"
- def compileConfiguration = project.configurations.getByName("compile")
- def resolvedConfiguration = compileConfiguration.resolvedConfiguration
- def resolvedArtifacts = resolvedConfiguration.resolvedArtifacts
- resolvedArtifacts.each { dp ->
- def version = dp.moduleVersion.id
- targetFile << " " + version.group + " " + version.name + " " + version.version + "\n"
- }
- }
-
- pmd {
- ruleSets = []
- ruleSetFiles = files("$rootDir/etc/pmd/full.xml")
- }
-
- tasks.withType(FindBugs) {
- reports {
- html.enabled = true
- xml.enabled = false
- }
- }
-
- findbugs {
- reportLevel = 'low'
- effort = 'max'
- ignoreFailures = true
- }
-
- jar {
- from("$buildDir/plugin.config") {
- into 'META-INF'
- }
-
- from { configurations.bundle.collect { it.isDirectory() ? it : zipTree(it) } } {
- exclude 'META-INF/**'
- }
- }
-
- jar.doLast {
- copy {
- from jar.archivePath
- into "../dist/"
- rename ".*", "${project.name}.jar"
- }
- }
- jar.outputs.file "../dist/${project.name}.jar"
-
- jar.dependsOn updatePluginConfig
- }
-
- allprojects {
- configurations.all {
- resolutionStrategy.cacheDynamicVersionsFor 2, 'minutes'
- resolutionStrategy.cacheChangingModulesFor 2, 'minutes'
- }
- }
-
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/'
- }
- }
-
- dependencies {
- classpath group: 'com.github.shanemcc', name: 'jgit-describe', version: '0.5'
- classpath group: 'org.eclipse.jgit', name: 'org.eclipse.jgit', version: '2.3.1.+'
- }
- }
-
- task wrapper(type: Wrapper) {
- gradleVersion = '2.1'
- }
-
- subprojects.each { evaluationDependsOn it.path }
- task jar(dependsOn: subprojects*.jar)
- task test(dependsOn: subprojects*.test)
- tasks.dependencies.dependsOn subprojects*.tasks.dependencies
-
- def plugin(name) {
- if (allprojects.find { it.name == name }) {
- project(name)
- } else if (allprojects.find { it.name == 'plugins:' + name }) {
- project('plugins:' + name)
- } else if (allprojects.find { it.name == 'modules:plugins:' + name }) {
- project('modules:plugins:' + name)
- } else {
- println "Couldn't find project $name"
- }
- }
|