Guest User

Untitled

a guest
Dec 26th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. import io.swagger.codegen.config.CodegenConfigurator
  2. import io.swagger.codegen.DefaultGenerator
  3.  
  4. def swaggerSourceFile = "${project.rootDir}/build/generated/swagger-json/swagger.json"
  5. def swaggerTargetFolder = 'build/generated/java/src/main/java'
  6. task generateApi {
  7. inputs.file("$swaggerSourceFile")
  8. outputs.dir("$projectDir/$swaggerTargetFolder")
  9. doLast {
  10. def config = new CodegenConfigurator()
  11. config.setInputSpec("$swaggerSourceFile")
  12. config.setOutputDir("$projectDir/$swaggerTargetFolder")
  13. config.setLang('java')
  14. config.setAdditionalProperties([
  15. 'apiPackage' : 'com.xyz.abc.testmanager.controller',
  16. 'modelPackage' : 'com.xyz.abc.testmanager.model',
  17. 'sourceFolder' : swaggerTargetFolder,
  18. 'groupId' : 'com.xyz.abc',
  19. "artifactId" : 'testmanager',
  20. 'pom.version' : '1.0.' + System.getenv('BUILD_NUMBER')
  21. ])
  22. new DefaultGenerator().opts(config.toClientOptInput()).generate()
  23. }
  24. }
  25.  
  26. clean.doFirst {
  27. delete(swaggerTargetFolder)
  28. }
  29.  
  30. configurations {
  31. generatedCompile
  32. }
  33.  
  34. sourceSets {
  35. generated {
  36. compileClasspath = configurations.generatedCompile
  37. java {
  38. srcDir file("${project.buildDir.path}/swagger/src/main/java")
  39. }
  40. }
  41. main {
  42. compileClasspath += generated.output
  43. runtimeClasspath += generated.output
  44. }
  45. test {
  46. compileClasspath += generated.output
  47. runtimeClasspath += generated.output
  48. }
  49. }
  50.  
  51. def ifJenkins = System.getenv('BUILD_NUMBER') != null ? true : false
  52. uploadArchives {
  53. repositories {
  54. mavenDeployer {
  55. if(ifJenkins){
  56. repository(url: "http://maven.cloud.test:8081/nexus/content/repositories/releases/") {
  57. authentication(userName: System.getenv('MAVEN_CREDS'), password: System.getenv('MAVEN_CREDS_PASSWORD'))
  58. }
  59. }
  60. else
  61. {
  62. repository(url: "http://maven.cloud.test:8081/nexus/content/repositories/releases/") {
  63. authentication(userName: 'test', password: 'test')
  64. }
  65. }
  66.  
  67. if(ifJenkins){
  68. pom.version = "1.0." + System.getenv('BUILD_NUMBER')
  69. pom.groupId = "com.xyz.central"
  70. } else{
  71. pom.version = "0.0." + System.currentTimeMillis()
  72. pom.groupId = "com.xyz.central"
  73. }
  74. pom.artifactId = jar.baseName
  75. pom.packaging = "jar"
  76. pom.name = "Test Manager Client"
  77. }
  78. }
  79. }
Add Comment
Please, Sign In to add comment