2010-07-06 23:52:11 +01:00
|
|
|
package gae;
|
|
|
|
|
|
|
|
import com.google.appengine.tools.admin.AppCfg
|
|
|
|
import org.gradle.api.*;
|
|
|
|
|
|
|
|
class GaePlugin implements Plugin<Project> {
|
2015-03-23 11:14:26 -05:00
|
|
|
public void apply(Project project) {
|
|
|
|
if (!project.hasProperty('appEngineSdkRoot')) {
|
|
|
|
println "'appEngineSdkRoot' must be set in gradle.properties"
|
|
|
|
} else {
|
|
|
|
System.setProperty('appengine.sdk.root', project.property('appEngineSdkRoot'))
|
|
|
|
}
|
2010-07-06 23:52:11 +01:00
|
|
|
|
2015-03-23 11:14:26 -05:00
|
|
|
File explodedWar = new File(project.buildDir, "gae-exploded")
|
2010-07-06 23:52:11 +01:00
|
|
|
|
2015-03-23 11:14:26 -05:00
|
|
|
project.task('gaeDeploy') << {
|
|
|
|
AppCfg.main("update", explodedWar.toString())
|
|
|
|
}
|
2010-07-06 23:52:11 +01:00
|
|
|
|
2015-03-23 11:14:26 -05:00
|
|
|
project.gaeDeploy.dependsOn project.war
|
2010-07-06 23:52:11 +01:00
|
|
|
|
2015-03-23 11:14:26 -05:00
|
|
|
project.war.doLast {
|
|
|
|
ant.unzip(src: project.war.archivePath, dest: explodedWar)
|
|
|
|
}
|
|
|
|
}
|
2010-07-06 23:52:11 +01:00
|
|
|
}
|