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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. subprojects {
  2. group = 'com.dmdirc'
  3. apply plugin: 'com.dmdirc.git-version'
  4. apply plugin: 'maven-publish'
  5. apply plugin: 'java'
  6. apply from: '../gradle/coverage.gradle'
  7. sourceSets {
  8. main.java.srcDirs = ['src']
  9. test.java.srcDirs = ['test']
  10. }
  11. publishing {
  12. publications {
  13. mavenJava(MavenPublication) {
  14. artifact jar
  15. pom.withXml {
  16. def root = asNode()
  17. root.appendNode('inceptionYear', '2006')
  18. root.appendNode('url', 'http://www.dmdirc.com/')
  19. root.appendNode('name', "${group}:${artifactId}")
  20. root.appendNode('description', project.name == 'common'
  21. ? 'Framework for building parsers for connecting to chat networks '
  22. : 'IRC library')
  23. def scm = root.appendNode('scm')
  24. scm.appendNode('url', 'https://github.com/DMDirc/parser')
  25. scm.appendNode('connection', 'scm:https://github.com/DMDirc/Parser.git')
  26. scm.appendNode('developerConnection', 'scm:ssh://git@github.com:DMDirc/Parser.git')
  27. def license = root.appendNode('licenses').appendNode('license')
  28. license.appendNode('name', 'MIT License')
  29. license.appendNode('url', 'http://www.opensource.org/licenses/mit-license.php')
  30. license.appendNode('distribution', 'repo')
  31. def issues = root.appendNode('issueManagement')
  32. issues.appendNode('system', 'GitHub Issues')
  33. issues.appendNode('url', 'https://github.com/DMDirc/Parser/issues')
  34. def developers = root.appendNode('developers')
  35. def chris = developers.appendNode('developer')
  36. chris.appendNode('name', 'Chris Smith')
  37. chris.appendNode('email', 'chris@dmdirc.com')
  38. def greg = developers.appendNode('developer')
  39. greg.appendNode('name', 'Greg Holmes')
  40. greg.appendNode('email', 'greg@dmdirc.com')
  41. def shane = developers.appendNode('developer')
  42. shane.appendNode('name', 'Shane McCormack')
  43. shane.appendNode('email', 'shane@dmdirc.com')
  44. def dependenciesNode = asNode().appendNode('dependencies')
  45. configurations.compile.allDependencies.each {
  46. def dependencyNode = dependenciesNode.appendNode('dependency')
  47. dependencyNode.appendNode('groupId', it.group)
  48. dependencyNode.appendNode('artifactId', it.name)
  49. dependencyNode.appendNode('version', it.version)
  50. }
  51. configurations.testCompile.allDependencies.each {
  52. def dependencyNode = dependenciesNode.appendNode('dependency')
  53. dependencyNode.appendNode('groupId', it.group)
  54. dependencyNode.appendNode('artifactId', it.name)
  55. dependencyNode.appendNode('version', it.version)
  56. dependencyNode.appendNode('scope', 'test')
  57. }
  58. }
  59. }
  60. }
  61. repositories {
  62. maven {
  63. name 'snapshots'
  64. url 'http://artifactory.dmdirc.com/artifactory/repo'
  65. }
  66. }
  67. }
  68. sourceCompatibility = 1.8
  69. targetCompatibility = 1.8
  70. repositories.mavenCentral()
  71. dependencies {
  72. compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.1'
  73. compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.5'
  74. compile group: 'com.google.auto.value', name: 'auto-value', version: '1.2'
  75. compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.21'
  76. compile group: 'com.squareup.dagger', name: 'dagger', version: '1.2.5'
  77. compile group: 'com.google.guava', name:'guava', version: '19.0'
  78. compile group: 'net.engio', name: 'mbassador', version: '1.2.4.2'
  79. compile group: 'de.odysseus.juel', name: 'juel-api', version: '2.2.7'
  80. compile group: 'de.odysseus.juel', name: 'juel-impl', version: '2.2.7'
  81. compile group: 'de.odysseus.juel', name: 'juel-spi', version: '2.2.7'
  82. testCompile group: 'junit', name: 'junit', version: '4.12'
  83. testCompile group: 'org.mockito', name: 'mockito-core', version: '1.10.19'
  84. }
  85. task publishSnapshot(dependsOn: 'publishMavenJavaPublicationToSnapshotsRepository') << {
  86. }
  87. task javadocJar(type: Jar) {
  88. classifier = 'javadoc'
  89. from javadoc
  90. }
  91. task sourcesJar(type: Jar) {
  92. classifier = 'sources'
  93. from sourceSets.main.allSource
  94. }
  95. artifacts {
  96. archives javadocJar, sourcesJar
  97. }
  98. }
  99. task wrapper(type: Wrapper) {
  100. gradleVersion = '2.13'
  101. }
  102. def find(name) {
  103. if (allprojects.find { it.name == name }) {
  104. project(name)
  105. } else if (allprojects.find { it.name == 'parser-' + name }) {
  106. project('parser-' + name)
  107. } else if (allprojects.find { it.name == 'parser:' + name }) {
  108. project('parser:' + name)
  109. } else if (allprojects.find { it.name == 'modules:parser:' + name }) {
  110. project('modules:parser:' + name)
  111. } else {
  112. println "Couldn't find project $name"
  113. }
  114. }
  115. buildscript {
  116. repositories {
  117. mavenCentral()
  118. jcenter()
  119. }
  120. dependencies {
  121. classpath group: 'com.dmdirc', name: 'git-version', version: '1.0'
  122. classpath group: 'org.kt3k.gradle.plugin', name: 'coveralls-gradle-plugin', version: '2.6.3'
  123. }
  124. }
  125. apply from: 'gradle/coveralls.gradle'