Пытаясь понять, используя Kotlin с Ant - PullRequest
0 голосов
/ 02 октября 2018

<target name="build">
    <delete dir="classes" failonerror="false"/>
    <mkdir dir="classes"/>
    <javac destdir="classes" includeAntRuntime="false" srcdir="src">
        <withKotlin/>
    </javac>
    <jar destfile="hello.jar">
        <fileset dir="classes"/>
    </jar>
</target>

Веб-сайт Kotlin

Я работаю над интеграцией Kotlin с моим существующим Java-проектом (ivy и ant).В настоящее время мы используем ivy.xml для управления зависимостями и ant для сценариев сборки.

  1. Если я использовал IVY, делает ли это указание classpath="${kotlin.lib}/kotlin-ant.jar" избыточным?

  2. Я получаю ошибку org/jetbrains/kotlin/ant/antlib.xml не найден в classpath.Как это решить?

  3. Как добавить kotlin-ant.jar & и все его зависимости, используя Ivy?

1 Ответ

0 голосов
/ 13 октября 2018

Если используется Ivy, нет необходимости указывать classpath="${kotlin.lib}/kotlin-ant.jar"

Относительно 2 и 3.

Создание конфигураций для зависимостей Kotlin в файле ivy.xml

<configurations>
    <conf name="kotlin" description="Kotlin Tasks"/>
</configurations>

<dependencies>
    <dependency org="xxxxx" name="kotlin-ant" rev="xxxxx" conf="kotlin->default"/>
</dependencies>

В Build.xml обновите конфигурацию.

<target name="resolve">
    <ivy:resolve />
    <ivy:cachepath pathid="kotlin.classpath" conf="kotlin"/>
</target>

<target name="build" depends="resolve">
    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpathref="kotlin.classpath"/>
 <kotlinc .....
    </kotlinc>
</target>
...