build.gradle 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. plugins {
  2. id "org.jetbrains.intellij" version '0.4.5'
  3. }
  4. apply plugin: 'kotlin'
  5. apply plugin: 'idea'
  6. apply plugin: 'maven'
  7. apply plugin: 'signing'
  8. javadoc {
  9. options.tags = ["date"]
  10. }
  11. task javadocJar(type: Jar, dependsOn: javadoc) {
  12. classifier = 'javadoc'
  13. from 'build/docs/javadoc'
  14. }
  15. task sourcesJar(type: Jar) {
  16. classifier = 'sources'
  17. from sourceSets.main.allSource
  18. }
  19. artifacts {
  20. archives jar
  21. archives javadocJar
  22. archives sourcesJar
  23. }
  24. def myPlugins = []
  25. def versionDotIndex = idea_version.indexOf('.')
  26. def intVersion = versionDotIndex == -1 ? Integer.parseInt(idea_version) : Integer.parseInt(idea_version.substring(0, versionDotIndex))
  27. if (intVersion >= 2019 || (intVersion < 1000 && intVersion >= 193)) {
  28. myPlugins = ['java']
  29. }
  30. intellij {
  31. version idea_version
  32. plugins = myPlugins
  33. pluginName plugin_name
  34. updateSinceUntilBuild false
  35. sandboxDirectory "$project.buildDir/idea-sandbox/$idea_version"
  36. }
  37. version '2.0.1'
  38. ext.isReleaseVersion = !version.endsWith("SNAPSHOT")
  39. dependencies {
  40. compile group: 'org.freemarker', name: 'freemarker', version: '2.3.25-incubating'
  41. compile 'com.alibaba.p3c:p3c-pmd:2.0.1'
  42. compile group: 'org.javassist', name: 'javassist', version: '3.21.0-GA'
  43. }
  44. uploadArchives {
  45. repositories {
  46. mavenDeployer {
  47. beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
  48. repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
  49. authentication(userName: findProperty('ossrhUsername'), password: findProperty('ossrhPassword'))
  50. }
  51. snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
  52. authentication(userName: findProperty('ossrhUsername'), password: findProperty('ossrhPassword'))
  53. }
  54. pom.project {
  55. name 'p3c-common'
  56. packaging 'jar'
  57. description 'P3c Idea Plugin Common.'
  58. url 'https://github.com/alibaba/p3c'
  59. scm {
  60. url 'https://github.com/alibaba/p3c'
  61. connection 'scm:git:https://git@github.com/alibaba/p3c.git'
  62. }
  63. licenses {
  64. license {
  65. name 'The Apache Software License, Version 2.0'
  66. url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
  67. distribution 'repo'
  68. }
  69. }
  70. developers {
  71. developer {
  72. id 'junlie'
  73. name 'Junlie'
  74. email 'sean.caikang@gmail.com'
  75. }
  76. developer {
  77. id 'ZengHou'
  78. name 'ZengHou'
  79. email 'fengwei1983@gmail.com'
  80. }
  81. }
  82. }
  83. }
  84. }
  85. }
  86. signing {
  87. required {
  88. isReleaseVersion && gradle.taskGraph.hasTask("uploadArchives")
  89. }
  90. sign configurations.archives
  91. }