Как добавить инструкции Import-Package для зависимостей времени выполнения?
Я строю банку OSGi с помощью Gradle, и у меня возникли некоторые проблемы с манифестом. Вот выдержка из моего скрипта сборки:
apply plugin: 'java'
apply plugin: 'osgi'
jar {
baseName = 'awesome'
manifest {
name = 'An Awesome Application'
symbolicName = 'com.example.awesome'
// instruction 'Import-Package', 'org.springframework.orm'
}
}
Используя вышеизложенное, Gradle обнаруживает мои зависимости и добавляетImport-Package
со всеми моими зависимостями времени компиляции. Но, скажем, мое приложение зависит от времени выполненияorg.springframework.orm
а также, как я скажу Gradle включить это в качестве аргумента вImport-Package
?
С прокомментированной строкой выше без комментариев, сгенерированныйImport-Package
инструкция уточняеттолько org.springframework.orm
, Это смущает меня, так какДокументация Gradle для OsgiManifest состояния
OsgiManifest instruction(String name, String... values)
Добавляет аргументы в инструкцию. Если инструкция не существует, она создается. Если он существует, аргументы добавляются к существующим аргументам.
Это не относится к автоопределениюImport-Package
аргументы, однако. Если я укажуinstruction 'Import-Package', 'my.dependency.1'
и так далее, и распечататьjar.manifest.instructions
между ними я вижу, как они добавляются в последовательности, и все они появляются в сгенерированном манифесте, но кажется, что плагин Gradle OSGi не добавляет автоматически определяемые аргументы, еслиImport-Package
указано вручную.
Import-Package
инструкция, она генерируется автоматически со всеми моими зависимостями времени компиляции, но не зависимостями времени выполнения.Если я сделаюmanifest { instruction 'Import-Package', 'org.springframework.orm' }
, то зависимости времени компиляции не включаются автоматически.Как я могу сообщить Gradle мои зависимости времени выполнения, чтобы их можно было добавить вImport-Package
?