diff options
Diffstat (limited to 'build.gradle')
-rw-r--r-- | build.gradle | 280 |
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 - } -} |