Spec-Zone.ru › Kotlin 1.8

Ant

Получение задач Ant

Kotlin предоставляет три задачи для Ant:

  • kotlinc: Компилятор Kotlin, нацеленный на JVM

  • kotlin2js: Компилятор Kotlin, нацеленный на JavaScript

  • withKotlin: Задача для компиляции файлов Kotlin при использовании стандартной задачи Ant javac

Эти задачи определены в библиотеке kotlin-ant.jar, которая находится в папке lib в архиве Компилятор Kotlin. Требуется версия Ant 1.8.2 или выше.

Нацеливание на JVM с кодом только на Kotlin

Когда проект состоит только из исходного кода Kotlin, самый простой способ его компиляции — использование задачи kotlinc.

<project name="Ant Task Test" default="build">
    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/>

    <target name="build">
        <kotlinc src="hello.kt" output="hello.jar"/>
    </target>
</project>

где ${kotlin.lib} указывает на папку, в которую был распакован автономный компилятор Kotlin.

Нацеливание на JVM с кодом только на Kotlin и несколькими корнями

Если проект состоит из нескольких корней исходного кода, используйте элементы src для определения путей:

<project name="Ant Task Test" default="build">
    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/>

    <target name="build">
        <kotlinc output="hello.jar">
            <src path="root1"/>
            <src path="root2"/>
        </kotlinc>
    </target>
</project>

Нацеливание на JVM с кодом на Kotlin и Java

Если проект содержит как код на Kotlin, так и на Java, хотя можно использовать kotlinc, для избежания повторения параметров задачи, рекомендуется использовать задачу withKotlin:

<project name="Ant Task Test" default="build">
    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/>

    <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>
</project>

Вы также можете указать имя компилируемого модуля в качестве атрибута moduleName:

<withKotlin moduleName="myModule"/>

Нацеливание на JavaScript с одной папкой исходного кода

<project name="Ant Task Test" default="build">
    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/>

    <target name="build">
        <kotlin2js src="root1" output="out.js"/>
    </target>
</project>

Нацеливание на JavaScript с префиксом, постфиксом и опциями sourcemap

<project name="Ant Task Test" default="build">
    <taskdef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/>

    <target name="build">
        <kotlin2js src="root1" output="out.js" outputPrefix="prefix" outputPostfix="postfix" sourcemap="true"/>
    </target>
</project>

Нацеливание на JavaScript с одной папкой исходного кода и опцией metaInfo

Опция metaInfo полезна, если вы хотите распространять результат преобразования в качестве библиотеки Kotlin/JavaScript. Если metaInfo было установлено в true, то во время компиляции будет создан дополнительный JS-файл с бинарными метаданными. Этот файл необходимо распространять вместе с результатом преобразования:

<project name="Ant Task Test" default="build">
    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/>

    <target name="build">
        <!-- out.meta.js will be created, which contains binary metadata -->
        <kotlin2js src="root1" output="out.js" metaInfo="true"/>
    </target>
</project>

Ссылки

Полный список элементов и атрибутов приведен ниже:

Общие атрибуты для kotlinc и kotlin2js

Имя

Описание

Обязательно

Значение по умолчанию

src

Файл или директория исходного кода Kotlin для компиляции

Да

nowarn

Подавляет все предупреждения при компиляции

Нет

false

noStdlib

Не включает стандартную библиотеку Kotlin в пути к классам

Нет

false

failOnError

Прерывает сборку, если во время компиляции обнаружены ошибки

Нет

true

Атрибуты kotlinc

Атрибуты kotlin2js

Передача аргументов компилятора в сыром виде

Для передачи пользовательских аргументов компилятора в сыром виде можно использовать элементы <compilerarg> с атрибутами value или line. Это можно сделать в элементах задач <kotlinc>, <kotlin2js>, и <withKotlin>, следующим образом:

<kotlinc src="${test.data}/hello.kt" output="${temp}/hello.jar">
    <compilerarg value="-Xno-inline"/>
    <compilerarg line="-Xno-call-assertions -Xno-param-assertions"/>
    <compilerarg value="-Xno-optimize"/>
</kotlinc>

Полный список используемых аргументов показан при запуске kotlinc -help.

Последнее изменение: 10 января 2023 г.
Maven IDE для разработки на Kotlin

© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/ant.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API