generieren In meiner Android-Anwendung muss ich Quellcode generieren und in der App verwenden.
Dafür erstellte ich Aufgabe genSources (mit Tutorials) für die Generierung der Quelle. Es funktioniert korrekt, wenn es separat ausgeführt wird.Gradel. Wie man Quellcode vor dem Kompilieren in Android-App
In meinem Fall muss ich die Quellcode-Generierung automatisch ausführen.
Von Tutorial ich den folgenden Befehl herausgefunden:
compileJava.dependsOn (genSources)
aber das ist unbekannt Befehl für die
anwenden Plugin: 'com.android.library'
gradle wirft folgende Ausnahme:
Error:(35, 0) Could not find property 'compileJava' on project ':data'.
Sieht aus wie es u sein kann sed mit anwenden Plugin: ‚Java‘
aber ich kann nicht diese 2 Plugins zusammen
Wie kann ich dieses Problem lösen und erzeugen benötigte Quellcode vor dem Kompilieren?
build.gradle
apply plugin: 'com.android.library'
configurations {pmd}
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 19
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
buildscript {
repositories {
maven {
url "http://repo1.maven.org/maven2/"
}
}
dependencies {
classpath group: 'net.sourceforge.fmpp', name: 'fmpp', version: '0.9.14'
}
ant.taskdef(name: 'fmpp', classname:'fmpp.tools.AntTask', classpath: buildscript.configurations.classpath.asPath)
}
task genSources << {
println "Generating sources...."
ant.fmpp configuration:"src/main/resources/codegen/config.fmpp",
sourceRoot:"src/main/resources/codegen/templates",
outputRoot:"target/generated-sources/main/java";
}
compileJava.dependsOn(genSources)
sourceSets {
main {
java {
srcDir 'target/generated-sources/main/java'
}
}
}
dependencies {
...
}
AKTUALISIERT
ich eine Lösung gefunden wurde, die zumindest nicht
gradle.projectsEvaluated {
compileJava.dependsOn(genSources)
}
Dann habe ich gradle build
ausführen Ausnahme auslösen, aber es passiert nichts