github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/build.gradle.mustache (about)

     1  buildscript {
     2      repositories {
     3          maven { url "https://repo1.maven.org/maven2" }
     4          jcenter()
     5      }
     6      dependencies {
     7          classpath 'com.android.tools.build:gradle:2.3.+'
     8          classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
     9      }
    10  }
    11  
    12  plugins {
    13    id 'java-library'
    14    id 'maven-publish'
    15  }
    16  
    17  apply plugin: 'idea'
    18  apply plugin: 'eclipse'
    19  
    20  group = '{{groupId}}'
    21  version = '{{artifactVersion}}'
    22  
    23  repositories {
    24      maven { url "https://repo1.maven.org/maven2" }
    25      jcenter()
    26  }
    27  
    28  if(hasProperty('target') && target == 'android') {
    29  
    30      apply plugin: 'com.android.library'
    31      apply plugin: 'com.github.dcendents.android-maven'
    32  
    33      android {
    34          compileSdkVersion 25
    35          buildToolsVersion '25.0.2'
    36          defaultConfig {
    37              minSdkVersion 14
    38              targetSdkVersion 25
    39          }
    40  
    41          compileOptions {
    42              {{#supportJava6}}
    43              sourceCompatibility JavaVersion.VERSION_1_6
    44              targetCompatibility JavaVersion.VERSION_1_6
    45              {{/supportJava6}}
    46              {{^supportJava6}}
    47              {{#java8}}
    48              sourceCompatibility JavaVersion.VERSION_1_8
    49              targetCompatibility JavaVersion.VERSION_1_8
    50              {{/java8}}
    51              {{^java8}}
    52              sourceCompatibility JavaVersion.VERSION_1_7
    53              targetCompatibility JavaVersion.VERSION_1_7
    54              {{/java8}}
    55              {{/supportJava6}}
    56          }
    57  
    58          // Rename the aar correctly
    59          libraryVariants.all { variant ->
    60              variant.outputs.each { output ->
    61                  def outputFile = output.outputFile
    62                  if (outputFile != null && outputFile.name.endsWith('.aar')) {
    63                      def fileName = "${project.name}-${variant.baseName}-${version}.aar"
    64                      output.outputFile = new File(outputFile.parent, fileName)
    65                  }
    66              }
    67          }
    68  
    69          dependencies {
    70              provided 'javax.annotation:jsr250-api:1.0'
    71          }
    72      }
    73  
    74      afterEvaluate {
    75          android.libraryVariants.all { variant ->
    76              def task = project.tasks.create "jar${variant.name.capitalize()}", Jar
    77              task.description = "Create jar artifact for ${variant.name}"
    78              task.dependsOn variant.javaCompile
    79              task.from variant.javaCompile.destinationDir
    80              task.destinationDir = project.file("${project.buildDir}/outputs/jar")
    81              task.archiveName = "${project.name}-${variant.baseName}-${version}.jar"
    82              artifacts.add('archives', task);
    83          }
    84      }
    85  
    86      task sourcesJar(type: Jar) {
    87          from android.sourceSets.main.java.srcDirs
    88          classifier = 'sources'
    89      }
    90  
    91      artifacts {
    92          archives sourcesJar
    93      }
    94  
    95  } else {
    96  
    97      apply plugin: 'java'
    98      apply plugin: 'maven'
    99  
   100      {{#supportJava6}}
   101      sourceCompatibility = JavaVersion.VERSION_1_6
   102      targetCompatibility = JavaVersion.VERSION_1_6
   103      {{/supportJava6}}
   104      {{^supportJava6}}
   105      {{#java8}}
   106      sourceCompatibility = JavaVersion.VERSION_1_8
   107      targetCompatibility = JavaVersion.VERSION_1_8
   108      {{/java8}}
   109      {{^java8}}
   110      sourceCompatibility = JavaVersion.VERSION_1_7
   111      targetCompatibility = JavaVersion.VERSION_1_7
   112      {{/java8}}
   113      {{/supportJava6}}
   114  
   115      install {
   116          repositories.mavenInstaller {
   117              pom.artifactId = '{{artifactId}}'
   118          }
   119      }
   120  
   121      task execute(type:JavaExec) {
   122         main = System.getProperty('mainClass')
   123         classpath = sourceSets.main.runtimeClasspath
   124      }
   125  
   126      task sourcesJar(type: Jar, dependsOn: classes) {
   127          classifier = 'sources'
   128          from sourceSets.main.allSource
   129      }
   130  
   131      task javadocJar(type: Jar, dependsOn: javadoc) {
   132          classifier = 'javadoc'
   133          from javadoc.destinationDir
   134      }
   135  
   136      artifacts {
   137          archives sourcesJar
   138          archives javadocJar
   139      }
   140  }
   141  
   142  ext {
   143      swagger_annotations_version = "1.5.22"
   144      jackson_version = "2.10.3"
   145      jackson_databind_version = "2.10.3"
   146      jackson_databind_nullable_version = "0.2.1"
   147      {{#threetenbp}}
   148      jackson_threetenbp_version = "2.9.10"
   149      {{/threetenbp}}
   150      jersey_version = "1.19.4"
   151      jodatime_version = "2.9.9"
   152      junit_version = "4.13"
   153  }
   154  
   155  dependencies {
   156      compile "io.swagger:swagger-annotations:$swagger_annotations_version"
   157      compile "com.google.code.findbugs:jsr305:3.0.2"
   158      compile "com.sun.jersey:jersey-client:$jersey_version"
   159      compile "com.sun.jersey.contribs:jersey-multipart:$jersey_version"
   160      compile "com.fasterxml.jackson.core:jackson-core:$jackson_version"
   161      compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version"
   162      compile "com.fasterxml.jackson.core:jackson-databind:$jackson_databind_version"
   163      compile "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$jackson_version"
   164      compile "org.openapitools:jackson-databind-nullable:$jackson_databind_nullable_version"
   165      {{#joda}}
   166      compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version"
   167      {{/joda}}
   168      {{#java8}}
   169      compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
   170      {{/java8}}
   171      {{#threetenbp}}
   172      compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$jackson_threetenbp_version"
   173      {{/threetenbp}}
   174      {{^java8}}
   175      compile "com.brsanthu:migbase64:2.2"
   176      {{/java8}}
   177      testCompile "junit:junit:$junit_version"
   178  }
   179  
   180  test {
   181      testLogging {
   182          outputs.upToDateWhen {false}
   183          showStandardStreams = true
   184      }
   185  }
   186  
   187  publishing {
   188    publications {
   189      myLibrary(MavenPublication) {
   190        from components.java
   191      }
   192    }
   193  
   194    repositories {
   195      maven {
   196        name = "GitHubPackages"
   197        url = "https://maven.pkg.github.com/phrase/phrase-java"
   198        credentials {
   199          username = System.getenv("GITHUB_ACTOR")
   200          password = System.getenv("GITHUB_TOKEN")
   201        }
   202      }
   203    }
   204  }