Spec-Zone.ru › Kotlin 1.4

Работа с компилятором командной строки

Этот учебник показывает нам, как создать приложение 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

Создание и запуск первого приложения

  1. Создайте простое приложение на Kotlin, которое отображает "Hello, World!". Используя ваш любимый редактор, создайте новый файл под названием hello.kt со следующим содержимым:

    fun main(args: Array<String>) {
        println("Hello, World!")
    }
    
  2. Скомпилируйте приложение с помощью компилятора Kotlin:

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

    Опция -d указывает путь к результатам, который может быть либо каталогом, либо файлом .jar. Опция -include-runtime делает результирующий файл .jar автономным и исполняемым, включая в него библиотеку Kotlin runtime. Если вы хотите увидеть все доступные опции, выполните команду

     $ kotlinc -help
    
  3. Запустите приложение.

     $ 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 и видеть результаты.

Shell

Использование командной строки для запуска скриптов

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

Spec-Zone.ru

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