Работа с компилятором командной строки
Этот учебник показывает нам, как создать приложение Hello World с помощью компилятора командной строки.Загрузка компилятора
Каждая версия поставляется со своей автономной версией компилятора. Мы можем загрузить последнюю версию (kotlin-compiler-1.4.10.zip) со страницы выпусков на GitHub.
Ручная установка
Разархивируйте автономный компилятор в каталог и, по желанию, добавьте каталог bin в системную переменную PATH. Каталог bin содержит скрипты, необходимые для компиляции и запуска Kotlin на Windows, OS X и Linux.
SDKMAN!
Более удобный способ установить Kotlin на системах на основе UNIX, таких как OS X, Linux, Cygwin, FreeBSD и Solaris, это использование SDKMAN!. Просто выполните следующие действия в терминале и следуйте инструкциям:
$ curl -s https://get.sdkman.io | bash
Далее откройте новый терминал и установите Kotlin с помощью:
$ sdk install kotlin
Homebrew
В качестве альтернативы, на OS X вы можете установить компилятор с помощью Homebrew.
$ brew update $ brew install kotlin
Snap пакет
Если вы используете Ubuntu 16.04 или более позднюю версию, вы можете установить компилятор из командной строки:
$ sudo snap install --classic kotlin
Создание и запуск первого приложения
-
Создайте простое приложение на Kotlin, которое отображает
"Hello, World!". Используя ваш любимый редактор, создайте новый файл под названием hello.kt со следующим содержимым:fun main(args: Array<String>) { println("Hello, World!") } -
Скомпилируйте приложение с помощью компилятора Kotlin:
$ kotlinc hello.kt -include-runtime -d hello.jar
Опция
-dуказывает путь к результатам, который может быть либо каталогом, либо файлом .jar. Опция-include-runtimeделает результирующий файл .jar автономным и исполняемым, включая в него библиотеку Kotlin runtime. Если вы хотите увидеть все доступные опции, выполните команду$ kotlinc -help
-
Запустите приложение.
$ java -jar hello.jar
Компиляция библиотеки
Если вы разрабатываете библиотеку, которую будут использовать другие приложения Kotlin, вы можете создать файл .jar без включения в него Kotlin runtime.
$ kotlinc hello.kt -d hello.jar
Поскольку двоичные файлы, скомпилированные таким образом, зависят от Kotlin runtime, необходимо убедиться, что последняя присутствует в пути поиска классов при использовании скомпилированной библиотеки.
Вы также можете использовать скрипт kotlin для запуска двоичных файлов, созданных компилятором Kotlin:
$ kotlin -classpath hello.jar HelloKt
HelloKt — это имя главного класса, которое компилятор Kotlin генерирует для файла с именем hello.kt.
Запуск REPL
Мы можем запустить компилятор без параметров, чтобы получить интерактивную оболочку. Мы можем вводить любой допустимый код Kotlin и видеть результаты.
Использование командной строки для запуска скриптов
Kotlin также может использоваться как скриптовый язык. Скрипт — это файл исходного кода Kotlin (.kts) с исполняемым кодом верхнего уровня.
import java.io.File
// Get the passed in path, i.e. "-d some/path" or use the current path.
val path = if (args.contains("-d")) args[1 + args.indexOf("-d")]
else "."
val folders = File(path).listFiles { file -> file.isDirectory() }
folders?.forEach { folder -> println(folder) }
Для запуска скрипта достаточно передать опцию -script компилятору вместе с соответствующим файлом скрипта.
$ kotlinc -script list_folders.kts -- -d <path_to_folder_to_inspect>
Начиная с версии 1.3.0, Kotlin имеет экспериментальную поддержку настройки скриптов, например, добавления внешних свойств, предоставления статических или динамических зависимостей и т. д. Настройки определяются так называемыми *определениями скриптов* — аннотированными классами Kotlin с соответствующим вспомогательным кодом. Расширение имени файла скрипта используется для выбора соответствующего определения.
Правильно подготовленные определения скриптов обнаруживаются и применяются автоматически при включении соответствующих JAR-файлов в путь поиска классов для компиляции. В качестве альтернативы, вы можете указать определения вручную, используя опцию -script-templates компилятора:
$ kotlinc -script-templates org.example.CustomScriptDefinition -script custom.script1.kts
Для получения дополнительной информации, пожалуйста, обратитесь к KEEP-75.
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/tutorials/command-line.html