Gradle: Plugin with id appengine not found - google-app-engine

I m working on Mac, with Android Studio.
I m trying to build a Android App with a Google App Engine BackEnd.
I've installed Maven and Gradel and exported the M2_HOME et GRADLE_HOME
Whenever I run any of the Gradle commends I get this :
Error:(21, 0) Gradle: A problem occurred evaluating project
':backend'. Plugin with id 'appengine' not found.
the Build.gradle file :
buildscript {
repositories {
mavenCentral()
}
dependencies {
}
}
repositories {
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'
sourceCompatibility = 1.7
targetCompatibility = 1.7
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.3'
compile 'javax.servlet:servlet-api:2.5'
compile 'com.googlecode.objectify:objectify:5.0.+'
compile 'com.google.guava:guava:16.0.+'
}
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
}

From description on plugin github page you need to define plugin JAR file in the classpath of your build script.
So here is how it can be done:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.3'
}
}
....

Related

Butterknife is not binding the objects after migration to andoidX

I have recently updated to androidX . Now I have updated the butterknife library, But when I build the project butterknife is not able to bind view and crashing every time.
Plugins
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'androidx.navigation.safeargs'
//apply plugin: 'com.android.library' //because we are not creating library
apply plugin: 'com.jakewharton.butterknife'
repositories {
mavenCentral()
google()
flatDir { dirs 'libs' }
maven { url 'https://maven.fabric.io/public' }
maven { url "https://clojars.org/repo/" }
// maven {
// url "http://dl.bintray.com/lukaville/maven"
// }
}
implementation 'com.jakewharton:butterknife:10.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
This is my app.gradle file

grails 3.3.9 get file from input

I'm having currently a problem with grails 3.3.9.
Here is my code:
<g:uploadForm resource="${objetInstance}"role="form" method="POST" class="form-horizontal">
<g:actionSubmit action="update" class="btn green-meadow"
value="${message(code: 'enregistrer', 'default': 'Enregistrer')}"/>
<input type="file" name="myFile" id="myFile"
class="form-control"
value=""/>
</g:uploadForm>
and in my Controlle, I tried:
def file = params.myFile
but my file is null.
And with:
def file = request.getFile('myFile')
Caused by: groovy.lang.MissingMethodException: No signature of method:
net.bull.javamelody.JspWrapper$HttpRequestWrapper3.getFile() is
applicable for argument types: (java.lang.String) values: [myFile]
Possible solutions: getXML(), getPart(java.lang.String),
getAt(java.lang.String), getAt(java.lang.String), getLocale(),
getJSON()
at
Up:
To provide more info, here is my build gradle. I think I have to add a specific plugin to handle file upload.
I tried: compile 'commons-fileupload:commons-fileupload:1.4'. but still having the same error. I am really lost. Any idea?
buildscript {
repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
maven { url "https://mvnrepository.com/artifact" }
maven { url "https://mvnrepository.com/artifact/org.keycloak/keycloak-spring-security-adapter" }
maven { url "https://mvnrepository.com/artifact/org.jboss.logging/jboss-logging" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsVersion"
classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.15.1"
classpath "org.grails.plugins:hibernate5:${gormVersion-".RELEASE"}"
classpath 'net.saliman:gradle-cobertura-plugin:2.5.4'
classpath "org.grails.plugins:views-gradle:1.2.8"
}
}
version "4.0.0_RC20"
group "myProject"
apply plugin: "eclipse"
apply plugin: "idea"
apply plugin: "war"
apply plugin: "org.grails.grails-web"
apply plugin: "org.grails.grails-gsp"
apply plugin: "asset-pipeline"
apply plugin: "net.saliman.cobertura"
apply plugin: "org.grails.plugins.views-json"
apply from: "gradle/sonar.gradle"
repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
maven { url "https://mvnrepository.com/artifact" }
maven { url "http://dl.bintray.com/dmahapatro/plugins" }
}
dependencies {
compile "com.warrenstrange:googleauth:1.1.2"
compile "com.google.zxing:core:3.3.1"
compile "com.google.zxing:javase:3.3.1"
compile 'org.grails.plugins:grails-spring-websocket:2.4.1'
compile "org.springframework.boot:spring-boot-starter-logging"
compile "org.springframework.boot:spring-boot-autoconfigure"
compile "org.grails:grails-core"
compile "org.springframework.boot:spring-boot-starter-actuator"
compile "org.springframework.boot:spring-boot-starter-tomcat"
compile "org.grails:grails-dependencies"
compile "org.grails:grails-web-boot"
compile "org.grails.plugins:cache"
compile "org.grails.plugins:scaffolding"
compile "org.grails.plugins:hibernate5"
compile "org.hibernate:hibernate-core:5.1.16.Final"
compile "org.hibernate:hibernate-ehcache:5.1.16.Final"
testCompile "org.grails:grails-datastore-gorm-test:$gormVersion"
console "org.grails:grails-console"
profile "org.grails.profiles:web"
runtime "com.bertramlabs.plugins:asset-pipeline-grails:2.15.1"
runtime "com.h2database:h2"
testCompile "org.grails:grails-plugin-testing"
testCompile "org.grails.plugins:geb"
testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
testRuntime "net.sourceforge.htmlunit:htmlunit:2.18"
runtime 'org.apache.tomcat:tomcat-jdbc'
compile 'org.grails:grails-logging'
//postgresql
provided 'org.postgresql:postgresql:9.4.1211'
// Build Test Data
compile "org.grails.plugins:build-test-data:3.3.1"
// Audit Logging
compile "org.grails.plugins:audit-logging:3.0.1"
// Quartz
compile "org.grails.plugins:quartz:2.0.13"
// Phone Numbers
compile 'ca.redtoad:grails-phonenumbers:0.11'
// Rest Client
compile 'org.grails:grails-datastore-rest-client'
// Jasper
compile "org.grails.plugins:jasper:2.1.0.RC1"
//excel import
compile 'org.grails.plugins:excel-import:3.0.2'
//Quartz monitor
compile ('org.grails.plugins:quartz-monitor:1.3'){
exclude group: 'org.grails.plugins', module: 'asset-pipeline'
}
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
compile "org.grails.plugins:views-json:1.2.8"
//ajout des dependances de keycloak
compile "org.keycloak:keycloak-spring-security-adapter:3.0.0.Final"
runtime "org.jboss.logging:jboss-logging:3.3.0.Final"
//File upload
compile 'commons-fileupload:commons-fileupload:1.4'
// Include external jars
compile fileTree(dir: 'libs', include: '*.jar')
// pour les tests
testCompile "org.grails:grails-test-mixins:3.3.0"
testCompile "org.grails:grails-gorm-testing-support:1.1.5"
testCompile "org.grails:grails-web-testing-support:1.1.5"
}
bootRun {
jvmArgs('-Dspring.output.ansi.enabled=always')
addResources = true
}
integrationTest {
testLogging {
exceptionFormat = 'full'
events 'failed', 'standardOut', 'standardError'
}
beforeTest { descriptor ->
logger.quiet " -- $descriptor"
}
}
assets {
minifyJs = true
minifyCss = true
packagePlugin = true
includes = ["metronic_v4_7_1_admin_3_rounded/*"]
}
cobertura {
coverageFormats = ['xml', 'html']
}
test.finalizedBy(project.tasks.cobertura)
I was able to find why I couldn't upload any files: In my file Resources.groovy, I had :
import org.springframework.web.filter.RequestContextFilter
beans{
...
requestContextFilter(RequestContextFilter)
}
This line was preventing me from uploading all files.

The "appengine.applications.get" permission is required

I am trying to deploy my first app engine spring boot project using gradle and I am running into the following error when I run "gradle appengineDeploy":
ERROR: (gcloud.app.deploy) Error Response: [403] Operation not allowed
Details: [
[
{
"#type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "The \"appengine.applications.get\" permission is required.",
"resourceType": "gae.api"
}
]
]
Here is my build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE")
classpath("com.google.cloud.tools:appengine-gradle-plugin:+")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'com.google.cloud.tools.appengine'
jar {
baseName = 'gs-spring-boot'
version = '0.1.0'
}
repositories {
mavenCentral()
maven {
url 'https://maven-central.storage.googleapis.com'
}
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
// tag::actuator[]
compile("org.springframework.boot:spring-boot-starter-actuator")
// end::actuator[]
// tag::tests[]
testCompile("org.springframework.boot:spring-boot-starter-test")
// end::tests[]
//compile("com.google.cloud.tools:appengine-maven-plugin:1.0.0")
//appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.50'
compile('com.google.appengine:appengine:+')
}
appengine {
deploy { // deploy configuration
stopPreviousVersion = true // default - stop the current version
promote = true // default - & make this the current version
}
}
Please let me know how to proceed.
I got this after updating the google cloud sdk. I just run gcloud init again and entered the same choices.
I recreated the app engine instance and the problem was fixed
A bit silly, but I got this error by mistyping the GCP project name:
$ gcloud app deploy app.yaml --project=wrong-project-name
I fixed this issue by enabling the 'google app engine' cloud api in their api console.

Why does Android Studio believe my App Engine module is an Android app?

I have a project which contains
an Android app module
an App Engine (Cloud Endpoints) module
When I created the project with an older version of Android Studio, it created a reference between the modules, which I removed. Before I did this, I also tried raising the minimum Version in the app module to 21, but Android Studio or LINT somehow still believes my App Engine module was an app and marks code like
list.isEmpty()
new AbstractMap.SimpleEntry<>()
with something like Call required API level 9 (current min is 1): (...).
The project compiles fine, but the errors are underlined in red and show up in LINT.
Neither in the project gradle nor the module gradle I can see anything suspicious. Any idea what the problem could be or where to search and fix this?
For completeness, here are the gradle files:
Projct:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
App Engine Module:
// https://github.com/GoogleCloudPlatform/gradle-appengine-plugin
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.30'
}
}
repositories {
jcenter();
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.30'
compile 'com.google.appengine:appengine-endpoints:1.9.30'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.30'
compile 'com.google.appengine.tools:appengine-gcs-client:0.5'
compile 'javax.servlet:servlet-api:2.5'
compile 'com.googlecode.objectify:objectify:5.1.3'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.retrofit:converter-simplexml:1.9.0'
compile 'io.jsonwebtoken:jjwt:0.6.0'
compile 'org.slf4j:slf4j-parent:1.7.10' // required for JJWT
compile 'org.slf4j:slf4j-nop:1.7.10' // suppress all internal logging in JJWT
}
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}
App Module:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "cc.closeup.android.test"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.4.0'
}

JavaFXPorts 8.60.7 app crash when traying type into TextField

I have an issue with latest JavaFXPorts 8.60.7 when I type any char from keyboard to TextField, app will crash. I'm using android 5.0.1. Earlier my app was developed on JavaFXPorts 8.60.6 and there my app was working, I could in 8.60.6, type a characters into TextField.
I receive in logcat this error:
04-15 21:56:22.066 10732-10769/? E/AndroidRuntime: FATAL EXCEPTION: JavaFX Application Thread
Process: pl.plf.myapp, PID: 10732
java.lang.NoSuchMethodError: No static method dispatchKeyEvent(II[CI)V in class Lcom/sun/glass/ui/monocle/AndroidInputDeviceRegistry; or its super classes (declaration of 'com.sun.glass.ui.monocle.AndroidInputDeviceRegistry' appears in /data/app/pl.plf.myapp-1/base.apk)
at javafxports.android.KeyEventProcessor$1.run(KeyEventProcessor.java:53)
at com.sun.javafx.application.PlatformImpl.lambda$null$155(PlatformImpl.java:295)
at com.sun.javafx.application.PlatformImpl.access$lambda$18(PlatformImpl.java)
at com.sun.javafx.application.PlatformImpl$$Lambda$19.run(Unknown Source)
at java.security.AccessController.doPrivileged(AccessController.java:52)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$156(PlatformImpl.java:294)
at com.sun.javafx.application.PlatformImpl.access$lambda$5(PlatformImpl.java)
at com.sun.javafx.application.PlatformImpl$$Lambda$6.run(Unknown Source)
at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
at java.lang.Thread.run(Thread.java:818)
And this is my build.gradle:
apply plugin: 'java'
apply plugin: 'war'
sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.8'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
mavenCentral()
}
dependencies {
compile project(":ApiCore")
compile project(":Validation")
compile project(":PLFModel")
compile 'org.javafxports:jfxdvk:8.60.7'
compile fileTree(dir: 'libs', include: '*.jar')
runtime fileTree(dir: 'libs', include: '*.jar')
}
mainClassName = 'pl.plf.myapp.MainApp'
jfxmobile {
android {
javafxportsVersion = '8.60.7'
manifest = 'src/android/AndroidManifest.xml'
androidSdk = '/home/user/Android/Sdk'
packagingOptions {
exclude 'META-INF/notice.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
}
dexOptions {
javaMaxHeapSize "4g"
}
}
}
Thank's for any help.

Resources