Задача BND Ant - обернуть банки не OSGi - PullRequest
3 голосов
/ 17 ноября 2011

Я пытаюсь использовать задачу Ant bndwrap, чтобы обернуть не-OSGi файлы в каталог.Моя текущая конфигурация Ant для этого:

<target name="wrap-jars" description="Wrap non-OSGi jars">
    <taskdef resource="aQute/bnd/ant/taskdef.properties" classpath="${biz.aQute:bnd:jar}"/>
    <bndwrap output="${dist.dir}/app-modules">
        <fileset dir="${dist.dir}/app-modules" includes="*.jar" />
    </bndwrap>
    <move overwrite="true" todir="${dist.dir}/app-modules" >
        <fileset dir="${dist.dir}/app-modules" includes="*.bar" />
        <mapper type="glob" from="*.bar" to="*.jar" />
    </move>
</target>

Это отлично работает, но проблема в том, что он также оборачивает существующий OSGi jar, что вызывает проблемы.Например, я заметил, что заголовок Bundle-SymbolicName меняется на какое-то значение по умолчанию.Это может изменить что-то другое, чего я не хочу.Я хочу, чтобы он работал только с банками, которые вообще не имеют информации об OSGi.

Есть ли какой-нибудь способ сказать BND игнорировать существующие заголовки OSGi в манифесте или завершить банки, которые уже OSGi-ориентированы?

Ответы [ 3 ]

0 голосов
/ 06 марта 2013

Я заметил, что последние версии bnd (например, 2.1.0) теперь поддерживают Bundle-SymbolicName при переупаковке файлов OSGi.

0 голосов
/ 13 августа 2013

просто измените ваш набор файлов, чтобы исключить эту банку

0 голосов
/ 17 ноября 2011

Я бы хранил файлы не-OSGi в отдельной папке и изменил fileset, чтобы обрабатывать только эту папку.

...