Como depurar o servidor local AppEngine do IDEA + Gradle?
Estou seguindo o curso do Udacity App Engine, mas como técnico, estou seguindo usando Gradle e IDEA (edição de código aberto).
Eu configurei o projeto com sucesso usando o seguinte arquivo build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.7'
}
}
apply plugin: 'war'
apply plugin: 'appengine'
sourceCompatibility = 1.8
version = '1.0'
appengine {
daemon = true
downloadSdk = true
appcfg {
oauth2 = true
}
}
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.7'
compile 'com.google.inject:guice:3.0'
compile 'com.googlecode.objectify:objectify:5.0.3'
compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.7'
compile 'com.google.appengine:appengine-endpoints:1.9.7'
compile 'javax.servlet:servlet-api:2.5'
compile 'javax.inject:javax.inject:1'
testCompile 'junit:junit:4.11'
testCompile 'com.google.appengine:appengine-testing:1.9.7'
testCompile 'com.google.appengine:appengine-api-stubs:1.9.7'
}
Estou executando o servidor de desenvolvimento local da IDEA usando uma configuração de execução Gradle com oappengineRun
configuração e parando-o usando outra tarefa paraappengineStop
. Isso está funcionando, mas não tenho capacidade de depurar, pois os pontos de interrupção que coloco não são atingidos.
Acredito que esse problema com pontos de interrupção é porque a IDEA não tem idéia (eu sou péssima em trocadilhos) de que ele precisa se conectar ao servidor de cais que suporta o servidor AppEngine, mas esse é um tiro certeiro, pois eu não tenho conhecimento dos internos da IDEA, muito menos de como ele lida com execuções Gradle.
Como recuperar a capacidade do ponto de interrupção? É possível sem um plug-in personalizado?