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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import org.mdonoughe.JGitDescribeTask
  2. apply plugin: 'java'
  3. apply plugin: 'maven-publish'
  4. group = 'com.dmdirc'
  5. sourceSets {
  6. main {
  7. java {
  8. srcDir 'src'
  9. }
  10. }
  11. test {
  12. java {
  13. srcDir 'test'
  14. }
  15. resources {
  16. srcDir 'test-res'
  17. }
  18. }
  19. }
  20. sourceCompatibility = 1.8
  21. targetCompatibility = 1.8
  22. repositories.mavenCentral()
  23. dependencies {
  24. compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
  25. testCompile group: 'junit', name: 'junit', version: '4.11'
  26. testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5'
  27. testCompile group: 'com.google.jimfs', name: 'jimfs', version: '1.0'
  28. }
  29. publishing {
  30. publications {
  31. mavenJava(MavenPublication) {
  32. from components.java
  33. }
  34. }
  35. repositories {
  36. maven {
  37. name 'snapshots'
  38. url 'http://nexus.dmdirc.com/nexus/content/repositories/snapshots/'
  39. }
  40. }
  41. }
  42. task wrapper(type: Wrapper) {
  43. gradleVersion = '2.1'
  44. }
  45. task getCredentials << {
  46. def target = file('nexus-teamcity.gradle')
  47. if (!target.exists()) {
  48. new URL('http://www.dmdirc.com/private/nexus-teamcity.gradle').withInputStream{
  49. i -> target.withOutputStream { it << i }
  50. }
  51. }
  52. apply from: 'nexus-teamcity.gradle'
  53. project.publishing.repositories[0].credentials {
  54. username "$nexusUser"
  55. password "$nexusPass"
  56. }
  57. }
  58. task getVersion << {
  59. def jgit = new org.mdonoughe.JGitDescribeTask()
  60. jgit.setDir(new File("$rootDir", '.git'))
  61. project.version = jgit.getDescription() + '-SNAPSHOT'
  62. project.tasks.withType(PublishToMavenRepository) {
  63. publishTask -> publishTask.publication.version = project.version
  64. }
  65. project.tasks.withType(GenerateMavenPom).each {
  66. generateMavenPomTask -> generateMavenPomTask.pom.getProjectIdentity().version = project.version
  67. }
  68. }
  69. task publishSnapshot(dependsOn: ['getCredentials', 'getVersion', 'publishMavenJavaPublicationToSnapshotsRepository']) << {
  70. }
  71. buildscript {
  72. repositories {
  73. mavenCentral()
  74. maven {
  75. url 'http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/'
  76. }
  77. }
  78. dependencies {
  79. classpath group: 'com.github.shanemcc', name: 'jgit-describe', version: '0.5'
  80. classpath group: 'org.eclipse.jgit', name: 'org.eclipse.jgit', version: '2.3.1.+'
  81. }
  82. }