Próbuję zdefiniować zadanie jar dla wszystkich podrzędnych projektów (około 30). Próbowałem następujące zadanie:Definiowanie niestandardowej ścieżki klas dla manifestu jar w gradle
jar {
destinationDir = file('../../../../_temp/core/modules')
archiveName = baseName + '.' + extension
metaInf {
from 'ejbModule/META-INF/' exclude 'MANIFEST.MF'
}
def manifestClasspath = configurations.runtime.collect { it.getName() }.join(',')
manifest {
attributes("Manifest-Version" : "1.0",
"Created-By" : vendor,
"Specification-Title" : appName,
"Specification-Version" : version,
"Specification-Vendor" : vendor,
"Implementation-Title" : appName,
"Implementation-Version" : version,
"Implementation-Vendor" : vendor,
"Main-Class" : "com.dcx.epep.Start",
"Class-Path" : manifestClasspath
)
}
}
mój problem jest, że zależności między sub projektów nie są zawarte w ścieżce klasy manifestu. Próbowałem zmienić konfigurację środowiska wykonawczego na konfigurację kompilacji, ale spowodowało to następujący błąd.
- Co poszło nie tak: Wystąpił problem oceny projektu ': EskoordClient'.
Nie można zmienić konfiguracji, która nie jest w nierozwiązanym stanie!
To mój pełny plik build dla projektu EskoordClient:
dependencies {
compile project(':ePEPClient')
}
Większość moich projektów cząstkowych budować pliki definiować tylko projektów zależności. Zależności od bibliotek zewnętrznych są zdefiniowane w pliku kompilacji super projektu.
Czy istnieje możliwość uwzględnienia wszystkich wymaganych wpisów ścieżki klas (bibliotek zewnętrznych i innych projektów) w manifeście ścieżki klasy w superprojektie dla wszystkich podprojektów.
Czy deklarujesz to zadanie dla każdego podprojektu? (Nie widzę bloku 'subprojects {}'). Błąd "nie można zmienić konfiguracji" występuje, ponieważ robisz pracę zbyt wcześnie (faza konfiguracji zamiast fazy wykonania). Zależności projektu są dla mnie poprawnie uwzględnione. Którą wersję Gradle używasz? –
Używam gradle wersji 1.0 Obecnie mam cel jar w konfiguracji 'operacja: configure (podprojects.findAll {it.name.endsWith ('Service') || it.name.endsWith ('Common') || it.name.endsWith ('Klient')}) ' – user1490402