build.gradle.mustache #7

  • //
  • guest/
  • perforce_software/
  • helix-web-services/
  • main/
  • source/
  • swagger/
  • templates/
  • Java/
  • libraries/
  • retrofit/
  • build.gradle.mustache
  • View
  • Commits
  • Open Download .zip Download (3 KB)
apply plugin: 'idea'
apply plugin: 'eclipse'

group = '{{groupId}}'
version = '{{artifactVersion}}'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.2'
        classpath 'com.github.dcendents:android-maven-plugin:1.2'
    }
}

repositories {
    jcenter()
}

if(hasProperty('target') && target == 'android') {

    apply plugin: 'com.android.library'
    apply plugin: 'com.github.dcendents.android-maven'

    android {
        compileSdkVersion 22
        buildToolsVersion '22.0.0'
        defaultConfig {
            minSdkVersion 14
            targetSdkVersion 22
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }

        // Rename the aar correctly
        libraryVariants.all { variant ->
            variant.outputs.each { output ->
                def outputFile = output.outputFile
                if (outputFile != null && outputFile.name.endsWith('.aar')) {
                    def fileName = "${project.name}-${variant.baseName}-${version}.aar"
                    output.outputFile = new File(outputFile.parent, fileName)
                }
            }
        }

        dependencies {
            provided 'javax.annotation:jsr250-api:1.0'
        }
    }

    afterEvaluate {
        android.libraryVariants.all { variant ->
            def task = project.tasks.create "jar${variant.name.capitalize()}", Jar
            task.description = "Create jar artifact for ${variant.name}"
            task.dependsOn variant.javaCompile
            task.from variant.javaCompile.destinationDir
            task.destinationDir = project.file("${project.buildDir}/outputs/jar")
            task.archiveName = "${project.name}-${variant.baseName}-${version}.jar"
            artifacts.add('archives', task);
        }
    }

    task sourcesJar(type: Jar) {
        from android.sourceSets.main.java.srcDirs
        classifier = 'sources'
    }

    artifacts {
        archives sourcesJar
    }

} else {

    apply plugin: 'java'
    apply plugin: 'maven'
    jar {
        baseName = 'helix-web-services-client'
    }
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

    install {
        repositories.mavenInstaller {
            pom.artifactId = '{{artifactId}}'
        }
    }

    task execute(type:JavaExec) {
        main = System.getProperty('mainClass')
        classpath = sourceSets.main.runtimeClasspath
    }
}

ext {
    okhttp_version = "2.3.0"
    oltu_version = "1.0.0"
    retrofit_version = "1.9.0"
    swagger_annotations_version = "1.5.0"
    junit_version = "4.12"
}

dependencies {
    compile fileTree(dir: 'vendor', include: '*.jar', exclude: '*-sources.jar')
}
# Change User Description Committed
#7 19542 swellard Gradle file is badly formatted and does not play well with Eclipse

https://jira.perforce.com:8443/browse/P4WEBAPI-301
#6 18785 tjuricek Revise the git fusion repository models.
#5 18700 tjuricek Convert branch-related models, which includes CommandResponse, and framework for doing model conversion to/from our P4Java input maps.

Dates are fun. Those are now being converted using the "tzoffset" from the server query.
#4 18555 tjuricek Added Java client libraries to installation, along with swagger source.
#3 18524 tjuricek Add a "trust everything" mode to the generated Java client for testing our installed packages.

Also, check in the client's dependencies as well via our "vendor" declarations. It's unclear how we'll distribute the client SDK code, probably as a group of jar files. We'll see.
#2 18521 tjuricek Increase the compiler level to 1.8 in the generated client.
#1 18515 tjuricek Replacing java_client with Swagger-based clients/java project.

- Switched implementations of the Swagger client to use okhttp with gson.
- Added the version to the "status" method, and hey, added that method to the spec
- Added templates to the java code generator to add some default methods, fixing some import issues in Gradle

NOTE: We may want to break down the API a bit and restructure it.