изменить муравейник на лету - PullRequest
0 голосов
/ 05 декабря 2011

Я хочу использовать средства распознавания (ssh), которые зависят от пути к муравьям.

Что-то вроде

<resolvers>
...
<ssh ...
...
</resolvers>

Чтобы использовать его, мне нужен jsch в ant classpath. Сценарий Ant должен зависеть только от общей библиотеки (которая также включает разрешенные зависимости jsch) - чтобы использовать ее на любом клиентском ПК. Сценарий:

  1. задание на загрузку lib.
  2. Извлечение библиотек (jsch и т. Д.)
  3. плющ: настроить

Но ivy: configure не имеет каких-либо параметров classpathref, поэтому мне неясно, как загрузить извлеченные jar-файлы.

Возможно ли это?

Или, возможно, как-нибудь снова запустить муравей внутри с расширенным classpath?

1 Ответ

0 голосов
/ 12 декабря 2011

Хорошо, поэтому мой комментарий к вопросу выглядел хорошо для меня, но в конце он не сработал.

Единственный способ, который я нашел (работающий, я имею в виду), это запустить ant-скрипт с

  1. Скачать common-lib (с), который включает все jar-библиотеки, необходимые для необязательной обработки плюща
  2. Создайте новый путь к классам и запустите exec для того же файла сборки с требуемой целью:

    <target name="call.task" if="wrapped.task.name">
    <path id="ant.class.path">
        <fileset dir="${tools.lib.dir}" >
            <include name="*.jar" />
        </fileset>
        <pathelement location="${java.class.path}" />
    </path>
    
    <condition property="append.dest.dir" value="-Ddest.dir=${dest.dir}" else="">
        <isset property="dest.dir"/>
    </condition>
    
    <exec executable="ant" failonerror="true">
        <arg line="-f ivy-build.xml" />
        <arg line='-lib "${toString:ant.class.path}"' />
        <arg value="${wrapped.task.name}" />
        <arg value="${append.dest.dir}" />
    </exec>
    </target>
    
...