torsdag 14 november 2013

GAE - Could not determine the dependencies of task ':backend-gae:appengineExplodeApp'.

Last night I was porting a old project from Maven to Gradle. The project runnings on Google App Engine, and I was looking for a good plugin to use. Luckily there is a nice plugin, https://github.com/GoogleCloudPlatform/gradle-appengine-plugin. Which from the beginning was created by Benjamin Muschko, but now days maintain by Google.

So far so good. It was super easy to apply the plugin to your project, however when I tried to run the appengineRun task it failed with the message (on version 1.8.6 of the plugin):

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':backend-gae:appengineExplodeApp'.

So the best thing with open source is that it is open. Digging into the code one will find that the appendingExplodeApp task have a dependency to either the ear or the war plugins (you will find the hint for it at row 193-210, in this file: AppEnginePlugin.groovy).

With that in mind and until it has been fixed (I do believe that the plugin should do this for us) you just can add either the ear or the war plugin to your projects.

Bellow is also an example of a full build script:

/** 
 * Info about the plugin: https://github.com/GoogleCloudPlatform/gradle-appengine-plugin 
 */
buildscript {
  repositories {
      mavenCentral()
  }

  dependencies {
      classpath 'com.google.appengine:gradle-appengine-plugin:1.8.6'
  }
}

apply plugin: 'war'
apply plugin: 'appengine'

appengine {
  downloadSdk = true      
  httpPort = 9085 
}

dependencies {
  appengineSdk 'com.google.appengine:appengine-java-sdk:1.8.6'
  
  compile      'com.google.appengine:appengine-api-1.0-sdk:1.8.6'
  compile      'com.google.appengine:appengine-api-labs:1.8.6'
}

Inga kommentarer:

Skicka en kommentar