Spec-Zone.ru › Kotlin 1.8

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

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

Эти компиляторы используются:

  • В IDE, когда вы нажимаете кнопку Компилировать или Запустить для вашего проекта Kotlin.

  • Gradle, когда вы вызываете gradle build в консоли или в IDE.

  • Maven, когда вы вызываете mvn compile или mvn test-compile в консоли или в IDE.

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

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

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

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

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

  • Если вы используете Gradle, укажите аргументы компилятора в свойстве compilerOptions задачи компиляции 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 путь

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

-P plugin:pluginId:optionName=value

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

-language-version версия

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

-api-version версия

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

-progressive

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

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

@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 аннотация

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

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

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

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

-classpath путь (-cp путь)

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

-d путь

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

-include-runtime

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

-jdk-home путь

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

-Xjdk-release=версия

Указать целевую версию сгенерированного JVM-байткода. Ограничить API JDK в classpath до указанной версии Java. Автоматически устанавливает -jvm-target version. Возможные значения — 1.8, 9, 10, ..., 19. Значение по умолчанию — 1.8.

Этот параметр не гарантируется эффективным для каждой дистрибуции JDK.

-jvm-target версия

Указать целевую версию сгенерированного JVM-байткода. Возможные значения — 1.8, 9, 10, ..., 19. Значение по умолчанию — 1.8.

-java-parameters

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

-module-name имя (JVM)

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

-no-jdk

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

-no-reflect

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

-no-stdlib (JVM)

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

-script-templates classnames[,]

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

END_OF_DOCUMENT_MARKER

Параметры компилятора 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

Не связываться со стандартной библиотекой.

-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.

Последнее изменение: 10 января 2023
Kotlin командная строка компилятор Плагин компилятора All-open

© 2010–2023 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