Coder Social home page Coder Social logo

jetbrains / kotlin-compiler-server Goto Github PK

View Code? Open in Web Editor NEW
227.0 11.0 71.0 2.08 MB

Server for executing kotlin code

License: Apache License 2.0

Kotlin 99.45% Dockerfile 0.50% Shell 0.05%
kotlin kotlin-playground kotlin-compiler spring spring-boot

kotlin-compiler-server's Introduction

Kotlin compiler server

official JetBrains project Build status Java CI TC status Kotlin GitHub license

A REST server for compiling and executing Kotlin code. The server provides the API for Kotlin Playground library.

How to start ๐Ÿ

Simple Spring Boot application

Download Kotlin dependencies and build an executor before starting the server:

$ ./gradlew build -x test 

Start the Spring Boot project. The main class: com.compiler.server.CompilerApplication

With Docker

To build the app inside a Docker container, run the following command from the project directory:

$ ./docker-image-build.sh

From Amazon lambda

Based on aws-serverless-container.

$ ./gradlew buildLambda

Getting .zip file from build/distributions.

Lambda handler: com.compiler.server.lambdas.StreamLambdaHandler::handleRequest.

Publish your Lambda function: you can follow the instructions in AWS Lambda's documentation on how to package your function for deployment.

From Kotless

Add Kotless and remove aws-serverless-container =)

API Documentation ๐Ÿ“ƒ

Execute Kotlin code on JVM

curl -X POST \
  http://localhost:8080/api/compiler/run \
  -H 'Content-Type: application/json' \
  -d '{
    "args": "1 2 3",
    "files": [
        {
            "name": "File.kt",
            "text": "fun main() {\n    println(\"123\")\n}"
        }
    ]
}'

Translate Kotlin code to JavaScript code

curl -X POST \
    http://localhost:8080/api/compiler/translate \
    -H 'Content-Type: application/json' \
    -d '{
      "args": "1 2 3",
      "files": [
        {
          "name": "File.kt",
          "text": "fun main(args: Array<String>) {\n    println(args[0])\n }"
        }
      ]
}'

Run Kotlin tests

curl -X POST \
  http://localhost:8080/api/compiler/test \
  -H 'Content-Type: application/json' \
  -d '{
  "files": [
    {
      "name": "File.kt",
      "text": "fun start(): String = \"OK\""
    },
    {
      "name": "test0.kt",
      "text": "import org.junit.Assert\nimport org.junit.Test\n\nclass TestStart {\n    @Test fun testOk() {\n        Assert.assertEquals(\"OK\", start())\n    }\n}"
    },
    {
      "name": "test1.kt",
      "text": "package koans.util\n\nfun String.toMessage() = \"The function '\''$this'\'' is implemented incorrectly\"\n\nfun String.toMessageInEquals() = toMessage().inEquals()\n\nfun String.inEquals() = this"
    }
  ]
}'

Get code completions for a specified place in code

curl -X POST \
  'http://localhost:8080/api/compiler/complete?line=2&ch=15' \
  -H 'Content-Type: application/json' \
  -d '{
  "files": [
    {
      "name": "File.kt",
      "text": "fun main() {\n    val sinusoid = \"sinusoid\"\n    val s = sin\n}"
    }
  ]
}'

Get code analysis results

curl -X POST \
  http://localhost:8080/api/compiler/highlight \
  -H 'Content-Type: application/json' \
  -d '{
  "files": [
    {
      "name": "File.kt",
      "text": "fun main() {\n    println(\"Hello, world!!!\")ass\n    val random = Random\n}"
    }
  ]
}'

Get the current Kotlin version

curl -X GET http://localhost:8080/versions

The server also supports an API for the Kotlin Playground library.

How to add your dependencies to kotlin compiler ๐Ÿ“š

Just put whatever you need as dependencies to build.gradle.kts via a task called kotlinDependency:

 kotlinDependency "your dependency"

NOTE: If the library you're adding uses reflection, accesses the file system, or performs any other type of security-sensitive operations, don't forget to configure the executors.policy . Click here for more information about Java Security Policy.

How to set Java Security Policy in executors.policy

If you want to configure a custom dependency, use the marker @LIB_DIR@:

grant codeBase "file:%%LIB_DIR%%/junit-4.12.jar"{
  permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
  permission java.lang.RuntimePermission "setIO";
  permission java.io.FilePermission "<<ALL FILES>>", "read";
  permission java.lang.RuntimePermission "accessDeclaredMembers";
};

CORS configuration

Set the environment variables

ENV Default value
ACCESS_CONTROL_ALLOW_ORIGIN_VALUE *
ACCESS_CONTROL_ALLOW_HEADER_VALUE *

Configure logging

We use prod spring active profile to stream logs as JSON format. You can set the spring profile by supplying -Dspring.profiles.active=prod or set env variable SPRING_PROFILES_ACTIVE to prod value.

Unsuccessful execution logs

In case of an unsuccessful execution in the standard output will be the event with INFO level:

{
  "date_time": "31/Aug/2021:11:49:45 +03:00",
  "@version": "1",
  "message": "Code execution is complete.",
  "logger_name": "com.compiler.server.service.KotlinProjectExecutor",
  "thread_name": "http-nio-8080-exec-1",
  "level": "INFO",
  "level_value": 20000,
  "hasErrors": true,
  "confType": "JAVA",
  "kotlinVersion": "$koltinVersion"
}

Kotlin release guide ๐Ÿš€

  1. Update the kotlin version in gradle.properties
  2. Make sure everything is going well via the task:
$ ./gradlew build
  1. Save branch with the name of the kotlin version. Pattern: /^[0-9.]+$/ (optional)
  2. Bump version on GitHub releases (optional)

kotlin-compiler-server's People

Contributors

alexanderprendota avatar anastasiiaspaseeva-zz avatar dependabot[bot] avatar dkhalanskyjb avatar dsavvinov avatar erokhins avatar hfhbd avatar ilgonmic avatar myannyax avatar nikpachoo avatar p7nov avatar phisgr avatar polinb avatar raphaeltarita avatar renovate-bot avatar renovate[bot] avatar rvadim avatar stasjas avatar vmishenev avatar wayfarer-rus avatar woainikk avatar zarechenskiy avatar zhelenskiy avatar zoobestik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kotlin-compiler-server's Issues

Issues with Kotlin Dependencies

Hello,

I am not sure if this is a Gradle specific question but I have been having some issues setting up my own compiler server with the Kotlin library, Krangl. I try adding in the library as:

kotlinDependency("de.mpicbg.scicomp:krangl:0.13")

in the dependencies section and adding jcenter() in the repositories section of the build file. However when I build this, I get the following error:

Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/klaxon/JsonArray
        at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
        at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3167)
        at java.base/java.lang.Class.privateGetPublicMethods(Class.java:3192)
        at java.base/java.lang.Class.getMethods(Class.java:1905)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:105)
        at indexation.MainKt.getVariantsForZip(Main.kt:100)
        at indexation.MainKt.getAllVariants(Main.kt:162)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:168)
        at indexation.MainKt.main(Main.kt:22)
Caused by: java.lang.ClassNotFoundException: com.beust.klaxon.JsonArray
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:436)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
        at java.base/java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:864)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 9 more

Looking at the dependencies for Krangl, I notice that it requires two additional compile dependencies that are not found in the build file:

  • com.beust:klaxon:0.30
  • org.apache.commons:commons-csv:1.3

Adding these to the build file (as kotlinDependency()) allows for a successful build and I am able to deploy the server and run code snippets with no problems. My question is can I just add the Krangl library and automatically pull in all dependencies? I feel like this could become bothersome if trying to add more libraries to the server. Thanks!

Support completion hints for type-safe builders inferences in *.kts files

Description

The auto-completion feature in the Kotlin Compiler Server does not support type-safe builders when used in a standalone context outside of a function, which is the scenario for *.kts files. This is particularly noticeable with DSLs.

Expected Behavior

Auto-completion should work consistently for type-safe builders, e.g. HTML builders, both within functions and in standalone usage. This would significantly improve the development experience, especially when working with DSLs.

Current Behavior

While auto-completion works correctly within a function scope, it fails to provide proper suggestions or hints for standalone type-safe builders without a main function.

Steps to Reproduce

Use a type-safe HTML builder within a function and observe the functioning auto-completion.
Use the same builder in a standalone context. Notice the lack of auto-completion hints.

Example

package html

// Inside a function - auto-completion works
fun main() {
    html {
        head {
            title { +"HTML encoding with Kotlin" }
        }
    }
}

// Standalone - auto-completion does not work
html {
    head {
        title { +"HTML encoding with Kotlin" }
    }
}

class HTML() : TagWithText("html") {
    fun head(init: Head.() -> Unit) = initTag(Head(), init)
    val sampleValue = 222
}

// [Rest of the provided code for Element, TextElement, Tag, etc.]

In the above example, the auto-completion feature assists with the html builder when used inside the main function but does not provide assistance for the standalone html builder.

Snipaste_2023-11-29_09-57-19
Snipaste_2023-11-29_09-58-14

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

dockerfile
Dockerfile
  • openjdk 11.0.16-jdk
  • openjdk 11.0.16-jdk
github-actions
.github/workflows/collect-samples-cron.yml
  • actions/setup-java v3
.github/workflows/docker-image.yml
  • actions/checkout v3
.github/workflows/gradle-wrapper-validation.yml
  • actions/checkout v3
  • gradle/wrapper-validation-action v1
.github/workflows/gradle.yml
  • actions/checkout v3
  • actions/setup-java v3
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
  • org.springframework.boot 2.7.9
  • io.spring.dependency-management 1.1.0
  • org.jetbrains.kotlin.jvm 1.8.10
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.14.2
  • junit:junit 4.13.2
  • org.hamcrest:hamcrest 2.2
  • com.fasterxml.jackson.core:jackson-databind 2.14.0
  • com.fasterxml.jackson.core:jackson-core 2.14.0
  • com.fasterxml.jackson.core:jackson-annotations 2.14.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm 1.6.4
  • com.amazonaws.serverless:aws-serverless-java-container-springboot2 1.9.1
  • junit:junit 4.13.2
  • net.logstash.logback:logstash-logback-encoder 7.3
  • org.jetbrains.intellij.deps:trove4j 1.0.20200330
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4
common/build.gradle.kts
executors/build.gradle.kts
  • junit:junit 4.13.2
indexation/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.0.2

  • Check this box to trigger a request for Renovate to run again on this repository

Issues building docker file on windows machine

Hi, as you may have seen in my other issue I've been trying to create my own version of this server including my library. After giving up on Amazon Lambda I figured I could just use Amazon ECS with a docker image. Alas, docker build . didn't work for me.

C:\Users\chris\Documents\code\kotlin-compiler-server>docker build .
[+] Building 64.7s (10/20)
 => [internal] load build definition from Dockerfile                                                                                                                               0.0s
 => => transferring dockerfile: 1.24kB                                                                                                                                             0.0s
 => [internal] load .dockerignore                                                                                                                                                  0.0s
 => => transferring context: 2B                                                                                                                                                    0.0s
 => [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine                                                                                                           11.5s
 => [auth] library/openjdk:pull token for registry-1.docker.io                                                                                                                     0.0s
 => [internal] load build context                                                                                                                                                 51.9s
 => => transferring context: 409.05MB                                                                                                                                             51.9s
 => [build 1/6] FROM docker.io/library/openjdk:8-jdk-alpine@sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3                                                0.0s
 => CACHED [build 2/6] RUN mkdir -p /kotlin-compiler-server                                                                                                                        0.0s
 => CACHED [build 3/6] WORKDIR /kotlin-compiler-server                                                                                                                             0.0s
 => [build 4/6] ADD . /kotlin-compiler-server                                                                                                                                      0.6s
 => ERROR [build 5/6] RUN ./gradlew build -x test                                                                                                                                  0.6s
------
 > [build 5/6] RUN ./gradlew build -x test:
': No such file or directory 'sh
------
executor failed running [/bin/sh -c ./gradlew build -x test]: exit code: 127

I'm using a windows machine, and I guessed this error was something to do with that.

I worked around this by running the docker build . command from within a linux docker container.

For anyone else struggling over this I used the following command docker run -it -v //var/run/docker.sock:/var/run/docker.sock chriscoomber/android-kotlin to spin up an ubuntu image which I could then simply git clone my fork of kotlin-compile-server and then run docker build . (since I linked my host windows machine's docker socket to the container's docker socket, it creates a docker image on the host machine). That image chriscoomber/android-kotlin is simply an ubuntu image with various android-y and java-y things installed on it, as well as git and docker command-line tools. It's based on bilueandroid/android-kotlin.

Anyway, worth raising this issue to either improve the README.md to help out Windows users a bit more, or fix whatever was going wrong in the error above. Apologies if any of the above sounds dumb, I'm a complete noob to all of this.

Also, setting up Amazon ECS was pretty hard, but that's not you guys' fault! I swear they make the documentation intentionally hard for beginners to ensure those with the expertise get high salaries. But I got it working! http://18.130.70.180:8080/versions (pls no DDOS). Edit: that link no longer works - check out https://chriscoomber.github.io/manydice/

Package declaration produce empty output for JUnit target

Hello,

Thanks for this great project!

It seems there is an issue with the JUnit target (aka /test) when a package declaration is present.

Simple working use-case

Given the following working use-case:

import org.junit.Assert
import org.junit.Test

class TestStart {
    @Test fun testOk() {
        Assert.assertEquals("OK", "OK")
    }
}

The output is:

Passed: testOk

Request payload

{
  "args": "",
  "files": [
    {
      "name": "File.kt",
      "text": "import org.junit.Assert\nimport org.junit.Test\n\nclass TestStart {\n    @Test fun testOk() {\n        Assert.assertEquals(\"OK\", \"OK\")\n    }\n}",
      "publicId": ""
    }
  ]
}

Response body

{
  "testResults": {
    "TestStart": [
      {
        "output": "",
        "className": "TestStart",
        "methodName": "testOk",
        "executionTime": 1,
        "exception": null,
        "comparisonFailure": null,
        "status": "OK"
      }
    ]
  },
  "errors": {
    "File.kt": []
  }
}

Same use-case with package declaration

Now if we just add a package declaration (for example package anything.there:

package anything.there

import org.junit.Assert
import org.junit.Test

class TestStart {
    @Test fun testOk() {
        Assert.assertEquals("OK", "OK")
    }
}

The output is empty:

Request payload

{
  "args": "",
  "files": [
    {
      "name": "File.kt",
      "text": "package anything.there\n\nimport org.junit.Assert\nimport org.junit.Test\n\nclass TestStart {\n    @Test fun testOk() {\n        Assert.assertEquals(\"OK\", \"OK\")\n    }\n}",
      "publicId": ""
    }
  ]
}

Response body

{"errors":{"File.kt":[]}}

It seems to be working fine with a simple JVM target execution, but not with the JUnit target...

Is there anything known about this bug?

Running Kotlin server locally does not return output in text field

I simply clone this repo, compile & run it locally on localhost:8080.

When sending the same request as on your documentation page:

curl -X POST \
  http://localhost:8080/api/compiler/run \
  -H 'Content-Type: application/json' \
  -d '{
    "args": "1 2 3",
    "files": [
        {
            "name": "File.kt",
            "text": "fun main(args: Array<String>) {\n    println(\"123\")\n}"
        }
    ]
}'

The result does not contain the STDOUT which should be printed on the console. It just returns this:
{"errors":{"File.kt":[{"interval":{"start":{"line":0,"ch":9},"end":{"line":0,"ch":13}},"message":"Parameter 'args' is never used","severity":"WARNING","className":"WARNING"}]},"exception":null,"text":""}

The log of the Spring application does not show any errors.

Can somebody help?

Issues creating an Amazon Lambda function

Hi there. I'm learning KMM and I have written a test project Kotlin library. I wanted to make a quick website which showed the documentation and also had a window for people to try out the library live. For this, I want to use something like the kotlin playground, with this as the backend. For the backend, I want to:

  • Add my library as a dependency this server (I think I did this well enough - I added mavenLocal() which I've installed my library to and I added my library as a dependency - 2 lines of build script total)

  • Create an AWS Lambda function so that my website (which doesn't exist yet) can make HTTP requests to this AWS function (via an AWS API Gateway).

I'm stuck on the latter. As an aside, it would be useful to have more documentation here for how I should configure my AWS function. For example, I think I needed to create a new AWS Lambda function (I did everything via the AWS website as the aws CLI wasn't working properly on my machine), using Java 8 runtime. Then I needed to upload the ZIP, which needs to be done by first creating an S3 bucket and uploading it to that. And then I need to add a trigger using AWS API Gateway, with HTTP rather than REST (right?), and then I wasn't sure about stages so I left that default. Also I wasn't sure about CORS so I checked that box because it sounded necessary. Maybe I'm a noob but not much of this was obvious.

Anyway, I've now created my Lambda function but when I run curl -X GET https://dthvag45o1.execute-api.eu-west-2.amazonaws.com/versions I get a 500 error:

< HTTP/2 500
< date: Sat, 27 Feb 2021 16:08:28 GMT
< content-type: application/json
< content-length: 35
< apigw-requestid: baYzbg_SLPEEMxA=
<
{"message":"Internal Server Error"}

I have no way to debug this. I've no idea what I did wrong. The Lambda function's dashboard is registering that it saw an error. Although, I get the same error when putting any string instead of versions.

Do you have any advice?

Cannot choose between the following variants of ...

During the Kotlin/JS transition to the new backend (IR) we distribute our data2viz artifacts in two variants (IR and Legacy).

Adding a dependency to this kind of module produces this error:

* What went wrong:
Could not determine the dependencies of task ':copyJSDependencies'.
> Could not resolve all files for configuration ':kotlinJsDependency'.
   > Could not resolve io.data2viz.d2v:random-js:0.8.9.
     Required by:
         project :
      > Cannot choose between the following variants of io.data2viz.d2v:random-js:0.8.9:
          - jsIrApiElements-published
          - jsIrRuntimeElements-published
          - jsLegacyApiElements-published
          - jsLegacyRuntimeElements-published
          - metadataApiElements-published
        All of them match the consumer attributes:
          - Variant 'jsIrApiElements-published' capability io.data2viz.d2v:random-js:0.8.9:
              - Unmatched attributes:
                  - Provides org.gradle.status 'release' but the consumer didn't ask for it
                  - Provides org.gradle.usage 'kotlin-api' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.js.compiler 'ir' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.platform.type 'js' but the consumer didn't ask for it
          - Variant 'jsIrRuntimeElements-published' capability io.data2viz.d2v:random-js:0.8.9:
              - Unmatched attributes:
                  - Provides org.gradle.status 'release' but the consumer didn't ask for it
                  - Provides org.gradle.usage 'kotlin-runtime' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.js.compiler 'ir' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.platform.type 'js' but the consumer didn't ask for it
          - Variant 'jsLegacyApiElements-published' capability io.data2viz.d2v:random-js:0.8.9:
              - Unmatched attributes:
                  - Provides org.gradle.status 'release' but the consumer didn't ask for it
                  - Provides org.gradle.usage 'kotlin-api' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.js.compiler 'legacy' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.platform.type 'js' but the consumer didn't ask for it
          - Variant 'jsLegacyRuntimeElements-published' capability io.data2viz.d2v:random-js:0.8.9:
              - Unmatched attributes:
                  - Provides org.gradle.status 'release' but the consumer didn't ask for it
                  - Provides org.gradle.usage 'kotlin-runtime' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.js.compiler 'legacy' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.platform.type 'js' but the consumer didn't ask for it
          - Variant 'metadataApiElements-published' capability io.data2viz.d2v:random-js:0.8.9:
              - Unmatched attributes:
                  - Provides org.gradle.status 'release' but the consumer didn't ask for it
                  - Provides org.gradle.usage 'kotlin-api' but the consumer didn't ask for it
                  - Provides org.jetbrains.kotlin.platform.type 'common' but the consumer didn't ask for it

How complex could be to compile Java?

Hi,

I was reviewing concept in multiple Kotlin projects and I would like to do the same stuff with Java.
How complex could be the configuration/change of this project in order to compile Java examples?

Currently if I try to compile Java in any example:

public class Main {
    public static void main(String[] args) {
        System.out.println("This will be printed");
    }
}

https://blog.jetbrains.com/kotlin/2018/04/embedding-kotlin-playground/

I receive the following errors:

Expecting member declaration
Expecting member declaration
Expecting member declaration
Expecting member declaration
Expecting member declaration
Expecting member declaration
Expecting member declaration
Expecting member declaration
Expecting member declaration
Expecting member declaration
Function declaration must have a name

I would like to learn if it is possible to configure in some way current kotlin-playground to compile and run Java code.

Many thanks in advance

Juan Antonio

Related issue: JetBrains/kotlin-playground#97

OutOfMemoryError: Java heap space

I run the dockerized version on my VM, which I use to compile codes, and after a while, it fails with the following error, and I should restart the docker container, so it works again.

Any suggestion? Can I config something which will prevent this from happening?

This is my docker-compose yaml part for the container:

deploy:
      mode: replicated
      replicas: 1
      resources:
        limits:
          cpus: "2.0"
          memory: 2500M
        reservations:
          cpus: "1.0"
          memory: 1000M
      restart_policy:
        condition: on-failure
Exception in thread "http-nio-8080-ClientPoller" java.lang.OutOfMemoryError: Java heap space
Exception in thread "http-nio-8080-exec-11" java.lang.OutOfMemoryError: Java heap space
ERROR: Exception while analyzing expression at (2,13) in /File.kt
org.jetbrains.kotlin.utils.KotlinExceptionWithAttachments: Exception while analyzing expression at (2,13) in /File.kt
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.logOrThrowException(ExpressionTypingVisitorDispatcher.java:246)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.lambda$getTypeInfo$0(ExpressionTypingVisitorDispatcher.java:224)
	at org.jetbrains.kotlin.util.PerformanceCounter.time(PerformanceCounter.kt:101)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:164)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:134)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:146)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.getTypeInfo(ExpressionTypingServices.java:120)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.getTypeInfo(ExpressionTypingServices.java:95)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.getType(ExpressionTypingServices.java:137)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.safeGetType(ExpressionTypingServices.java:80)
	at org.jetbrains.kotlin.resolve.VariableTypeAndInitializerResolver.resolveInitializerType(VariableTypeAndInitializerResolver.kt:171)
	at org.jetbrains.kotlin.resolve.VariableTypeAndInitializerResolver.resolveTypeNullable(VariableTypeAndInitializerResolver.kt:97)
	at org.jetbrains.kotlin.resolve.VariableTypeAndInitializerResolver.resolveType(VariableTypeAndInitializerResolver.kt:52)
	at org.jetbrains.kotlin.resolve.LocalVariableResolver.resolveLocalVariableDescriptor(LocalVariableResolver.kt:195)
	at org.jetbrains.kotlin.resolve.LocalVariableResolver.process(LocalVariableResolver.kt:79)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorForStatements.visitProperty(ExpressionTypingVisitorForStatements.java:114)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorForStatements.visitProperty(ExpressionTypingVisitorForStatements.java:65)
	at org.jetbrains.kotlin.psi.KtProperty.accept(KtProperty.java:58)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.lambda$getTypeInfo$0(ExpressionTypingVisitorDispatcher.java:175)
	at org.jetbrains.kotlin.util.PerformanceCounter.time(PerformanceCounter.kt:101)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:164)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:147)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.getBlockReturnedTypeWithWritableScope(ExpressionTypingServices.java:335)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.getBlockReturnedType(ExpressionTypingServices.java:201)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.getBlockReturnedType(ExpressionTypingServices.java:178)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorForStatements.visitBlockExpression(ExpressionTypingVisitorForStatements.java:437)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorForStatements.visitBlockExpression(ExpressionTypingVisitorForStatements.java:65)
	at org.jetbrains.kotlin.psi.KtBlockExpression.accept(KtBlockExpression.java:79)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.lambda$getTypeInfo$0(ExpressionTypingVisitorDispatcher.java:175)
	at org.jetbrains.kotlin.util.PerformanceCounter.time(PerformanceCounter.kt:101)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:164)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:147)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.checkFunctionReturnType(ExpressionTypingServices.java:173)
	at org.jetbrains.kotlin.types.expressions.ExpressionTypingServices.checkFunctionReturnType(ExpressionTypingServices.java:156)
	at org.jetbrains.kotlin.resolve.BodyResolver.resolveFunctionBody(BodyResolver.java:991)
	at org.jetbrains.kotlin.resolve.BodyResolver.resolveFunctionBody(BodyResolver.java:938)
	at org.jetbrains.kotlin.resolve.BodyResolver.resolveFunctionBodies(BodyResolver.java:924)
	at org.jetbrains.kotlin.resolve.BodyResolver.resolveBehaviorDeclarationBodies(BodyResolver.java:126)
	at org.jetbrains.kotlin.resolve.BodyResolver.resolveBodies(BodyResolver.java:247)
	at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations(LazyTopDownAnalyzer.kt:225)
	at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations$default(LazyTopDownAnalyzer.kt:57)
	at com.compiler.server.compiler.components.ErrorAnalyzer.analysisOf(ErrorAnalyzer.kt:85)
	at com.compiler.server.compiler.components.ErrorAnalyzer.errorsFrom(ErrorAnalyzer.kt:58)
	at com.compiler.server.compiler.components.KotlinCompiler.execute(KotlinCompiler.kt:75)
	at com.compiler.server.compiler.components.KotlinCompiler.run(KotlinCompiler.kt:44)
	at com.compiler.server.service.KotlinProjectExecutor$run$1.invoke(KotlinProjectExecutor.kt:28)
	at com.compiler.server.service.KotlinProjectExecutor$run$1.invoke(KotlinProjectExecutor.kt:14)
	at component.KotlinEnvironment.environment(KotlinEnvironment.kt:64)
	at com.compiler.server.service.KotlinProjectExecutor.run(KotlinProjectExecutor.kt:26)
	at com.compiler.server.controllers.CompilerRestController.executeKotlinProjectEndpoint(CompilerRestController.kt:13)
	at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:665)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.OutOfMemoryError: Java heap space
2021-06-13 10:09:06.815 ERROR 1 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] threw exception

java.lang.OutOfMemoryError: Java heap space

2021-06-13 10:09:06.843  WARN 1 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Failed on call to `getDeclaredMethods()` on class `java.util.Date`, problem: (java.lang.OutOfMemoryError) Java heap space; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Failed on call to `getDeclaredMethods()` on class `java.util.Date`, problem: (java.lang.OutOfMemoryError) Java heap space (through reference chain: java.util.LinkedHashMap["timestamp"])]
2021-06-13 10:09:06.843  WARN 1 --- [nio-8080-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Failed on call to `getDeclaredMethods()` on class `java.util.Date`, problem: (java.lang.OutOfMemoryError) Java heap space; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Failed on call to `getDeclaredMethods()` on class `java.util.Date`, problem: (java.lang.OutOfMemoryError) Java heap space (through reference chain: java.util.LinkedHashMap["timestamp"])]
2021-06-13 10:09:06.843 ERROR 1 --- [nio-8080-exec-5] o.a.c.c.C.[Tomcat].[localhost]           : Exception Processing ErrorPage[errorCode=0, location=/error]

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1075) ~[spring-webmvc-5.3.5.jar:5.3.5]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) ~[spring-webmvc-5.3.5.jar:5.3.5]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.5.jar:5.3.5]
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.5.jar:5.3.5]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:665) ~[javax.servlet-api-4.0.1.jar:4.0.1]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.5.jar:5.3.5]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:750) ~[javax.servlet-api-4.0.1.jar:4.0.1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103) ~[spring-web-5.3.5.jar:5.3.5]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.5.jar:5.3.5]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.5.jar:5.3.5]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103) ~[spring-web-5.3.5.jar:5.3.5]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103) ~[spring-web-5.3.5.jar:5.3.5]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:710) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:398) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:257) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:352) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.44.jar:9.0.44]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
Caused by: java.lang.OutOfMemoryError: Java heap space

Exception in thread "http-nio-8080-Acceptor" java.lang.OutOfMemoryError: Java heap space

Support HTTPS

(Sorry for all the issues)

Would it be possible to support HTTPS?

My use case: I've managed to get the compile server running in aws ecs, and I've got a very simple github pages over at https://chriscoomber.github.io/manydice/. However, it's complaining about mixed content since we're calling the compiler server via http.

As I understand it, I could figure out how to put a proxy in front of the compiler server which supports HTTPS, and don't expose the actual compiler server to the public. However, spring boot seems to support HTTPS, we just need to configure it, so wouldn't that be simpler? Would it be possible to add instructions for that configuration to this repository?

Thanks!

bootJar not working

./gradlew bootJar generates jar file under ./libs/ but throws java.lang.IllegalStateException and other exceptions on execution.

Is it possible to add compiler plugins to the server?

As far as it is documented in the README file, I haven't found a way to add compiler plugins to the served compiler (similarly to adding dependencies). For example, if I want the compiler to support kotlinx-serialization, I can include the dependency like this:

dependencies {
    kotlinDependency("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2")
    // ...
}

but that's not enough because kotlinx-serialization needs the kotlin("plugin.serialization") compiler plugin as well.

I would assume that the plugins block of this project is not the correct location to add this plugin, since it would only be applied to the gradle project itself and not to the compiler that is served when the server is started.

Is such functionality currently implemented? If yes, how can I configure it? If no, are there plans to support compiler plugins?

Indexation errors with AssertJ / bytebuddy

Hi!

I forked the project (current commit is 0494d49) to add my own libraries into the kotlinDependency configuration and I got some troubles to run the indexation Gradle task.

It seems to be related to the ByteBuddy classes inside AssertJ Core jar.

I made some small modifications to the code in order to catch these errors without failing:

diff --git a/build.gradle.kts b/build.gradle.kts
index 5365ff2..f1ae12a 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -10,7 +10,7 @@ version = "$kotlinVersion-SNAPSHOT"
 java.sourceCompatibility = JavaVersion.VERSION_1_8

 val kotlinDependency: Configuration by configurations.creating {
-    isTransitive = true
+    isTransitive = false
 }
 val kotlinJsDependency: Configuration by configurations.creating {
     isTransitive = false
@@ -62,10 +62,18 @@ dependencies {
     kotlinJsDependency("org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion")

     // JCV dependencies
-    kotlinDependency("org.skyscreamer:jsonassert:1.5.0")
-    kotlinDependency("org.assertj:assertj-core:3.11.1")
-    kotlinDependency("com.ekino.oss.jcv:jcv-assertj:1.4.2")
-    kotlinDependency("com.ekino.oss.jcv:jcv-hamcrest:1.4.2")
+    kotlinDependency("org.skyscreamer:jsonassert:1.5.0") {
+        isTransitive = true
+    }
+    kotlinDependency("org.assertj:assertj-core:3.11.1") {
+        isTransitive = true
+    }
+    kotlinDependency("com.ekino.oss.jcv:jcv-assertj:1.5.0") {
+        isTransitive = true
+    }
+    kotlinDependency("com.ekino.oss.jcv:jcv-hamcrest:1.5.0") {
+        isTransitive = true
+    }

     annotationProcessor("org.springframework:spring-context-indexer")
     implementation("org.springframework.boot:spring-boot-starter-web")
diff --git a/indexation/src/main/kotlin/Main.kt b/indexation/src/main/kotlin/Main.kt
index 35d4874..665af47 100644
--- a/indexation/src/main/kotlin/Main.kt
+++ b/indexation/src/main/kotlin/Main.kt
@@ -88,17 +88,23 @@ private fun getVariantsForZip(classLoader: URLClassLoader, file: File): List<Imp
   JarFile(file).entries().toList()
     .filter { !it.isDirectory && it.name.endsWith(CLASS_EXTENSION) }
     .flatMap {
-      val name = it.name.removeSuffix(CLASS_EXTENSION)
-      val fullName = name.replace(File.separator, ".")
-      if (fullName.split(".").last() == MODULE_INFO_NAME) return@flatMap emptyList<ImportInfo>()
-      val clazz = runCatching { classLoader.loadClass(fullName) }.getOrNull() ?: return@flatMap emptyList<ImportInfo>()
-      val classes = if (clazz.isKotlinClass()) {
-        allClassesFromKotlinClass(clazz)
-      } else {
-        allClassesFromJavaClass(clazz)
+      try {
+        val name = it.name.removeSuffix(CLASS_EXTENSION)
+        val fullName = name.replace(File.separator, ".")
+        if (fullName.split(".").last() == MODULE_INFO_NAME) return@flatMap emptyList<ImportInfo>()
+        val clazz = runCatching { classLoader.loadClass(fullName) }.getOrNull() ?: return@flatMap emptyList<ImportInfo>()
+        val classes = if (clazz.isKotlinClass()) {
+          allClassesFromKotlinClass(clazz)
+        } else {
+          allClassesFromJavaClass(clazz)
+        }
+        val functions = allFunctionsFromClass(clazz)
+        classes + functions
+      } catch (e: Error) {
+        System.err.println("An error occurred on ${it.name}, skipping...")
+        e.printStackTrace(System.err)
+        return@flatMap emptyList()
       }
-      val functions = allFunctionsFromClass(clazz)
-      classes + functions
     }.distinct()

 private fun allFunctionsFromClass(clazz: Class<*>): List<ImportInfo> =

Here is the given output:

> Task :indexation:run
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$BootstrapInjectionStrategy$Disabled.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$BootstrapInjectionStrategy disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$BootstrapInjectionStrategy$Unsafe.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$BootstrapInjectionStrategy disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$BootstrapInjectionStrategy.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$BootstrapInjectionStrategy disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Resolution$Sort.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation$Resolution disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Resolution.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation$Resolution disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Simple$Resolution.class, skipping...
java.lang.IncompatibleClassChangeError: org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Simple
        at java.lang.Class.getDeclaredClasses0(Native Method)
        at java.lang.Class.getDeclaredClasses(Class.java:1867)
        at java.lang.Class$2.run(Class.java:1504)
        at java.lang.Class$2.run(Class.java:1499)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.lang.Class.getClasses(Class.java:1498)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:35)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Transformer$NoOp.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Transformer and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Transformer$NoOp disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$InvocationType.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$InvocationType disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$NoOp.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$NoOp disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$Resolver$Stubbing.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$Resolver disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$Resolver$Unresolved.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$Resolver disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$Resolver.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$Resolver disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/description/annotation/AnnotationValue$Loaded$State.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.description.annotation.AnnotationValue$Loaded and org.assertj.core.internal.bytebuddy.description.annotation.AnnotationValue$Loaded$State disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/implementation/FieldAccessor$ForParameterSetter$TerminationHandler.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.implementation.FieldAccessor and org.assertj.core.internal.bytebuddy.implementation.FieldAccessor$ForParameterSetter disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/implementation/FieldAccessor$ForParameterSetter.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.implementation.FieldAccessor and org.assertj.core.internal.bytebuddy.implementation.FieldAccessor$ForParameterSetter disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/pool/TypePool$AbstractBase$RawDescriptionArray.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.pool.TypePool$AbstractBase and org.assertj.core.internal.bytebuddy.pool.TypePool$AbstractBase$RawDescriptionArray disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$BootstrapInjectionStrategy$Disabled.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$BootstrapInjectionStrategy disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$BootstrapInjectionStrategy$Unsafe.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$BootstrapInjectionStrategy disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$BootstrapInjectionStrategy.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$BootstrapInjectionStrategy disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Resolution$Sort.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation$Resolution disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Resolution.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Default$Transformation$Resolution disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Simple$Resolution.class, skipping...
java.lang.IncompatibleClassChangeError: org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Default$Transformation$Simple
        at java.lang.Class.getDeclaredClasses0(Native Method)
        at java.lang.Class.getDeclaredClasses(Class.java:1867)
        at java.lang.Class$2.run(Class.java:1504)
        at java.lang.Class$2.run(Class.java:1499)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.lang.Class.getClasses(Class.java:1498)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:35)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/agent/builder/AgentBuilder$Transformer$NoOp.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Transformer and org.assertj.core.internal.bytebuddy.agent.builder.AgentBuilder$Transformer$NoOp disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher$Disabled.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter and org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher$ForType.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter and org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher$ForValue.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter and org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter and org.assertj.core.internal.bytebuddy.asm.Advice$Dispatcher$Resolved$ForMethodEnter$SkipDispatcher disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/Advice$OffsetMapping$Context$ForMethodEntry.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.Advice$OffsetMapping and org.assertj.core.internal.bytebuddy.asm.Advice$OffsetMapping$Context disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/Advice$OffsetMapping$Context$ForMethodExit.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.Advice$OffsetMapping and org.assertj.core.internal.bytebuddy.asm.Advice$OffsetMapping$Context disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/Advice$OffsetMapping$Context.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.Advice$OffsetMapping and org.assertj.core.internal.bytebuddy.asm.Advice$OffsetMapping$Context disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$InvocationType.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$InvocationType disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$NoOp.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$NoOp disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$Resolver$Stubbing.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$Resolver disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$Resolver$Unresolved.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$Resolver disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/asm/MemberSubstitution$Substitution$Resolver.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution and org.assertj.core.internal.bytebuddy.asm.MemberSubstitution$Substitution$Resolver disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/description/annotation/AnnotationValue$Loaded$State.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.description.annotation.AnnotationValue$Loaded and org.assertj.core.internal.bytebuddy.description.annotation.AnnotationValue$Loaded$State disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/dynamic/loading/ClassInjector$UsingReflection$Dispatcher$Indirect.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.dynamic.loading.ClassInjector$UsingReflection$Dispatcher and org.assertj.core.internal.bytebuddy.dynamic.loading.ClassInjector$UsingReflection$Dispatcher$Indirect disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/dynamic/scaffold/TypeWriter$Default$ForInlining$InitializationHandler$Appending$FrameWriter$Expanding.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining and org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining$InitializationHandler disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/dynamic/scaffold/TypeWriter$Default$ForInlining$InitializationHandler$Appending$FrameWriter$NoOp.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining and org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining$InitializationHandler disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/dynamic/scaffold/TypeWriter$Default$ForInlining$InitializationHandler$Appending$FrameWriter.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining and org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining$InitializationHandler disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/dynamic/scaffold/TypeWriter$Default$ForInlining$InitializationHandler.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining and org.assertj.core.internal.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining$InitializationHandler disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/implementation/FieldAccessor$ForParameterSetter$TerminationHandler.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.implementation.FieldAccessor and org.assertj.core.internal.bytebuddy.implementation.FieldAccessor$ForParameterSetter disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:32)
        at indexation.DisplayingTypesKt.javaTypeToKotlin(DisplayingTypes.kt:29)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:143)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/implementation/FieldAccessor$ForParameterSetter.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.implementation.FieldAccessor and org.assertj.core.internal.bytebuddy.implementation.FieldAccessor$ForParameterSetter disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getSimpleBinaryName(Class.java:1443)
        at java.lang.Class.getSimpleName(Class.java:1309)
        at indexation.MainKt.importInfoFromJavaMethod(Main.kt:138)
        at indexation.MainKt.importInfoFromFunction(Main.kt:130)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:112)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
An error occurred on org/assertj/core/internal/bytebuddy/jar/asm/commons/JSRInlinerAdapter$Instantiation.class, skipping...
java.lang.NoClassDefFoundError: org/assertj/core/internal/bytebuddy/jar/asm/tree/AbstractInsnNode
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetPublicMethods(Class.java:2902)
        at java.lang.Class.getMethods(Class.java:1615)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:111)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
Caused by: java.lang.ClassNotFoundException: org.assertj.core.internal.bytebuddy.jar.asm.tree.AbstractInsnNode
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:817)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 9 more
An error occurred on org/assertj/core/internal/bytebuddy/jar/asm/commons/TryCatchBlockSorter$1.class, skipping...
java.lang.NoClassDefFoundError: org/assertj/core/internal/bytebuddy/jar/asm/tree/AbstractInsnNode
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetPublicMethods(Class.java:2902)
        at java.lang.Class.getMethods(Class.java:1615)
        at indexation.MainKt.allFunctionsFromClass(Main.kt:111)
        at indexation.MainKt.getVariantsForZip(Main.kt:101)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)
Caused by: java.lang.ClassNotFoundException: org.assertj.core.internal.bytebuddy.jar.asm.tree.AbstractInsnNode
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:817)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 9 more
An error occurred on org/assertj/core/internal/bytebuddy/pool/TypePool$AbstractBase$RawDescriptionArray.class, skipping...
java.lang.IncompatibleClassChangeError: org.assertj.core.internal.bytebuddy.pool.TypePool$AbstractBase and org.assertj.core.internal.bytebuddy.pool.TypePool$AbstractBase$RawDescriptionArray disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at java.lang.Class.getCanonicalName(Class.java:1396)
        at indexation.MainKt.allClassesFromJavaClass(Main.kt:36)
        at indexation.MainKt.getVariantsForZip(Main.kt:99)
        at indexation.MainKt.getAllVariants(Main.kt:169)
        at indexation.MainKt.createJsonWithIndexes(Main.kt:175)
        at indexation.MainKt.main(Main.kt:22)

Is there any way to handle unexpected errors without falling the build?

Thanks a lot for this great project!

JS IR compiler cannot find dependency

I tried to add the kotlinx.html dependency for JS compilation. It seems to work ok with legacy compilation, but IR compilation is not resolving the import.

Steps:

  1. Add maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") at L62 build.gradle.kts
  2. Add kotlinJsDependency("org.jetbrains.kotlinx:kotlinx-html-js:0.7.5") at L89 build.gradle.kts
  3. This caused a duplicates error so I added duplicatesStrategy = DuplicatesStrategy.INCLUDE at L42 build.gradle.kts
  4. I then built with ./gradlew build -x test and ran with ./gradlew bootRun

Non IR curl works

curl --request POST \
  --url 'http://localhost:8080/api/compiler/translate?ir=false' \
  --header 'content-type: application/json' \
  --data '{
      "files": [
        {
          "name": "File.kt",
          "text": "import kotlinx.html.div\n\nfun main() {\n    println(\"test123\")\n }"
        }
      ]
}'

But the IR one doesn't

curl --request POST \
  --url 'http://localhost:8080/api/compiler/translate?ir=true' \
  --header 'content-type: application/json' \
  --data '{
      "files": [
        {
          "name": "File.kt",
          "text": "import kotlinx.html.div\n\nfun main() {\n    println(\"test123\")\n }"
        }
      ]
}'

The response was

{
  "jsCode": null,
  "exception": {
    "message": "UNRESOLVED_REFERENCE: Unresolved reference: html (1,16) in /File.kt",
    "fullName": "java.lang.IllegalStateException",
    "stackTrace": [
      {
        "className": "org.jetbrains.kotlin.diagnostics.DiagnosticSink$2",
        "methodName": "report",
        "fileName": "DiagnosticSink.java",
        "lineNumber": 46
      },
      {
        "className": "org.jetbrains.kotlin.resolve.AnalyzingUtils",
        "methodName": "throwExceptionOnErrors",
        "fileName": "AnalyzingUtils.kt",
        "lineNumber": 63
      },
      {
        "className": "org.jetbrains.kotlin.resolve.AnalyzingUtils",
        "methodName": "throwExceptionOnErrors",
        "fileName": "AnalyzingUtils.kt",
        "lineNumber": 58
      }
    ],
    "cause": null,
    "localizedMessage": null
  },
  "errors": {

  },
  "text": ""
}

I tried with both 1.7.0-RC2 and 1.6.21


I was also wondering is it possible to configure the JS compiler to bundle all necessary dependencies into the jsCode output?

Dockerfile build fails

The docker build command fails with the following error:

[+] Building 544.4s (16/20)                                                                                                                                               
 => [internal] load build definition from Dockerfile                                                                                                                 0.4s
 => => transferring dockerfile: 37B                                                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                                                    0.4s
 => => transferring context: 2B                                                                                                                                      0.0s
 => [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine                                                                                              2.0s
 => [auth] library/openjdk:pull token for registry-1.docker.io                                                                                                       0.0s
 => [build 1/6] FROM docker.io/library/openjdk:8-jdk-alpine@sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3                                  0.0s
 => [internal] load build context                                                                                                                                    5.9s
 => => transferring context: 58.39MB                                                                                                                                 5.6s
 => CACHED [stage-1  2/10] RUN mkdir /kotlin-compiler-server                                                                                                         0.0s
 => CACHED [stage-1  3/10] WORKDIR /kotlin-compiler-server                                                                                                           0.0s
 => CACHED [build 2/6] RUN mkdir -p /kotlin-compiler-server                                                                                                          0.0s
 => CACHED [build 3/6] WORKDIR /kotlin-compiler-server                                                                                                               0.0s
 => [build 4/6] ADD . /kotlin-compiler-server                                                                                                                        1.7s
 => [build 5/6] RUN ./gradlew build -x test                                                                                                                        530.9s
 => [build 6/6] RUN mkdir -p /build/libs && (cd /build/libs;  jar -xf /kotlin-compiler-server/build/libs/*.jar)                                                      1.9s 
 => ERROR [stage-1  4/10] COPY --from=build /build/libs/BOOT-INF/lib /kotlin-compiler-server/lib                                                                     0.0s 
 => ERROR [stage-1  5/10] COPY --from=build /build/libs/META-INF /kotlin-compiler-server/META-INF                                                                    0.0s 
 => ERROR [stage-1  6/10] COPY --from=build /build/libs/BOOT-INF/classes /kotlin-compiler-server                                                                     0.0s 
------                                                                                                                                                                    
 > [stage-1  4/10] COPY --from=build /build/libs/BOOT-INF/lib /kotlin-compiler-server/lib:
------
------
 > [stage-1  5/10] COPY --from=build /build/libs/META-INF /kotlin-compiler-server/META-INF:
------
------
 > [stage-1  6/10] COPY --from=build /build/libs/BOOT-INF/classes /kotlin-compiler-server:
------
failed to compute cache key: failed to walk /var/lib/docker/tmp/buildkit-mount671191449/build/libs/BOOT-INF: lstat /var/lib/docker/tmp/buildkit-mount671191449/build/libs/BOOT-INF: no such file or directory

It seems that the desired paths in the first build stage are not available. Any ideas?

Cannot inline bytecode due to JVM target version

Hi,

first of all: thank you for this amazing & fun project! :-)

I unfortunately ran into some problems using custom dependencies for a Kotlin DSL which is using a lot of inline functions. The error message I keep getting is:

Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM target 1.8. Please specify proper '-jvm-target' option

Its true that the dependencies are built with JVM target 11, but I also configured the jvmTarget for the kotlin-compiler-server to be 11:

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check")
        jvmTarget = "11"
    }
// ...
}

And I also defined a Java toolchain for the server, executors, common and indexation module:

java {
  toolchain {
    languageVersion.set(JavaLanguageVersion.of(11))
  }
}

The Java versions of the compiled class files are OK (55), but I'm always getting the error message above.

Thanks in advance for your help.
Regards

Mismatched tags from concurrent prints

See <outStream>\n<errStream></outStream> in the below output.


Easiest solution is to synchronize over outputStream in OutputStreams.kt


https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS44LjEwIiwiY29kZSI6ImltcG9ydCBrb3RsaW54LmNvcm91dGluZXMuKlxuaW1wb3J0IGtvdGxpbi5jb25jdXJyZW50LipcblxuZnVuIG1haW4oKSB7XG4gICAgdmFsIHQxID0gdGhyZWFkIHtcbiAgICAgICAgcmVwZWF0KDUwKSB7XG4gICAgICAgICAgICBwcmludGxuKFwib3V0XCIpXG4gICAgICAgIH1cbiAgICB9XG5cdHZhbCB0MiA9IHRocmVhZCB7XG4gICAgICAgIHJlcGVhdCg1MCkge1xuICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKFwiZXJyXCIpXG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFsIHQzID0gdGhyZWFkIHtcbiAgICAgICAgcmVwZWF0KDUwKSB7XG4gICAgICAgICAgICBwcmludGxuKFwib3V0XCIpXG4gICAgICAgIH1cbiAgICB9XG5cdHZhbCB0NCA9IHRocmVhZCB7XG4gICAgICAgIHJlcGVhdCg1MCkge1xuICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKFwiZXJyXCIpXG4gICAgICAgIH1cbiAgICB9XG4gICAgdDEuam9pbigpXG4gICAgdDIuam9pbigpXG4gICAgdDMuam9pbigpXG4gICAgdDQuam9pbigpXG59XG4iLCJwbGF0Zm9ybSI6ImphdmEiLCJhcmdzIjoiIn0=

{"errors":{"File.kt":[]},"exception":null,"text":"<outStream>out</outStream><errStream>err</errStream><outStream>\nout</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n<outStream>\n</outStream></errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out<errStream></outStream>err</errStream><outStream>\n<errStream></outStream>\nerr<outStream></errStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream><outStream>\n\n</errStream></outStream><errStream>err<outStream>out</errStream></outStream><errStream><outStream>\n\n</errStream></outStream><errStream>err<outStream>out</errStream></outStream><errStream><outStream>\n\n</errStream></outStream><errStream><outStream>errout</errStream></outStream><errStream><outStream>\n\n</errStream></outStream><errStream><outStream>errout</errStream></outStream><errStream><outStream>\n\n</errStream></outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out<errStream></outStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out<errStream></outStream>\n</errStream><outStream>\n</outStream><errStream>err</errStream><outStream>out<errStream></outStream>\n</errStream><outStream>\n<errStream></outStream>err</errStream><outStream>out<errStream>\n</outStream></errStream><outStream>\n<errStream></outStream>err</errStream><outStream>out<errStream>\n</outStream></errStream><outStream>\n<errStream></outStream>err</errStream><outStream><errStream>out\n</outStream></errStream><outStream>\n<errStream></outStream>err</errStream><outStream>out<errStream>\n</outStream></errStream><outStream>\n<errStream></outStream>err</errStream><outStream>out</outStream><errStream>\n</errStream><outStream>\n<errStream>err</errStream></outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out<errStream></outStream>err</errStream><outStream>\n<errStream></outStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n<errStream></outStream>\nerr<outStream></errStream>out\n<errStream></outStream>\n</errStream><outStream>out<errStream></outStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out\nout<errStream>err</outStream></errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err<outStream></errStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err<outStream></errStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n<outStream>out</errStream></outStream><errStream><outStream>err\n</errStream></outStream><errStream>\n<outStream></errStream>out</outStream><errStream>err<outStream></errStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\n</errStream><outStream>out</outStream><errStream>err</errStream><outStream>\n</outStream><errStream>\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\nerr\n</errStream><outStream>out\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\nout\n</outStream>"}

Process multiple run requests

I'm trying to set up kotlin-compiler-server but have run into something I don't know how to get past.

I am able to run the server but it looks like it will only process one request at a time. If I send a request that takes 10 seconds and then send another request the second request only starts after the first request completes.

Is this the expected behavior? Is it possible to get it to process multiple requests at the same time?

Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM target 1.8

I cloned this project and added my own kotlin library that is compiled with java 11 as the target. I however cannot run code that requires fold operation based on the result of library operations. The server returns this error: "Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM target 1.8. Please specify proper '-jvm-target' option"

What JVM target is used to the the code passed my /run endpoint?. How can I specify the jvm target for run calls?

Text is always empty

I'm probably doing something wrong, can anybody help me please?

I'm trying to run a simple code, but the service always outputs a JSON where text is an empty string.

To test it further, I used a web page with the kotlin playground lib. If I use the default option for server, everything works fine: text comes with the expected output. But, as soon as I change server to the address of the local instance I'm running, things stop working, because text is empty no matter the input.

This is the code sample I'm trying to run:

fun main() {
    println("test")
}

When using the online version of kotlin-compiler-server, the service responds with:

{
  "errors":{
    "File.kt":[]
  },
  "exception":null,
  "text":"<outStream>test\n</outStream>"
}

When using my local version where the single modification is the port the application runs at, , the service responds with:

{
  "errors":{
    "File.kt":[]
  },
  "exception":null,
  "text":""
}

Thanks in advance for any help.

access denied - PropertyPermission error

I'm experimenting with kotlin-compiler-server in combination with kotlin playground since i am planing to use it as part of my documentation for a library i am maintaining.

i forked the kotlin-compiler-server to be able to add the library i want to use (including it transitive dependencies) in my documentaton.

whenever i try to run the example i am getting following error:

Exception in thread "main" java.security.AccessControlException: Access control exception due to security reasons in web playground:
access denied ("java.util.PropertyPermission" "io.ktor.development" "read")
at java.lang.SecurityManager.checkPermission (SecurityManager.java:408)

since my library has several transitive dependencies, e.g. the ktor http client and the exception is complaining about something with ktor, i added my dependency with isTransitive = true as well as adding all ktor jars that comes transitively to the executor.policy - here is what i tried: skrape-it@069c77d

here what it looks like in the ui:

ezgif com-video-to-gif

what am i doing wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.