Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

build.gradle 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. subprojects {
  2. apply plugin: 'com.dmdirc.git-version'
  3. apply plugin: 'java'
  4. apply plugin: 'findbugs'
  5. apply plugin: 'pmd'
  6. apply from: '../gradle/coverage.gradle'
  7. configurations {
  8. bundle
  9. compile {
  10. extendsFrom bundle
  11. }
  12. }
  13. sourceSets {
  14. main {
  15. java.srcDirs = ['src']
  16. resources.srcDirs = ['res']
  17. }
  18. test {
  19. java.srcDirs = ['test']
  20. resources.srcDirs = ['test-res']
  21. }
  22. }
  23. sourceCompatibility = 1.8
  24. targetCompatibility = 1.8
  25. repositories {
  26. mavenCentral()
  27. maven { url 'https://artifactory.dmdirc.com/artifactory/repo' }
  28. maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
  29. }
  30. dependencies {
  31. compile group: 'com.dmdirc', name: 'client', version: '+', changing: true
  32. compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.1'
  33. compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.4'
  34. testCompile group: 'junit', name: 'junit', version: '4.12'
  35. testCompile group: 'org.mockito', name: 'mockito-core', version: '1.10.19'
  36. pmd group: 'net.sourceforge.pmd', name: 'pmd-core', version: '5.4.1'
  37. pmd group: 'net.sourceforge.pmd', name: 'pmd-java', version: '5.4.1'
  38. }
  39. task copyPluginConfig(type: Copy) {
  40. from 'plugin.config'
  41. into "$buildDir"
  42. }
  43. task updatePluginConfig(dependsOn: copyPluginConfig) << {
  44. def targetFile = new File(buildDir, 'plugin.config')
  45. targetFile << "\n\nversion:\n number=${project.version}"
  46. targetFile << "\n\nbuildenv:\n"
  47. def compileConfiguration = project.configurations.getByName("compile")
  48. def resolvedConfiguration = compileConfiguration.resolvedConfiguration
  49. def resolvedArtifacts = resolvedConfiguration.resolvedArtifacts
  50. resolvedArtifacts.each { dp ->
  51. def version = dp.moduleVersion.id
  52. targetFile << " " + version.group + " " + version.name + " " + version.version + "\n"
  53. }
  54. }
  55. pmd {
  56. ruleSets = []
  57. ruleSetFiles = files("$rootDir/etc/pmd/full.xml")
  58. toolVersion = '5.2.3'
  59. ignoreFailures = true
  60. }
  61. pmdMain.doLast {
  62. copy {
  63. from pmd.reportsDir
  64. into "../pmd/"
  65. include "*.html"
  66. rename "main.html", "${project.name}-main.html"
  67. }
  68. }
  69. tasks.withType(FindBugs) {
  70. reports {
  71. html.enabled = true
  72. xml.enabled = false
  73. }
  74. }
  75. findbugs {
  76. reportLevel = 'low'
  77. effort = 'max'
  78. ignoreFailures = true
  79. }
  80. jar {
  81. from("$buildDir/plugin.config") {
  82. into 'META-INF'
  83. }
  84. from { configurations.bundle.collect { it.isDirectory() ? it : zipTree(it) } } {
  85. exclude 'META-INF/**'
  86. }
  87. }
  88. jar.doLast {
  89. copy {
  90. from jar.archivePath
  91. into "../dist/"
  92. rename ".*", "${project.name}.jar"
  93. }
  94. copy {
  95. from jar.archivePath
  96. into "../dist-versioned/"
  97. rename ".*", "${project.name}-${project.version}.jar"
  98. }
  99. }
  100. jar.outputs.file "../dist/${project.name}.jar"
  101. jar.outputs.file "../dist-versioned/${project.name}-${project.version}.jar"
  102. jar.dependsOn updatePluginConfig
  103. }
  104. allprojects {
  105. configurations.all {
  106. resolutionStrategy.cacheDynamicVersionsFor 2, 'minutes'
  107. resolutionStrategy.cacheChangingModulesFor 2, 'minutes'
  108. }
  109. }
  110. buildscript {
  111. repositories {
  112. mavenCentral()
  113. maven { url 'http://artifactory.dmdirc.com/artifactory/repo' }
  114. maven { url 'https://dl.bintray.com/dmdirc/releases/' }
  115. }
  116. dependencies {
  117. classpath group: 'com.dmdirc', name: 'git-version', version: '1.0'
  118. classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.6.3'
  119. }
  120. }
  121. task wrapper(type: Wrapper) {
  122. gradleVersion = '2.13'
  123. }
  124. subprojects.each { evaluationDependsOn it.path }
  125. task jar(dependsOn: subprojects*.jar)
  126. task test(dependsOn: subprojects*.test)
  127. tasks.dependencies.dependsOn subprojects*.tasks.dependencies
  128. def plugin(name) {
  129. if (allprojects.find { it.name == name }) {
  130. project(name)
  131. } else if (allprojects.find { it.name == 'plugins:' + name }) {
  132. project('plugins:' + name)
  133. } else if (allprojects.find { it.name == 'modules:plugins:' + name }) {
  134. project('modules:plugins:' + name)
  135. } else {
  136. println "Couldn't find project $name"
  137. }
  138. }
  139. apply from: 'gradle/coveralls.gradle'