Please, review "ktor" snap for a "classic" confinement

Hi! W also need to run gradle, download specific JDK and run it. And snap does not allow us to execute stuff or make something executable, apparently.

Other than that, we’ve checked the list of supported types of applications and we actually fall into the category of " * tools for local, non-root user driven configuration of/switching to development workspaces/environments" . We are indeed configuring a development enviroment for JVM+gradle+kotlin+ktor development installing specific versions and changing local environment variables as well as accsessing and executing files in the current working directory and executing files in $HOME directory. We’ve experimented with personal-files and other interfaces and that seems to be still impossible with the strict confinement.

So this means that we can get a classic confinement, correct?

Note: you can check the workflow of the tool here: https://files.pkg.jetbrains.space/public/p/ktor-cli-tool/linux-release/ktor-cli-generator-3.kexe

Usage:

  • ./ktor-cli-generator-3.kexe generate <project-name> :
    • Creates ~/.ktor and ~/.ktor/ktor.rc
    • Checks whether JDK of the desired version (11) exists and if not so, downloads it manually from openjdk archives, and then puts into ~/.ktor/jdk
    • Sets local (application-scoped) environment variable JAVA_HOME for the running application process
    • Runs ./gradlew in the current working directory subpath in order to download Gradle of the compatible version.
    • Note: it also has to execute ~/.ktor/jdk/...../java locally from the ./gradlew script (which gets rejected by snap)
  • ./ktor-cli-generator-3.kexe start <project-name> :
    • Executes ./gradlew run and passes some arguments to an application.
    • Note: it also uses the JAVA_HOME and the JDK from the step above