2017-09-09 3 views
0

Ich habe ein Frontend und ein Backend-Repository für meine App. Das Backend ist in Go geschrieben und bedient die API über gRPC. Die generierten gRPC Java-Dateien landen in backend-repo/proto-gen/java/ (also backend-repo/proto-gen/java/com/myApp/Users.java).Gradle kompilieren Abhängigkeit außerhalb des Projekts

In meinem Frontend Android Repo habe ich das Backend Repo in einen Ordner namens server submoduliert. Ich möchte meine build.gradle ändern, um die .java Dateien aus dem Back-End zu kompilieren.

android-repo/ 
    app/ 
     build.gradle 
    server/proto-gen/java/com/myApp/ 
     Users.java 
     AnotherService.java 

Ich bin sehr neu für Android Entwicklung und habe Schwierigkeiten mit dem richtigen Ansatz, um herauszufinden.

Dies ist ein Schnipsel von meinem app/build.gradle, aber es schlägt fehl, weil es das Paket com.google.protobuf nicht finden kann.

task compileGrpc (type: JavaCompile) { 
    source = fileTree(dir: '../server/proto-gen/java/', include: '**/*.java') 
    destinationDir = file('build/classes') 
    classpath = files('../server/proto-gen/java/') 
    options.compilerArgs = ["-sourcepath", "$projectDir/../server/proto-gen/java/"] 
} 
dependencies { 
    compile 'com.google.protobuf:protobuf-java:3.0.0-alpha-2' 
    compileGrpc.execute() 
} 

Antwort

0

Sie können Ihre Abhängigkeiten wie

dependencies { 
     classpath files('server/proto-gen/java/com/myApp/') 
    } 

hinzufügen Diese relative Pfad akzeptieren.

0

einfach mit dem Pfad zum src sourceSet für das Projekt würde sie in der Zusammenstellung ist:

android { 
    ... 
    sourceSets { 
     main { 
      java.srcDirs = [java.srcDirs, 'server/proto-gen/java'] 
     } 
    } 
} 

Sie werden in der Lage sein, die src-Dateien/Verzeichnisse zu sehen, die innerhalb der Android Ansicht/Projekt-Explorer auf auf der rechten Seite und editiere die Dateien direkt.

Verwandte Themen