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 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. configurations {
  2. bundle
  3. compile {
  4. extendsFrom bundle
  5. }
  6. }
  7. dependencies {
  8. compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
  9. compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.1'
  10. bundle group: 'com.squareup.dagger', name: 'dagger', version: '1.2.1'
  11. bundle group: 'com.esotericsoftware.yamlbeans', name: 'yamlbeans', version: '1.08'
  12. bundle group: 'com.brsanthu', name: 'migbase64', version: '2.2'
  13. bundle group: 'net.kencochrane.raven', name: 'raven', version: '5.0.1'
  14. bundle group: 'com.google.guava', name:'guava', version: '18.0'
  15. bundle group: 'net.engio', name: 'mbassador', version: '1.2.0'
  16. bundle group: 'com.dmdirc', name: 'util', version: '+', changing: true
  17. bundle group: 'com.dmdirc.parser', name: 'common', version: '+', changing: true
  18. }
  19. allprojects {
  20. apply plugin: 'java'
  21. apply plugin: 'findbugs'
  22. apply plugin: 'pmd'
  23. sourceSets {
  24. main {
  25. java {
  26. srcDir 'src'
  27. }
  28. resources {
  29. srcDir 'res'
  30. }
  31. }
  32. test {
  33. java {
  34. srcDir 'test'
  35. }
  36. resources {
  37. srcDir 'test-res'
  38. }
  39. }
  40. }
  41. sourceCompatibility = 1.7
  42. targetCompatibility = 1.7
  43. repositories {
  44. mavenCentral()
  45. maven {
  46. url 'http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/'
  47. }
  48. maven {
  49. url 'http://nexus.dmdirc.com/nexus/content/repositories/snapshots/'
  50. }
  51. }
  52. dependencies {
  53. testCompile group: 'junit', name: 'junit', version: '4.11'
  54. testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5'
  55. testCompile group: 'com.google.jimfs', name: 'jimfs', version: '1.0'
  56. }
  57. pmd {
  58. ruleSets = []
  59. ruleSetFiles = files("$rootDir/etc/pmd/full.xml")
  60. }
  61. tasks.withType(FindBugs) {
  62. reports {
  63. html.enabled = true
  64. xml.enabled = false
  65. }
  66. }
  67. findbugs {
  68. reportLevel = 'low'
  69. effort = 'max'
  70. ignoreFailures = true
  71. }
  72. }
  73. task createVersionConfig << {
  74. def gitDir = new File(projectDir, '.git')
  75. def jgit = new org.mdonoughe.JGitDescribeTask()
  76. jgit.dir = gitDir
  77. version = jgit.getDescription()
  78. def targetFile = new File(buildDir, 'version.config')
  79. targetFile.text = ''
  80. targetFile << "keysections:\n identity\n version\n updater\n bundledplugins_versions\n\n"
  81. targetFile << "identity:\n name=DMDirc version information\n globaldefault=true\n order=95000\n\n"
  82. targetFile << "version:\n version=${version}\n\n"
  83. targetFile << "updater:\n channel=${updaterChannel}\n\n"
  84. targetFile << "buildenv:\n"
  85. def compileConfiguration = project.configurations.getByName("compile")
  86. def resolvedConfiguration = compileConfiguration.resolvedConfiguration
  87. def resolvedArtifacts = resolvedConfiguration.resolvedArtifacts
  88. resolvedArtifacts.each { dp ->
  89. def version = dp.moduleVersion.id
  90. targetFile << " " + version.group + " " + version.name + " " + version.version + "\n"
  91. }
  92. // Copy to the build directory so it's accessible during tests
  93. java.nio.file.Files.copy(targetFile.toPath(),
  94. sourceSets.main.output.classesDir.toPath().resolve('com').resolve('dmdirc').resolve('version.config'),
  95. java.nio.file.StandardCopyOption.REPLACE_EXISTING);
  96. }
  97. jar.dependsOn createVersionConfig
  98. test.dependsOn createVersionConfig
  99. jar {
  100. from("$buildDir/version.config") {
  101. into 'com/dmdirc/'
  102. }
  103. from { configurations.bundle.collect { it.isDirectory() ? it : zipTree(it) } } {
  104. exclude 'META-INF/**'
  105. }
  106. }
  107. buildscript {
  108. repositories {
  109. mavenCentral()
  110. maven {
  111. url 'http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/'
  112. }
  113. }
  114. dependencies {
  115. classpath group: 'com.github.shanemcc', name: 'jgit-describe', version: '0.5'
  116. classpath group: 'org.eclipse.jgit', name: 'org.eclipse.jgit', version: '2.3.1.+'
  117. }
  118. }
  119. task wrapper(type: Wrapper) {
  120. gradleVersion = '2.1'
  121. }