You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.gradle 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. // DMDirc plugins build script
  2. import org.mdonoughe.JGitDescribeTask
  3. subprojects {
  4. apply plugin: 'java'
  5. apply plugin: 'findbugs'
  6. apply plugin: 'pmd'
  7. configurations {
  8. bundle
  9. compile {
  10. extendsFrom bundle
  11. }
  12. }
  13. sourceSets {
  14. main {
  15. java {
  16. srcDir 'src'
  17. }
  18. resources {
  19. srcDir 'res'
  20. }
  21. }
  22. test {
  23. java {
  24. srcDir 'test'
  25. }
  26. resources {
  27. srcDir 'test-res'
  28. }
  29. }
  30. }
  31. sourceCompatibility = 1.7
  32. targetCompatibility = 1.7
  33. repositories {
  34. mavenCentral()
  35. maven {
  36. url 'http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/'
  37. }
  38. maven {
  39. url 'http://nexus.dmdirc.com/nexus/content/repositories/snapshots/'
  40. }
  41. maven {
  42. url 'http://nexus.dmdirc.com/nexus/content/repositories/releases/'
  43. }
  44. }
  45. dependencies {
  46. compile group: 'com.dmdirc', name: 'client', version: '+', changing: true
  47. compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
  48. compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.1'
  49. testCompile group: 'junit', name: 'junit', version: '4.11'
  50. testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5'
  51. }
  52. task copyPluginConfig(type: Copy) {
  53. from 'plugin.config'
  54. into "$buildDir"
  55. }
  56. task updatePluginConfig(dependsOn: copyPluginConfig) << {
  57. def jgit = new org.mdonoughe.JGitDescribeTask()
  58. jgit.setDir(new File("$rootDir", '.git'))
  59. jgit.setSubDir("$projectDir")
  60. ext.version = jgit.getDescription()
  61. def targetFile = new File("$buildDir", 'plugin.config')
  62. targetFile << "\n\nversion:\n number=${version}"
  63. targetFile << "\n\nbuildenv:\n"
  64. def compileConfiguration = project.configurations.getByName("compile")
  65. def resolvedConfiguration = compileConfiguration.resolvedConfiguration
  66. def resolvedArtifacts = resolvedConfiguration.resolvedArtifacts
  67. resolvedArtifacts.each { dp ->
  68. def version = dp.getModuleVersion().getId()
  69. targetFile << " " + version.group + " " + version.name + " " + version.version + "\n"
  70. }
  71. }
  72. pmd {
  73. ruleSets = []
  74. ruleSetFiles = files("$rootDir/etc/pmd/full.xml")
  75. }
  76. tasks.withType(FindBugs) {
  77. reports {
  78. html.enabled = true
  79. xml.enabled = false
  80. }
  81. }
  82. findbugs {
  83. reportLevel = 'low'
  84. effort = 'max'
  85. ignoreFailures = true
  86. }
  87. jar {
  88. from("$buildDir/plugin.config") {
  89. into 'META-INF'
  90. }
  91. from { configurations.bundle.collect { it.isDirectory() ? it : zipTree(it) } } {
  92. exclude 'META-INF/**'
  93. }
  94. }
  95. jar.dependsOn updatePluginConfig
  96. }
  97. buildscript {
  98. repositories {
  99. mavenCentral()
  100. maven {
  101. url 'http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/'
  102. }
  103. }
  104. dependencies {
  105. classpath group: 'com.github.shanemcc', name: 'jgit-describe', version: '0.5'
  106. classpath group: 'org.eclipse.jgit', name: 'org.eclipse.jgit', version: '2.3.1.+'
  107. }
  108. }
  109. task wrapper(type: Wrapper) {
  110. gradleVersion = '2.1'
  111. }