2012-10-18 2 views
0

Я пытаюсь создать оболочку OSGi для новейшей версии jTDS. Я пытаюсь добавить процесс упаковки в существующий процесс сборки jTDS (на основе Ant). Я скачал последнюю bnd.jar и добавил следующее к jTDS build.xml:bndwrap ant task not working

<taskdef resource="aQute/bnd/ant/taskdef.properties" classpath="bnd.jar"/> 
<bndwrap trace="true" definitions="${basedir}/bnd" output="${build}/${ant.project.name}-${version}.osgi.jar"> 
    <fileset dir="${build}" includes="*.jar"/> 
</bndwrap> 

Я также получил очень простое определение BND определено:

version=1.2.6 
Export-Package: net.sourceforge.jtds*;version=${version} 
Bundle-Version: ${version} 
Bundle-Name: net.sourceforge.jtds 

Выполнения dist Задача в Ant, это должно быть создание JAR с соответствующим манифеста OSGi. Это создает другой JAR, но манифест идентичен оригиналу.

Если я выполняю ту же пленку непосредственно против BND JAR:

java -jar bnd.jar wrap -p bnd\jtds-1.2.6.bnd -o build\jtds-1.2.6.osgi.jar build\jtds-1.2.6.jar 

Я получаю правильный манифест OSGi.

Что происходит во время сборки Ant?

ответ

0

Кажется, проблема с последней версией bnd, найденной here. Ant WrapTask был переоснащен некоторыми и просто не работает (возможно, это просто неправильно сконфигурировано, документация не сохранилась с кодом).

Вместо этого я отказался от версии 1.50.0, и все работало как ожидалось как через bnd.jar, так и через Ant.