Как сбросить переменную окружения в задачах Ant <java>и / или <exec>? - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть проект Ant, который должен установить Jython, и для правильной работы установки Jython переменная окружения JYTHON_HOME должна быть не должна быть установлена ​​.

Задачи

Ant * <java> и <exec>, по-видимому, не поддерживают только настройку , а не unsetting . Итак, я вынужден сделать так, чтобы вызывающий мой build.xml сбрасывал для меня переменную окружения, например:

<macrodef name="install-jython">
    <sequential>
        <property environment="env"/>
        <fail if="env.JYTHON_HOME" message="You must unset JYTHON_HOME to install jython."/>
        <java jar="${basedir}/ext/lib/jython-installer.jar" fork="true" dir="${basedir}/ext">
            <arg line="-s -d jython -e demo -e doc"/>
        </java>
    </sequential>
</macrodef>

Я пытался установить JYTHON_HOME в пустую строку, но это не работает:

        <java jar="${basedir}/ext/lib/jython-installer.jar" fork="true" dir="${basedir}/ext">
            <arg line="-s -d jython -e demo -e doc"/>
            <env key="JYTHON_HOME" value=""/>
        </java>

Установщику Jython действительно требуется, чтобы эта переменная среды вообще не существовала.

...