Ubuntu – Installing Kotlin securely, with package signatures, auto-update etc

javaSecuritysoftware installation

Kotlin is gaining widespread attention as being a great programming language, and is now officially supported e.g. for Android development. But the options I see for installing it aren't clear about security issues. I don't know if sdkman checks (or even supports) signatures on packages, I don't know if it automatically tracks security updates on Kotlin and other installed packages (like apt-get does), I don't know how big the install is going to be, etc.

So to sum up

Is there an installation approach for Kotlin that is relatively secure (with package signatures, auto-update etc)?

E.g., is there a PPA for it? (Is anyone even working to package it for Debian/Ubuntu?).

Or does sdkman have the necessary properties?

Or is there some other approach?

Update: I see that ubuntu-make (umake) is an option. For IDEA and Kotlin, it seems the version from their ppa is still needed,
as explained at Ubuntu Make 16.03 Released With Eclipse JEE And IntelliJ IDEA EAP Support, More

But I'm surprised that I can't easily find any information on the security aspects of umake, and it seems that they don't do updates yet (updating tools ยท Issue #74), so my question remains open.

Best Answer

The command line Kotlin compiler developed by JetBrains can be installed as a snap package in all currently supported versions of Ubuntu. To install it, open the terminal and type:

sudo apt install snapd  
sudo snap install kotlin --classic 

Available tools:

  • kotlinc
  • kotlinc-jvm
  • kotlinc-js
  • kotlin-dce-js

Example

  1. Create a simple application in Kotlin that displays Hello, World!. Create a new file with executable permission called hello.kt with the following:

    fun main(args: Array<String>) {
        println("Hello, World!")
    }
    
  2. Compile the application using the Kotlin compiler.

    kotlinc hello.kt -include-runtime -d hello.jar  
    
  3. Run the application.

    java -jar hello.jar
    
Related Question