summaryrefslogtreecommitdiff
path: root/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle')
-rw-r--r--build.gradle280
1 files changed, 0 insertions, 280 deletions
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 4663d2b..0000000
--- a/build.gradle
+++ /dev/null
@@ -1,280 +0,0 @@
-import org.apache.tools.ant.filters.ReplaceTokens
-import com.google.cloud.tools.gradle.appengine.core.DeployTask
-
-buildscript {
- ext {
- springBootVersion = '1.5.13.RELEASE'
- objectifyVersion = '6.0'
- jacksonVersion = '2.9.7'
- googleCloudVersion = '0.47.0-alpha'
- googleJavaFormatVersion = '0.7.1'
- googleHttpClientVersion = '1.25.0'
- lombokVersion = '1.18.4'
- appGradlePluginVersion = '2.0.0-rc3'
- protobufGradlePlugin = '0.8.7'
- googleSheetsAPI = 'v4-rev548-1.25.0'
- }
- repositories {
- jcenter()
- mavenCentral()
- maven {
- url "https://plugins.gradle.org/m2/"
- }
- maven {
- url 'https://oss.sonatype.org/content/repositories/snapshots/'
- }
- }
- dependencies {
- classpath "com.google.cloud.tools:appengine-gradle-plugin:${appGradlePluginVersion}" // latest App Engine Gradle tasks
- classpath "com.google.protobuf:protobuf-gradle-plugin:${protobufGradlePlugin}"
- classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
- }
-}
-
-plugins {
- id 'war' // standard Web Archive plugin
- id "com.github.sherter.google-java-format" version "0.7.1"
-}
-
-apply plugin: 'com.google.protobuf'
-apply plugin: 'com.google.cloud.tools.appengine-standard' // App Engine tasks
-
-apply from: rootProject.file('gradle/profiles.gradle')
-
-group = 'com.android.vts'
-version = '4'
-description = "Google Android VTS dashboard"
-
-sourceCompatibility = 1.8
-targetCompatibility = 1.8
-
-
-repositories {
- maven {
- url 'https://oss.sonatype.org/content/repositories/snapshots' // SNAPSHOT repository (if needed)
- }
- mavenCentral()
- jcenter()
-}
-
-dependencies {
- compile 'com.google.appengine:appengine-api-1.0-sdk:+' // Latest App Engine Api's
- providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
-
- compile 'jstl:jstl:1.2'
-
- compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.7'
- compile group: 'org.apache.commons', name: 'commons-math3', version:'3.6.1'
- compile group: 'commons-codec', name: 'commons-codec', version:'1.9'
- compile group: 'com.google.cloud', name: 'google-cloud', version: "${googleCloudVersion}"
- compile group: 'com.google.code.gson', name: 'gson', version:'2.7'
- compile group: 'com.googlecode.objectify', name: 'objectify', version: "${objectifyVersion}"
- compile group: 'org.json', name: 'json', version:'20180130'
- compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
- compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
- compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-
- compile group: 'com.google.apis', name: 'google-api-services-oauth2', version:'v1-rev136-1.23.0'
- compile group: 'com.google.http-client', name: 'google-http-client', version: "${googleHttpClientVersion}"
- compile group: 'com.google.http-client', name: 'google-http-client-protobuf', version: "${googleHttpClientVersion}"
- compile group: 'com.google.visualization', name: 'visualization-datasource', version:'1.1.1'
-
- compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.1'
-
- compile(group: 'com.google.api-client', name: 'google-api-client', version: "${googleHttpClientVersion}") {
- exclude(module: 'guava-jdk5')
- }
- compile group: 'com.google.oauth-client', name: 'google-oauth-client-jetty', version: "${googleHttpClientVersion}"
- compile group: 'com.google.apis', name: 'google-api-services-sheets', version: "${googleSheetsAPI}"
-
- testCompile group: 'junit', name: 'junit', version: '4.12'
- testCompile group: 'org.mockito', name: 'mockito-core', version: '2.21.0'
- testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version:'5.0.3'
-
- testCompile 'com.google.appengine:appengine-testing:+'
- testCompile 'com.google.appengine:appengine-api-stubs:+'
- testCompile 'com.google.appengine:appengine-tools-sdk:+'
-
- compile group: 'org.projectlombok', name: 'lombok', version: "${lombokVersion}"
- annotationProcessor group: 'org.projectlombok', name: 'lombok', version: "${lombokVersion}"
-}
-
-// Always run unit tests
-appengineDeploy.dependsOn test
-appengineStage.dependsOn test
-
-googleJavaFormat {
- toolVersion = '1.6'
- options style: 'AOSP'
- source = sourceSets*.allJava
- include '**/*.java'
- exclude '**/*Template.java'
- exclude 'src/test/template_*'
-}
-
-sourceSets {
- main {
- proto {
- srcDir '../test_serving/proto'
- include 'TestScheduleConfigMessage.proto'
- }
- java {
- srcDir 'src/main/java'
- }
- }
-}
-
-protobuf {
- generateProtoTasks {
- ofSourceSet('main').each { task ->
- task.builtins {
- python {
- outputSubDir = 'python'
- }
- java {
- outputSubDir = 'java'
- }
- }
- }
- }
-}
-
-appengine { // App Engine tasks configuration
- tools {
- // configure the Cloud Sdk tooling
- }
-
- run {
- environment = [
- GOOGLE_CLOUD_PROJECT: "android-vts-staging",
- // DATASTORE_USE_PROJECT_ID_AS_APP_ID: "true",
- ]
- port = 8080
- jvmFlags = [
- "-Xdebug",
- "-Dappengine.fullscan.seconds=5"
- ]
- }
- stage {
- // configure staging for deployment
- }
- deploy { // deploy configuration
- version = project.property("appEngineVersion")
- projectId = project.property("projectIdList")
-
- }
-}
-
-test {
- useJUnit()
- testLogging.showStandardStreams = true
- beforeTest { descriptor ->
- logger.lifecycle("test: " + descriptor + " Running")
- }
-
- onOutput { descriptor, event ->
- logger.lifecycle("test: " + descriptor + ": " + event.message )
- }
- afterTest { descriptor, result ->
- logger.lifecycle("test: " + descriptor + ": " + result )
- }
-}
-
-tasks.whenTaskAdded { task ->
- if (task.name =~ /generate.*Proto/) {
- task.finalizedBy(copyGeneratedProtoFiles)
- }
-}
-
-task copyGeneratedProtoFiles(type: Copy) {
- into(projectDir)
-
- from("build/generated/source/proto/main/java") {
- into "src/main/java"
- }
- from("build/generated/source/proto/main/python") {
- into "python"
- }
-}
-
-
-tasks.addRule("Pattern: vtsGaeDeploy<ID>") { String taskName ->
- if (taskName.startsWith("vtsGaeDeploy-")) {
-
- def projectId = taskName.replace("vtsGaeDeploy-", "")
- def version = project.property("appEngineVersion")
-
- def appengineWebCopy = tasks.create(name: "appengineWebCopy-${projectId}", type: Copy) {
- from "${webAppDirName}/WEB-INF/appengine-web.xml"
- into "${appengine.stage.sourceDirectory}/WEB-INF"
- filter(ReplaceTokens, tokens: [PROJECT_ID: projectId])
- }
- appengineWebCopy.dependsOn appengineStage
- appengineWebCopy.mustRunAfter appengineStage
-
- def gcsConfigCopy = task("gcsConfigCopy-${projectId}") {
- doFirst {
- println "============ resource folder processing ============"
-
- if (project.loadConfigFromGcs.toBoolean()) {
- exec {
- println "The resources folder will be copied from GCS!"
- commandLine "gsutil",
- "cp",
- "-R",
- "${project.gcsConfigPath}${project.mode}/dashboard/${projectId}/resources/*",
- "$appengine.stage.stagingDirectory/WEB-INF/classes"
- }
- } else {
- println "The local resource folder will be used!"
- }
- }
-
- doLast {
-
- }
- }
- gcsConfigCopy.dependsOn appengineWebCopy
- gcsConfigCopy.mustRunAfter appengineWebCopy
-
- def deployTaskList = [appengineDeploy]
-
- def vtsGaeDeployTask = task(taskName) {
-
- doFirst {
- println "--------------> setup deploying tasks <-------------"
- }
-
- doLast {
- def commandKeyList = [
- 'enableAppengineDeployCron': appengineDeployCron,
- 'enableAppengineDeployDispatch': appengineDeployDispatch,
- 'enableAppengineDeployDos': appengineDeployDos,
- 'enableAppengineDeployIndex': appengineDeployIndex,
- 'enableAppengineDeployQueue': appengineDeployQueue
- ]
-
- commandKeyList.each { key, value ->
- if (project.hasProperty(key) && project.getProperty(key).toBoolean()) {
- deployTaskList.push(value)
- }
- }
- }
- }
-
- vtsGaeDeployTask.dependsOn gcsConfigCopy
- vtsGaeDeployTask.mustRunAfter gcsConfigCopy
- vtsGaeDeployTask.finalizedBy deployTaskList
- }
-}
-
-task vtsGaeMultiDeploy {
- dependsOn {
- def taskList = []
- def projectIdList = project.property("projectIdList")
- projectIdList.split(",").each { projectId ->
- taskList.push(tasks.findByName("vtsGaeDeploy-${projectId.trim()}".toString()))
- }
- return taskList
- }
-}