def environments = ['production', 'sandbox', 'alpha', 'crash'] def projects = ['production': 'domain-registry', 'sandbox' : 'domain-registry-sandbox', 'alpha' : 'domain-registry-alpha', 'crash' : 'domain-registry-crash'] def environment = rootProject.findProperty("environment") if (environment == null) { environment = 'alpha' } def gcpProject = projects[environment] if (gcpProject == null) { throw new GradleException("-Penvironment must be one of ${environments}.") } apply plugin: 'war' // Set this directory before applying the appengine plugin so that the // plugin will recognize this as an app-engine standard app (and also // obtains the appengine-web.xml from the correct location) project.convention.plugins['war'].webAppDirName = "../../core/src/main/java/google/registry/env/${environment}/${project.name}" apply plugin: 'com.google.cloud.tools.appengine' // Get the web.xml file for the service. war { webInf { from "../../core/src/main/java/google/registry/env/common/${project.name}/WEB-INF" } } def coreResourcesDir = "${rootDir}/core/build/resources/main" war { from("${coreResourcesDir}/google/registry/ui/html") { include "*.html" } } if (project.path == ":services:default") { war { from("${coreResourcesDir}/google/registry/ui") { include "registrar_bin.js" if (environment != "production") { include "registrar_bin.js.map" } into("assets/js") } from("${coreResourcesDir}/google/registry/ui/css") { include "registrar*" into("assets/css") } from("${coreResourcesDir}/google/registry/ui/assets/images") { include "**/*" into("assets/images") } } } appengine { deploy { project = gcpProject } } dependencies { compile project(':core') } rootProject.deploy.dependsOn appengineDeploy rootProject.stage.dependsOn appengineStage