Spec-Zone.ru › Kotlin 1.6

Параметры компилятора Kotlin

Каждая версия Kotlin включает компиляторы для поддерживаемых платформ: JVM, JavaScript и нативные двоичные файлы для поддерживаемых платформ.

Эти компиляторы используются IDE при нажатии кнопки Компиляция или Запуск вашего проекта на Kotlin.

Вы также можете запустить компиляторы Kotlin вручную из командной строки, как описано в учебнике Работа с командной строкой компилятора.

Параметры компилятора

Компиляторы Kotlin имеют ряд параметров для настройки процесса компиляции. Параметры компилятора для разных платформ перечислены на этой странице вместе с описанием каждого из них.

Существует несколько способов задать параметры компилятора и их значения (аргументы компилятора):

  • В IntelliJ IDEA введите аргументы компилятора в текстовом поле Дополнительные параметры командной строки в Настройки/Предпочтения | Построение, выполнение, развертывание | Компилятор | Компилятор Kotlin.

  • Если вы используете Gradle, укажите аргументы компилятора в свойстве kotlinOptions задачи компиляции Kotlin. Для получения подробной информации см. Gradle.

  • Если вы используете Maven, укажите аргументы компилятора в элементе <configuration> узла плагина Maven. Для получения подробной информации см. Maven.

  • Если вы запускаете компилятор из командной строки, добавьте аргументы компилятора непосредственно в вызов утилиты или запишите их в файл аргументов.

Например:

$ kotlinc hello.kt -include-runtime -d hello.jar

В Windows, когда вы передаете аргументы компилятора, содержащие разделители символов (пробелы, =, ;, ,), оберните эти аргументы в двойные кавычки (").

$ kotlinc.bat hello.kt -include-runtime -d "My Folder\hello.jar"

Общие параметры

Следующие параметры являются общими для всех компиляторов Kotlin.

-version

Вывести версию компилятора.

-nowarn

Запретить компилятору отображать предупреждения во время компиляции.

-Werror

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

-verbose

Включить подробный режим ведения логов, включающий детали процесса компиляции.

-script

Выполнить файл скрипта Kotlin. При вызове с этим параметром компилятор выполняет первый файл скрипта Kotlin (*.kts) среди переданных аргументов.

-help (-h)

Вывести информацию об использовании и выйти. Показываются только стандартные параметры. Чтобы показать расширенные параметры, используйте -X.

-X

Вывести информацию о расширенных параметрах и выйти. Эти параметры в настоящее время нестабильны: их имена и поведение могут быть изменены без предварительного уведомления.

-kotlin-home path

Указать пользовательский путь к компилятору Kotlin, используемому для поиска библиотек выполнения.

-P plugin:pluginId:optionName=value

Передать параметр плагину компилятора Kotlin. Доступные плагины и их параметры перечислены в разделе Инструменты > Плагины компилятора документации.

-language-version version

Обеспечить совместимость исходного кода со указанной версией Kotlin.

-api-version version

Разрешить использование объявлений только из указанной версии связанных библиотек Kotlin.

-progressive

Включить постепенный режим для компилятора.

В режиме поэтапного внедрения устаревшие элементы API и исправления ошибок для нестабильного кода вступают в силу немедленно, вместо того чтобы проходить через цикл поэтапной миграции. Код, написанный в поэтапном режиме, совместим с предыдущими версиями; однако код, написанный в режиме, отличном от поэтапного, может вызвать ошибки компиляции в поэтапном режиме.

@argfile

Считать параметры компилятора из указанного файла. Такой файл может содержать параметры компилятора со значениями и путями к исходным файлам. Параметры и пути должны быть разделены пробелами. Например:

-include-runtime -d hello.jar hello.kt

Для передачи значений, содержащих пробелы, заключите их в одинарные (') или двойные (") кавычки. Если значение содержит знаки кавычек, экранируйте их обратным слэшем (\).

-include-runtime -d 'My folder'

Вы также можете передать несколько файлов аргументов, например, чтобы разделить параметры компилятора и исходные файлы.

$ kotlinc @compiler.options @classes

Если файлы находятся в местах, отличных от текущей директории, используйте относительные пути.

$ kotlinc @options/compiler.options hello.kt

-opt-in annotation

Включить использование API, которое требует явного включения с аннотацией требования с указанным полным квалифицированным именем.

Параметры компилятора Kotlin/JVM

Компилятор Kotlin для JVM компилирует файлы исходного кода Kotlin в файлы Java-классов. Командные инструменты для компиляции Kotlin в JVM — kotlinc и kotlinc-jvm. Их также можно использовать для выполнения файлов скриптов Kotlin.

Помимо общих параметров, компилятор Kotlin/JVM имеет параметры, перечисленные ниже.

-classpath path (-cp path)

Искать файлы классов в указанных путях. Элементы пути класса разделяются системными разделителями путей (; в Windows, : в macOS/Linux). Путь класса может содержать пути к файлам и каталогам, ZIP- или JAR-файлы.

-d path

Разместить сгенерированные файлы классов в указанном расположении. Расположение может быть каталогом, ZIP- или JAR-файлом.

-include-runtime

Включить Kotlin-среду выполнения в результирующий JAR-файл. Делает результирующий архив исполняемым в любой среде с поддержкой Java.

-jdk-home path

Использовать пользовательский домашний каталог JDK для включения в путь класса, если он отличается от стандартного JAVA_HOME.

-jvm-target version

Указать целевую версию сгенерированного байткода JVM. Возможные значения — 1.6 (УСТАРЕЛО), 1.8, 9, 10, 11, 12, 13, 14, 15, 16, и 17. Значение по умолчанию — 1.8.

-java-parameters

Генерировать метаданные для рефлексии Java 1.8 на параметрах методов.

-module-name name (JVM)

Установить пользовательское имя для сгенерированного .kotlin_module файла.

-no-jdk

Не включать автоматически Java-среду выполнения в путь класса.

-no-reflect

Не включать автоматически Kotlin-рефлексию (kotlin-reflect.jar) в путь класса.

-no-stdlib (JVM)

Не включать автоматически Kotlin/JVM-стандартную библиотеку (kotlin-stdlib.jar) и Kotlin-рефлексию (kotlin-reflect.jar) в путь класса.

-script-templates classnames[,]

Шаблоны определения скриптов. Используйте полные имена классов и разделяйте их запятыми (,).

Параметры компилятора Kotlin/JS

Компилятор Kotlin для JS преобразует исходные файлы Kotlin в JavaScript-код. Командная утилита для компиляции Kotlin в JS — kotlinc-js.

В дополнение к общим параметрам, компилятор Kotlin/JS имеет следующие параметры.

-libraries path

Пути к библиотекам Kotlin с файлами .meta.js и .kjsm, разделенные системным разделителем путей.

-main {call|noCall}

Определяет, должна ли вызываться функция main при выполнении.

-meta-info

Генерирует файлы .meta.js и .kjsm с метаданными. Используйте этот параметр при создании JS-библиотеки.

-module-kind {umd|commonjs|amd|plain}

Тип JS-модуля, генерируемого компилятором:

  • umd — модуль Universal Module Definition

  • commonjs — модуль CommonJS

  • amd — модуль Asynchronous Module Definition

  • plain — обычный JS-модуль

Чтобы узнать больше о различных типах JS-модулей и различиях между ними, обратитесь к статье здесь.

-no-stdlib (JS)

Не включайте автоматически стандартную библиотеку Kotlin/JS в зависимости компиляции.

-output filepath

Укажите целевой файл для результата компиляции. Значение должно быть путем к файлу .js, включая его имя.

-output-postfix filepath

Добавьте содержимое указанного файла в конец выходного файла.

-output-prefix filepath

Добавьте содержимое указанного файла в начало выходного файла.

-source-map

Сгенерировать карту исходных файлов.

-source-map-base-dirs path

Используйте указанные пути в качестве базовых каталогов. Базовые каталоги используются для вычисления относительных путей в карте исходных файлов.

-source-map-embed-sources {always|never|inlining}

Включить файлы исходного кода в карту исходных файлов.

-source-map-prefix

Добавить указанный префикс к путям в карте исходных файлов.

Параметры компилятора Kotlin/Native

Компилятор Kotlin/Native преобразует исходные файлы Kotlin в исполняемые файлы для поддерживаемых платформ. Командная утилита для компиляции Kotlin/Native — это kotlinc-native.

Помимо общих параметров, компилятор Kotlin/Native имеет следующие параметры.

-enable-assertions (-ea)

Включить проверки во время выполнения в сгенерированном коде.

-g

Включить генерацию отладочной информации.

-generate-test-runner (-tr)

Создать приложение для запуска модульных тестов из проекта.

-generate-worker-test-runner (-trw)

Создать приложение для запуска модульных тестов в потоке-рабочем.

-generate-no-exit-test-runner (-trn)

Создать приложение для запуска модульных тестов без явного выхода процесса.

-include-binary path (-ib path)

Включить внешнюю двоичную библиотеку в сгенерированный klib-файл.

-library path (-l path)

Связать с библиотекой. Чтобы узнать о использовании библиотек в проектах Kotlin/Native, см. Библиотеки Kotlin/Native.

-library-version version (-lv version)

Установить версию библиотеки.

-list-targets

Вывести список доступных целевых платформ.

-manifest path

Предоставить дополнительный файл манифеста.

-module-name name (Native)

Указать имя модуля компиляции. Этот параметр также может использоваться для указания префикса имени для деклараций, экспортируемых в Objective-C: Как указать пользовательский префикс/имя Objective-C для моего фреймворка Kotlin?

-native-library path (-nl path)

Включить родную библиотеку bitcode.

-no-default-libs

Отключить связывание пользовательского кода с стандартными платформами библиотек, распространяемыми вместе с компилятором.

-nomain

Предполагается, что точка входа main будет предоставлена внешними библиотеками.

-nopack

Не упаковывать библиотеку в klib-файл.

-linker-option

Передать аргумент компоновщику во время построения двоичного файла. Это может быть использовано для компоновки с некоторыми родными библиотеками.

-linker-options args

Передать несколько аргументов компоновщику во время построения двоичного файла. Аргументы разделяются пробелами.

-nostdlib

Не связываться со stdlib.

-opt

Включить оптимизации компиляции.

-output name (-o name)

Установить имя выходного файла.

-entry name (-e name)

Указать полное имя точки входа.

-produce output (-p output)

Указать тип выходного файла:

  • program

  • static

  • dynamic

  • framework

  • library

  • bitcode

-repo path (-r path)

Путь поиска библиотек. Дополнительная информация — в разделе последовательность поиска библиотек.

-target target

Установить целевую аппаратную платформу. Список доступных платформ можно получить, используя опцию -list-targets.

Последнее изменение: 07 апреля 2022
Компилятор Kotlin командной строки Плагин компилятора all-open

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

Spec-Zone.ru

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