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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. subprojects {
  2. group = 'com.dmdirc'
  3. apply plugin: 'com.dmdirc.git-version'
  4. apply plugin: 'maven-publish'
  5. apply plugin: 'java'
  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. publishing {
  16. publications {
  17. mavenJava(MavenPublication) {
  18. artifact jar
  19. pom.withXml {
  20. def root = asNode()
  21. root.appendNode('inceptionYear', '2006')
  22. root.appendNode('url', 'http://www.dmdirc.com/')
  23. root.appendNode('name', "${group}:${artifactId}")
  24. root.appendNode('description', project.name == 'common'
  25. ? 'Framework for building parsers for connecting to chat networks '
  26. : 'IRC library')
  27. def scm = root.appendNode('scm')
  28. scm.appendNode('url', 'https://github.com/DMDirc/parser')
  29. scm.appendNode('connection', 'scm:https://github.com/DMDirc/Parser.git')
  30. scm.appendNode('developerConnection', 'scm:ssh://git@github.com:DMDirc/Parser.git')
  31. def license = root.appendNode('licenses').appendNode('license')
  32. license.appendNode('name', 'MIT License')
  33. license.appendNode('url', 'http://www.opensource.org/licenses/mit-license.php')
  34. license.appendNode('distribution', 'repo')
  35. def issues = root.appendNode('issueManagement')
  36. issues.appendNode('system', 'GitHub Issues')
  37. issues.appendNode('url', 'https://github.com/DMDirc/Parser/issues')
  38. def developers = root.appendNode('developers')
  39. def chris = developers.appendNode('developer')
  40. chris.appendNode('name', 'Chris Smith')
  41. chris.appendNode('email', 'chris@dmdirc.com')
  42. def greg = developers.appendNode('developer')
  43. greg.appendNode('name', 'Greg Holmes')
  44. greg.appendNode('email', 'greg@dmdirc.com')
  45. def shane = developers.appendNode('developer')
  46. shane.appendNode('name', 'Shane McCormack')
  47. shane.appendNode('email', 'shane@dmdirc.com')
  48. def dependenciesNode = asNode().appendNode('dependencies')
  49. configurations.compile.allDependencies.each {
  50. def dependencyNode = dependenciesNode.appendNode('dependency')
  51. dependencyNode.appendNode('groupId', it.group)
  52. dependencyNode.appendNode('artifactId', it.name)
  53. dependencyNode.appendNode('version', it.version)
  54. }
  55. configurations.testCompile.allDependencies.each {
  56. def dependencyNode = dependenciesNode.appendNode('dependency')
  57. dependencyNode.appendNode('groupId', it.group)
  58. dependencyNode.appendNode('artifactId', it.name)
  59. dependencyNode.appendNode('version', it.version)
  60. dependencyNode.appendNode('scope', 'test')
  61. }
  62. }
  63. }
  64. }
  65. repositories {
  66. maven {
  67. name = "GitHubPackages"
  68. url = uri("https://maven.pkg.github.com/dmdirc/parser")
  69. credentials {
  70. username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
  71. password = project.findProperty("gpr.key") ?: System.getenv("PASSWORD")
  72. }
  73. }
  74. maven {
  75. name = "Reposilite"
  76. if (project.version.endsWith('-SNAPSHOT')) {
  77. url = uri("https://artifactory.dmdirc.com/snapshots")
  78. } else {
  79. url = uri("https://artifactory.dmdirc.com/releases")
  80. }
  81. credentials {
  82. username = project.findProperty("reposiliteUser") ?: System.getenv('REPOSILITE_USER')
  83. password = project.findProperty("reposiliteToken") ?: System.getenv('REPOSILITE_TOKEN')
  84. }
  85. authentication {
  86. basic(BasicAuthentication)
  87. }
  88. }
  89. }
  90. }
  91. sourceCompatibility = 1.8
  92. targetCompatibility = 1.8
  93. repositories.mavenCentral()
  94. dependencies {
  95. compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.1'
  96. compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.5'
  97. compile group: 'com.google.auto.value', name: 'auto-value', version: '1.6'
  98. compile group: 'com.google.auto.value', name: 'auto-value-annotations', version: '1.6'
  99. compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.21'
  100. compile group: 'com.squareup.dagger', name: 'dagger', version: '1.2.5'
  101. compile group: 'com.google.guava', name:'guava', version: '19.0'
  102. compile group: 'net.engio', name: 'mbassador', version: '1.3.0'
  103. compile group: 'de.odysseus.juel', name: 'juel-api', version: '2.2.7'
  104. compile group: 'de.odysseus.juel', name: 'juel-impl', version: '2.2.7'
  105. compile group: 'de.odysseus.juel', name: 'juel-spi', version: '2.2.7'
  106. testCompile group: 'junit', name: 'junit', version: '4.12'
  107. testCompile group: 'org.mockito', name: 'mockito-core', version: '2.2.7'
  108. }
  109. task publishSnapshot(dependsOn: 'publishMavenJavaPublicationToReposiliteRepository') << {
  110. }
  111. task javadocJar(type: Jar) {
  112. classifier = 'javadoc'
  113. from javadoc
  114. }
  115. task sourcesJar(type: Jar) {
  116. classifier = 'sources'
  117. from sourceSets.main.allSource
  118. }
  119. artifacts {
  120. archives javadocJar, sourcesJar
  121. }
  122. }
  123. task wrapper(type: Wrapper) {
  124. gradleVersion = '3.1'
  125. }
  126. def find(name) {
  127. if (allprojects.find { it.name == name }) {
  128. project(name)
  129. } else if (allprojects.find { it.name == 'parser-' + name }) {
  130. project('parser-' + name)
  131. } else if (allprojects.find { it.name == 'parser:' + name }) {
  132. project('parser:' + name)
  133. } else if (allprojects.find { it.name == 'modules:parser:' + name }) {
  134. project('modules:parser:' + name)
  135. } else {
  136. println "Couldn't find project $name"
  137. }
  138. }
  139. buildscript {
  140. repositories {
  141. mavenCentral()
  142. jcenter()
  143. }
  144. dependencies {
  145. classpath group: 'com.dmdirc', name: 'git-version', version: '1.0'
  146. classpath group: 'org.kt3k.gradle.plugin', name: 'coveralls-gradle-plugin', version: '2.6.3'
  147. }
  148. }
  149. apply from: 'gradle/coveralls.gradle'