Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

build.gradle 4.6KB

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