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

     1  buildscript {
     2      repositories {
     3          maven { url "https://repo1.maven.org/maven2" }
     4          mavenCentral()
     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 'idea'
    14  {{#sourceFolder}}
    15      id 'java'
    16  {{/sourceFolder}}
    17      id 'java-library'
    18      id 'signing'
    19      id 'maven-publish'
    20      id "io.github.gradle-nexus.publish-plugin" version "1.3.0"
    21  }
    22  
    23  group = '{{groupId}}'
    24  version = '{{artifactVersion}}'
    25  
    26  java {
    27      withSourcesJar()
    28      withJavadocJar()
    29  }
    30  repositories {
    31      mavenCentral()
    32  }
    33  {{#sourceFolder}}
    34  sourceSets {
    35      main.java.srcDirs = ['{{sourceFolder}}']
    36  }
    37  
    38  {{/sourceFolder}}
    39  if(hasProperty('target') && target == 'android') {
    40  
    41      apply plugin: 'com.android.library'
    42      apply plugin: 'com.github.dcendents.android-maven'
    43  
    44      android {
    45          compileSdkVersion 25
    46          buildToolsVersion '25.0.2'
    47          defaultConfig {
    48              minSdkVersion 14
    49              targetSdkVersion 25
    50          }
    51          compileOptions {
    52              {{#supportJava6}}
    53              sourceCompatibility JavaVersion.VERSION_1_6
    54              targetCompatibility JavaVersion.VERSION_1_6
    55              {{/supportJava6}}
    56              {{^supportJava6}}
    57              {{#java8}}
    58              sourceCompatibility JavaVersion.VERSION_1_8
    59              targetCompatibility JavaVersion.VERSION_1_8
    60              {{/java8}}
    61              {{^java8}}
    62              sourceCompatibility JavaVersion.VERSION_1_7
    63              targetCompatibility JavaVersion.VERSION_1_7
    64              {{/java8}}
    65              {{/supportJava6}}
    66          }
    67  
    68          // Rename the aar correctly
    69          libraryVariants.all { variant ->
    70              variant.outputs.each { output ->
    71                  def outputFile = output.outputFile
    72                  if (outputFile != null && outputFile.name.endsWith('.aar')) {
    73                      def fileName = "${project.name}-${variant.baseName}-${version}.aar"
    74                      output.outputFile = new File(outputFile.parent, fileName)
    75                  }
    76              }
    77          }
    78  
    79          dependencies {
    80              provided 'javax.annotation:javax.annotation-api:1.3.2'
    81          }
    82      }
    83  
    84      afterEvaluate {
    85          android.libraryVariants.all { variant ->
    86              def task = project.tasks.create "jar${variant.name.capitalize()}", Jar
    87              task.description = "Create jar artifact for ${variant.name}"
    88              task.dependsOn variant.javaCompile
    89              task.from variant.javaCompile.destinationDir
    90              task.destinationDir = project.file("${project.buildDir}/outputs/jar")
    91              task.archiveName = "${project.name}-${variant.baseName}-${version}.jar"
    92              artifacts.add('archives', task);
    93          }
    94      }
    95  
    96      task sourcesJar(type: Jar) {
    97          from android.sourceSets.main.java.srcDirs
    98          classifier = 'sources'
    99      }
   100  
   101      artifacts {
   102          archives sourcesJar
   103      }
   104  
   105  } else {
   106  
   107      // apply plugin: 'java'
   108      // apply plugin: 'maven'
   109  
   110      {{#supportJava6}}
   111      sourceCompatibility = JavaVersion.VERSION_1_6
   112      targetCompatibility = JavaVersion.VERSION_1_6
   113      {{/supportJava6}}
   114      {{^supportJava6}}
   115      {{#java8}}
   116      sourceCompatibility = JavaVersion.VERSION_1_8
   117      targetCompatibility = JavaVersion.VERSION_1_8
   118      {{/java8}}
   119      {{^java8}}
   120      sourceCompatibility = JavaVersion.VERSION_1_7
   121      targetCompatibility = JavaVersion.VERSION_1_7
   122      {{/java8}}
   123      {{/supportJava6}}
   124  
   125      // install {
   126      //     repositories.mavenInstaller {
   127      //         pom.artifactId = '{{artifactId}}'
   128      //     }
   129      // }
   130  
   131      task execute(type:JavaExec) {
   132         mainClass = System.getProperty('mainClass')
   133         classpath = sourceSets.main.runtimeClasspath
   134      }
   135  }
   136  
   137  dependencies {
   138      implementation 'javax.annotation:javax.annotation-api:1.3.2'
   139      implementation 'io.swagger:swagger-annotations:1.5.24'
   140      implementation "com.google.code.findbugs:jsr305:3.0.2"
   141      implementation 'com.squareup.okhttp3:okhttp:3.14.7'
   142      implementation 'com.squareup.okhttp3:logging-interceptor:3.14.7'
   143      implementation 'com.google.code.gson:gson:2.8.6'
   144      implementation 'io.gsonfire:gson-fire:1.8.4'
   145      implementation 'org.openapitools:jackson-databind-nullable:0.2.1'
   146      {{#hasOAuthMethods}}
   147      implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.1'
   148      {{/hasOAuthMethods}}
   149      implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.10'
   150      {{#joda}}
   151      implementation 'joda-time:joda-time:2.9.9'
   152      {{/joda}}
   153      {{#threetenbp}}
   154      implementation 'org.threeten:threetenbp:1.4.3'
   155      {{/threetenbp}}
   156      testImplementation 'junit:junit:4.13'
   157      testImplementation 'com.squareup.okhttp3:mockwebserver:3.14.7'
   158  }
   159  
   160  javadoc {
   161      options.tags = [ "http.response.details:a:Http Response Details" ]
   162  }
   163  
   164  signing {
   165      useGpgCmd()
   166      sign(publishing.publications)
   167  }
   168  
   169  publishing {
   170      publications {
   171          myLibrary(MavenPublication) {
   172              from components.java
   173  
   174              pom {
   175                  name.set("{{artifactId}}")
   176                  description.set("{{artifactDescription}}")
   177                  url.set("{{artifactUrl}}")
   178                  licenses {
   179                      license {
   180                          name.set("{{licenseName}}")
   181                          url.set("{{licenseUrl}}")
   182                      }
   183                  }
   184                  developers {
   185                      developer {
   186                          id.set("{{developerName}}")
   187                          name.set("{{developerName}}")
   188                          email.set("{{developerEmail}}")
   189                      }
   190                  }
   191                  scm {
   192                      connection.set("{{scmConnection}}")
   193                      developerConnection.set("{{scmDeveloperConnection}}")
   194                      url.set("{{scmUrl}}")
   195                  }
   196              }
   197  
   198          }
   199      }
   200  
   201      repositories {
   202          maven {
   203              name = "GitHubPackages"
   204              url = "https://maven.pkg.github.com/phrase/phrase-java"
   205              credentials {
   206                  username = System.getenv("GITHUB_ACTOR")
   207                  password = System.getenv("GITHUB_TOKEN")
   208              }
   209          }
   210      }
   211  }
   212  
   213  nexusPublishing {
   214      repositories {
   215          sonatype {
   216              nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
   217              snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
   218              username = System.getenv("OSSRH_USER")
   219              password = System.getenv("OSSRH_PASSWORD")
   220          }
   221      }
   222  }