2016-04-18 4 views
1

Ich habe eine Projektstruktur wie folgt aus:Pfad in Bezug auf Multi-Projekt-Build-Datei

config/ 
foo/ 
    build.gradle 
    settings.gradle 
    bar/ 
     build.gradle 
    baz/ 
     build.gradle 

Ich möchte das config Verzeichnis Classpath in foo/build.gradle hinzufügen, so dass die Teilprojekte bar und baz darauf zugreifen können. Ich habe versucht, dies zu tun in foo/build.gradle:

subprojects { 
    apply plugin: 'java' 
    dependencies { 
     runtime files('../config') 
    } 
} 

Aber das ergibt sich der folgende Eintrag in der Classpath:

/home/me/project/foo/config 

Wenn das, was ich will eigentlich ist:

/home/me/project/config 

Ich glaube, Das liegt daran, dass runtime files('../config') in foo/bar/build.gradle anstelle von foo/build.gradle ausgewertet wird. Also, wie kann ich den Pfad zu foo/ bekommen? Ich könnte einfach runtime files('../../config') verwenden, aber es fühlt sich nicht ganz richtig an.

Oder vielleicht gehe ich über den falschen Weg und es gibt einen besseren Ort, um die Konfigurationsdateien zu setzen?

+0

Was in der Config-Ordner lebt? Quelldateien, binäre Abhängigkeiten (jars, wars etc) oder statische Ressourcen? – RaGe

+0

@RaGe Ressourcen, die sich bei der Bereitstellung ändern können, z. B. Datenbankverbindungsparameter * usw. *. – z0r

Antwort

1

Ein Weg, um Ihren aktuellen Ordner config Standort zu erhalten, unabhängig davon, welches Projekt/Ordnerebene sind Sie an ist:

"$rootDir/../config"