I started writing this text as a bug report while I was not able to get the NetBeans Kotlin plugin to work from the sources at first. In the end I could solve my problems on my own but if anybody else is encountering any problems, this text might be of help.
I'm trying to compile and install this plugin from the sources but without luck so far. It would be awesome if someone could give me a hand.
My environment: NetBeans 8.2, Maven 3.3.9 (which is also used by NetBeans, not the bundled one), Oracle javac 1.8.0_111, Linux Mint 18.1
Here is what I did so far:
After cloning the project I run
mvn install
which resulted in an error:
[ERROR] Failed to execute goal on project kotlin.netbeans.plugin: Could not resolve dependencies for project Kotlin:kotlin.netbeans.plugin:nbm:0.2.0-SNAPSHOT: The following artifacts could not be resolved: org.jetbrains.kotlin:kotlin-ide-common:jar:1.0, org.jetbrains.kotlin:openapi-formatter:jar:1.0, org.jetbrains.kotlin:kotlin-formatter:jar:1.0, org.jetbrains.kotlin:idea-formatter:jar:1.0, org.jetbrains.kotlin:intellij-core:jar:1.0, org.jetbrains.kotlin:kotlin-converter:jar:1.0, org.jetbrains.kotlin:asm:jar:1.0: Could not find artifact org.jetbrains.kotlin:kotlin-ide-common:jar:1.0 in netbeans-modules (http://bits.netbeans.org/nexus/content/groups/netbeans) -> [Help 1]
Even though the POM looks good to me I had to deploy the dependencies manually into my local repository:
mvn install:install-file -Dfile=kotlin-ide-common.jar -DgroupId=org.jetbrains.kotlin -DartifactId=kotlin-ide-common -Dversion=1.0 -Dpackaging=jar mvn install:install-file -Dfile=openapi-formatter.jar -DgroupId=org.jetbrains.kotlin -DartifactId=openapi-formatter -Dversion=1.0 -Dpackaging=jar mvn install:install-file -Dfile=kotlin-formatter.jar -DgroupId=org.jetbrains.kotlin -DartifactId=kotlin-formatter -Dversion=1.0 -Dpackaging=jar mvn install:install-file -Dfile=idea-formatter.jar -DgroupId=org.jetbrains.kotlin -DartifactId=idea-formatter -Dversion=1.0 -Dpackaging=jar mvn install:install-file -Dfile=intellij-core.jar -DgroupId=org.jetbrains.kotlin -DartifactId=intellij-core -Dversion=1.0 -Dpackaging=jar mvn install:install-file -Dfile=kotlin-converter.jar -DgroupId=org.jetbrains.kotlin -DartifactId=kotlin-converter -Dversion=1.0 -Dpackaging=jar mvn install:install-file -Dfile=asm-all.jar -DgroupId=org.jetbrains.kotlin -DartifactId=asm -Dversion=1.0 -Dpackaging=jar
After that I could compile the project. But if I now call "Install/Reload in Development IDE" I get the following stacktrace:
--- maven-compiler-plugin:3.3:compile (default-compile) @ kotlin.netbeans.plugin --- Changes detected - recompiling the module! Compiling 83 source files to /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/classes An exception has occurred in the compiler (1.8.0_111). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.IllegalStateException: endPosTable already set at com.sun.tools.javac.util.DiagnosticSource.setEndPosTable(DiagnosticSource.java:136) at com.sun.tools.javac.util.Log.setEndPosTable(Log.java:350) at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:667) at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:950) at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.<init>(JavacProcessingEnvironment.java:892) at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.next(JavacProcessingEnvironment.java:921) at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1187) at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856) at com.sun.tools.javac.main.Main.compile(Main.java:523) at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129) at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138) at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:125) at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:169) at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:825) at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) ------------------------------------------------------------- COMPILATION ERROR : ------------------------------------------------------------- An unknown compilation problem occurred 1 error
If I make a "mvn clean" right before calling "Install/Reload in Development IDE" I get another stacktrace:
cd /home/jr/NetBeansProjects/oss/kotlin-netbeans; JAVA_HOME=/usr/lib/jvm/java-8-oracle M2_HOME=/home/jr/apache-maven-3.3.9 /home/jr/apache-maven-3.3.9/bin/mvn -Dmaven.test.skip=true -DskipTests=true -Prelease-profile package Scanning for projects... Some problems were encountered while building the effective model for Kotlin:kotlin.netbeans.plugin:nbm:0.2.0-SNAPSHOT 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-source-plugin is missing. 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. It is highly recommended to fix these problems because they threaten the stability of your build. For this reason, future Maven versions might no longer support building such malformed projects. ------------------------------------------------------------------------ Building Kotlin 0.2.0-SNAPSHOT ------------------------------------------------------------------------ [...] Building index for all the packages and classes... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/overview-tree.html... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/index-all.html... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/deprecated-list.html... Building index for all classes... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/allclasses-frame.html... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/allclasses-noframe.html... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/index.html... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/overview-summary.html... Generating /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs/help-doc.html... 2 errors 54 warnings [INFO] NETBEANS-ExecEvent:{"exc":{"msg":"TWF2ZW5SZXBvcnRFeGNlcHRpb246IEVycm9yIHdoaWxlIGdlbmVyYXRpbmcgSmF2YWRvYzogCkV4aXQgY29kZTogMSAtIC9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9uZXRiZWFucy9tb2R1bGVzL21hdmVuL2tvdGxpbi9Lb3RsaW5BY3Rpb25Qcm92aWRlci5qYXZhOjIwOiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMubWF2ZW4uVXRpbHNLdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6ICAgY2xhc3MgVXRpbHNLdAogIGxvY2F0aW9uOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5tYXZlbgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9mb3JtYXR0aW5nL0tvdGxpbkZvcm1hdHRlclV0aWxzLmphdmE6MzU6IGVycm9yOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLm1vZGVsIGRvZXMgbm90IGV4aXN0CmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5tb2RlbC5Lb3RsaW5FbnZpcm9ubWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9maWxlc3lzdGVtL2xpZ2h0Y2xhc3Nlcy9MaWdodENsYXNzRmlsZS5qYXZhOjIwOiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMuS290bGluUHJvamVjdEhlbHBlcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6ICAgY2xhc3MgS290bGluUHJvamVjdEhlbHBlcgogIGxvY2F0aW9uOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucwovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9qMmsvSmF2YTJLb3RsaW5Db252ZXJ0ZXIuamF2YToyNjogZXJyb3I6IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ubW9kZWwgZG9lcyBub3QgZXhpc3QKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLm1vZGVsLktvdGxpbkVudmlyb25tZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2oyay9KYXZhMktvdGxpbkNvbnZlcnRlci5qYXZhOjM0OiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5yZWZvcm1hdHRpbmcuRm9ybWF0VXRpbHNLdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6ICAgY2xhc3MgRm9ybWF0VXRpbHNLdAogIGxvY2F0aW9uOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLnJlZm9ybWF0dGluZwovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9uYXZpZ2F0aW9uL25ldGJlYW5zL0tvdGxpbkh5cGVybGlua1Byb3ZpZGVyLmphdmE6MjY6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLm5hdmlnYXRpb24uTmF2aWdhdGlvblV0aWxLdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiAgIGNsYXNzIE5hdmlnYXRpb25VdGlsS3QKICBsb2NhdGlvbjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5uYXZpZ2F0aW9uCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL25hdmlnYXRpb24vbmV0YmVhbnMvS290bGluSHlwZXJsaW5rUHJvdmlkZXIuamF2YToyOTogZXJyb3I6IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ubmF2aWdhdGlvbi5yZWZlcmVuY2VzIGRvZXMgbm90IGV4aXN0CmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5uYXZpZ2F0aW9uLnJlZmVyZW5jZXMuUmVmZXJlbmNlVXRpbHNLdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vZGVidWdnZXIvS290bGluU291cmNlUGF0aFByb3ZpZGVyLmphdmE6Mjk6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5Lb3RsaW5Qcm9qZWN0SGVscGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogIHN5bWJvbDogICBjbGFzcyBLb3RsaW5Qcm9qZWN0SGVscGVyCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2RlYnVnZ2VyL0tvdGxpbkRlYnVnVXRpbHMuamF2YTozMDogZXJyb3I6IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4uYnVpbGRlciBkb2VzIG5vdCBleGlzdAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4uYnVpbGRlci5Lb3RsaW5Qc2lNYW5hZ2VyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL21hdmVuL01hdmVuUHJvamVjdE9wZW5lZEhvb2suamF2YToyMzogZXJyb3I6IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ubW9kZWwgZG9lcyBub3QgZXhpc3QKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLm1vZGVsLktvdGxpbkVudmlyb25tZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9tYXZlbi9NYXZlblByb2plY3RPcGVuZWRIb29rLmphdmE6MjQ6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5Lb3RsaW5Qcm9qZWN0SGVscGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogIHN5bWJvbDogICBjbGFzcyBLb3RsaW5Qcm9qZWN0SGVscGVyCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9tYXZlbi9jbGFzc3BhdGgvTWF2ZW5FeHRlbmRlZENsYXNzUGF0aC5qYXZhOjMzOiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMuQ2xhc3NQYXRoRXh0ZW5kZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiAgIGNsYXNzIENsYXNzUGF0aEV4dGVuZGVyCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9tYXZlbi9jbGFzc3BhdGgvTWF2ZW5FeHRlbmRlZENsYXNzUGF0aC5qYXZhOjQ4OiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCnB1YmxpYyBjbGFzcyBNYXZlbkV4dGVuZGVkQ2xhc3NQYXRoIGltcGxlbWVudHMgQ2xhc3NQYXRoRXh0ZW5kZXIgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6IGNsYXNzIENsYXNzUGF0aEV4dGVuZGVyCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9tYXZlbi9sb29rdXAvTWF2ZW5Qcm9qZWN0TG9va3VwUHJvdmlkZXJFeHRlbnNpb24uamF2YToxOTogZXJyb3I6IGNhbm5vdCBmaW5kIHN5bWJvbAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zLktvdGxpblByaXZpbGVnZWRUZW1wbGF0ZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiAgIGNsYXNzIEtvdGxpblByaXZpbGVnZWRUZW1wbGF0ZXMKICBsb2NhdGlvbjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMKL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvSjJTRVByb2plY3RQcm9wZXJ0aWVzTW9kaWZpZXIuamF2YTozMTogZXJyb3I6IGNhbm5vdCBmaW5kIHN5bWJvbAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4udXRpbHMuS290bGluQ2xhc3NwYXRoOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiAgIGNsYXNzIEtvdGxpbkNsYXNzcGF0aAogIGxvY2F0aW9uOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLnV0aWxzCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9qMnNlL0oyU0VQcm9qZWN0T3BlbmVkSG9vay5qYXZhOjIyOiBlcnJvcjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5tb2RlbCBkb2VzIG5vdCBleGlzdAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4ubW9kZWwuS290bGluRW52aXJvbm1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvSjJTRVByb2plY3RPcGVuZWRIb29rLmphdmE6MjM6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5Lb3RsaW5Qcm9qZWN0SGVscGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogIHN5bWJvbDogICBjbGFzcyBLb3RsaW5Qcm9qZWN0SGVscGVyCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9qMnNlL2NsYXNzcGF0aC9Cb290Q2xhc3NQYXRoSW1wbGVtZW50YXRpb24uamF2YTozMTogZXJyb3I6IGNhbm5vdCBmaW5kIHN5bWJvbAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zLktvdGxpblByb2plY3RIZWxwZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiAgIGNsYXNzIEtvdGxpblByb2plY3RIZWxwZXIKICBsb2NhdGlvbjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMKL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvY2xhc3NwYXRoL0Jvb3RDbGFzc1BhdGhJbXBsZW1lbnRhdGlvbi5qYXZhOjMyOiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi51dGlscy5Lb3RsaW5DbGFzc3BhdGg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6ICAgY2xhc3MgS290bGluQ2xhc3NwYXRoCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4udXRpbHMKL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvY2xhc3NwYXRoL0oyU0VFeHRlbmRlZENsYXNzUGF0aFByb3ZpZGVyLmphdmE6Mjg6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5DbGFzc1BhdGhFeHRlbmRlcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6ICAgY2xhc3MgQ2xhc3NQYXRoRXh0ZW5kZXIKICBsb2NhdGlvbjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMKL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvY2xhc3NwYXRoL0oyU0VFeHRlbmRlZENsYXNzUGF0aFByb3ZpZGVyLmphdmE6Mjk6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5Lb3RsaW5Qcm9qZWN0SGVscGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogIHN5bWJvbDogICBjbGFzcyBLb3RsaW5Qcm9qZWN0SGVscGVyCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9qMnNlL2NsYXNzcGF0aC9KMlNFRXh0ZW5kZWRDbGFzc1BhdGhQcm92aWRlci5qYXZhOjUyOiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCnB1YmxpYyBjbGFzcyBKMlNFRXh0ZW5kZWRDbGFzc1BhdGhQcm92aWRlciBpbXBsZW1lbnRzIENsYXNzUGF0aFByb3ZpZGVyLCBQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyLCBDbGFzc1BhdGhFeHRlbmRlciB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiBjbGFzcyBDbGFzc1BhdGhFeHRlbmRlcgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9wcm9qZWN0c2V4dGVuc2lvbnMvajJzZS9sb29rdXAvSjJTRVByb2plY3RMb29rdXBQcm92aWRlckV4dGVuc2lvbi5qYXZhOjIxOiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMuS290bGluUHJpdmlsZWdlZFRlbXBsYXRlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6ICAgY2xhc3MgS290bGluUHJpdmlsZWdlZFRlbXBsYXRlcwogIGxvY2F0aW9uOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucwovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9wcm9qZWN0c2V4dGVuc2lvbnMvZ3JhZGxlL2xvb2t1cC9HcmFkbGVQcm9qZWN0TG9va3VwUHJvdmlkZXJFeHRlbnNpb24uamF2YToxOTogZXJyb3I6IGNhbm5vdCBmaW5kIHN5bWJvbAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zLktvdGxpblByaXZpbGVnZWRUZW1wbGF0ZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiAgIGNsYXNzIEtvdGxpblByaXZpbGVnZWRUZW1wbGF0ZXMKICBsb2NhdGlvbjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMKL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2dyYWRsZS9sb29rdXAvR3JhZGxlUHJvamVjdExvb2t1cFByb3ZpZGVyRXh0ZW5zaW9uLmphdmE6MjA6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5ncmFkbGUuR3JhZGxlUHJvamVjdE9wZW5lZEhvb2s7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogIHN5bWJvbDogICBjbGFzcyBHcmFkbGVQcm9qZWN0T3BlbmVkSG9vawogIGxvY2F0aW9uOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5ncmFkbGUKL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vbGFuZ3VhZ2UvS290bGluTGFuZ3VhZ2UuamF2YToxOTogZXJyb3I6IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4uY29tcGxldGlvbiBkb2VzIG5vdCBleGlzdAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4uY29tcGxldGlvbi5Lb3RsaW5Db2RlQ29tcGxldGlvbkhhbmRsZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9sYW5ndWFnZS9Lb3RsaW5MYW5ndWFnZS5qYXZhOjIwOiBlcnJvcjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5zdHJ1Y3R1cmVzY2FubmVyIGRvZXMgbm90IGV4aXN0CmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5zdHJ1Y3R1cmVzY2FubmVyLktvdGxpblN0cnVjdHVyZVNjYW5uZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9sYW5ndWFnZS9Lb3RsaW5MYW5ndWFnZS5qYXZhOjIxOiBlcnJvcjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5kaWFnbm9zdGljcy5uZXRiZWFucy5wYXJzZXIgZG9lcyBub3QgZXhpc3QKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLmRpYWdub3N0aWNzLm5ldGJlYW5zLnBhcnNlci5Lb3RsaW5QYXJzZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2xhbmd1YWdlL0tvdGxpbkxhbmd1YWdlLmphdmE6MjI6IGVycm9yOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLmRpYWdub3N0aWNzLm5ldGJlYW5zLnRleHRpbnRlcmNlcHRvciBkb2VzIG5vdCBleGlzdAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4uZGlhZ25vc3RpY3MubmV0YmVhbnMudGV4dGludGVyY2VwdG9yLktvdGxpbktleXN0cm9rZUhhbmRsZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2xhbmd1YWdlL0tvdGxpbkxhbmd1YWdlLmphdmE6MjM6IGVycm9yOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLmhpZ2hsaWdodGVyLm5ldGJlYW5zIGRvZXMgbm90IGV4aXN0CmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5oaWdobGlnaHRlci5uZXRiZWFucy5Lb3RsaW5Ub2tlbklkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2xhbmd1YWdlL0tvdGxpbkxhbmd1YWdlLmphdmE6MjQ6IGVycm9yOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLmhpZ2hsaWdodGVyLm9jY3VycmVuY2VzIGRvZXMgbm90IGV4aXN0CmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5oaWdobGlnaHRlci5vY2N1cnJlbmNlcy5Lb3RsaW5PY2N1cnJlbmNlc0ZpbmRlcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9sYW5ndWFnZS9Lb3RsaW5MYW5ndWFnZS5qYXZhOjI1OiBlcnJvcjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5oaWdobGlnaHRlci5zZW1hbnRpY2FuYWx5emVyIGRvZXMgbm90IGV4aXN0CmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5oaWdobGlnaHRlci5zZW1hbnRpY2FuYWx5emVyLktvdGxpblNlbWFudGljQW5hbHl6ZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9sYW5ndWFnZS9Lb3RsaW5MYW5ndWFnZS5qYXZhOjI2OiBlcnJvcjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5oaW50cyBkb2VzIG5vdCBleGlzdAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4uaGludHMuS290bGluSGludHNQcm92aWRlcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi9sYW5ndWFnZS9Lb3RsaW5MYW5ndWFnZS5qYXZhOjI3OiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5pbmRleGVyLktvdGxpbkluZGV4ZXJGYWN0b3J5OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBzeW1ib2w6ICAgY2xhc3MgS290bGluSW5kZXhlckZhY3RvcnkKICBsb2NhdGlvbjogcGFja2FnZSBvcmcuamV0YnJhaW5zLmtvdGxpbi5pbmRleGVyCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2xhbmd1YWdlL0tvdGxpbkxhbmd1YWdlLmphdmE6Mjg6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnJlZmFjdG9yaW5ncy5yZW5hbWUuS290bGluSW5zdGFudFJlbmFtZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogIHN5bWJvbDogICBjbGFzcyBLb3RsaW5JbnN0YW50UmVuYW1lcgogIGxvY2F0aW9uOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLnJlZmFjdG9yaW5ncy5yZW5hbWUKL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcmVzb2x2ZS9CdWlsdEluc1JlZmVyZW5jZVJlc29sdmVyLmphdmE6Njg6IGVycm9yOiBwYWNrYWdlIG9yZy5qZXRicmFpbnMua290bGluLm1vZGVsIGRvZXMgbm90IGV4aXN0CmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5tb2RlbC5Lb3RsaW5FbnZpcm9ubWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9vcmcvamV0YnJhaW5zL2tvdGxpbi91dGlscy9Qcm9qZWN0VXRpbHMuamF2YTozMDogZXJyb3I6IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4uYnVpbGRlciBkb2VzIG5vdCBleGlzdAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4uYnVpbGRlci5Lb3RsaW5Qc2lNYW5hZ2VyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vdXRpbHMvUHJvamVjdFV0aWxzLmphdmE6MzI6IGVycm9yOiBjYW5ub3QgZmluZCBzeW1ib2wKaW1wb3J0IG9yZy5qZXRicmFpbnMua290bGluLnByb2plY3RzZXh0ZW5zaW9ucy5Lb3RsaW5Qcm9qZWN0SGVscGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogIHN5bWJvbDogICBjbGFzcyBLb3RsaW5Qcm9qZWN0SGVscGVyCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3V0aWxzL1Byb2plY3RVdGlscy5qYXZhOjMzOiBlcnJvcjogY2Fubm90IGZpbmQgc3ltYm9sCmltcG9ydCBvcmcuamV0YnJhaW5zLmtvdGxpbi5wcm9qZWN0c2V4dGVuc2lvbnMuQ2xhc3NQYXRoRXh0ZW5kZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgc3ltYm9sOiAgIGNsYXNzIENsYXNzUGF0aEV4dGVuZGVyCiAgbG9jYXRpb246IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4ucHJvamVjdHNleHRlbnNpb25zCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3JlZmFjdG9yaW5ncy9yZW5hbWUvS290bGluQWN0aW9uc0ltcGxlbWVudGF0aW9uUHJvdmlkZXIuamF2YToyNDogZXJyb3I6IHBhY2thZ2Ugb3JnLmpldGJyYWlucy5rb3RsaW4uYnVpbGRlciBkb2VzIG5vdCBleGlzdAppbXBvcnQgb3JnLmpldGJyYWlucy5rb3RsaW4uYnVpbGRlci5Lb3RsaW5Qc2lNYW5hZ2VyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vaW5zdGFsbGVyL1llbnRhLmphdmE6OTc6IGVycm9yOiBpbmNvcnJlY3QgdXNlIG9mIGlubGluZSB0YWcKICAgICAqIEBpbmhlcml0RG9jCiAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2ZpbGUvdGVtcGxhdGVzL3BhY2thZ2VjaG9vc2VyL1RhcmdldENob29zZXJQYW5lbEdVSS5qYXZhOjczOiB3YXJuaW5nOiBubyBAcGFyYW0gZm9yIHAKICAgIHB1YmxpYyBUYXJnZXRDaG9vc2VyUGFuZWxHVUkoUHJvamVjdCBwLCBTb3VyY2VHcm91cFtdIGdyb3VwcywgQ29tcG9uZW50IGJvdHRvbVBhbmVsLCBUeXBlIHR5cGUsIFN0cmluZyBmaWxlVHlwZSkgewogICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vZmlsZS90ZW1wbGF0ZXMvcGFja2FnZWNob29zZXIvVGFyZ2V0Q2hvb3NlclBhbmVsR1VJLmphdmE6NzM6IHdhcm5pbmc6IG5vIEBwYXJhbSBmb3IgZ3JvdXBzCiAgICBwdWJsaWMgVGFyZ2V0Q2hvb3NlclBhbmVsR1VJKFByb2plY3QgcCwgU291cmNlR3JvdXBbXSBncm91cHMsIENvbXBvbmVudCBib3R0b21QYW5lbCwgVHlwZSB0eXBlLCBTdHJpbmcgZmlsZVR5cGUpIHsKICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2ZpbGUvdGVtcGxhdGVzL3BhY2thZ2VjaG9vc2VyL1RhcmdldENob29zZXJQYW5lbEdVSS5qYXZhOjczOiB3YXJuaW5nOiBubyBAcGFyYW0gZm9yIGJvdHRvbVBhbmVsCiAgICBwdWJsaWMgVGFyZ2V0Q2hvb3NlclBhbmVsR1VJKFByb2plY3QgcCwgU291cmNlR3JvdXBbXSBncm91cHMsIENvbXBvbmVudCBib3R0b21QYW5lbCwgVHlwZSB0eXBlLCBTdHJpbmcgZmlsZVR5cGUpIHsKICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL2ZpbGUvdGVtcGxhdGVzL3BhY2thZ2VjaG9vc2VyL1RhcmdldENob29zZXJQYW5lbEdVSS5qYXZhOjczOiB3YXJuaW5nOiBubyBAcGFyYW0gZm9yIHR5cGUKICAgIHB1YmxpYyBUYXJnZXRDaG9vc2VyUGFuZWxHVUkoUHJvamVjdCBwLCBTb3VyY2VHcm91cFtdIGdyb3VwcywgQ29tcG9uZW50IGJvdHRvbVBhbmVsLCBUeXBlIHR5cGUsIFN0cmluZyBmaWxlVHlwZSkgewogICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vZmlsZS90ZW1wbGF0ZXMvcGFja2FnZWNob29zZXIvVGFyZ2V0Q2hvb3NlclBhbmVsR1VJLmphdmE6NzM6IHdhcm5pbmc6IG5vIEBwYXJhbSBmb3IgZmlsZVR5cGUKICAgIHB1YmxpYyBUYXJnZXRDaG9vc2VyUGFuZWxHVUkoUHJvamVjdCBwLCBTb3VyY2VHcm91cFtdIGdyb3VwcywgQ29tcG9uZW50IGJvdHRvbVBhbmVsLCBUeXBlIHR5cGUsIFN0cmluZyBmaWxlVHlwZSkgewogICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvY2xhc3NwYXRoL0oyU0VFeHRlbmRlZENsYXNzUGF0aFByb3ZpZGVyLmphdmE6MzcyOiB3YXJuaW5nOiBubyBAcGFyYW0gZm9yIHR5cGUKICAgIHB1YmxpYyBDbGFzc1BhdGhbXSBnZXRQcm9qZWN0Q2xhc3NQYXRocyhmaW5hbCBTdHJpbmcgdHlwZSkgewogICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvY2xhc3NwYXRoL0oyU0VFeHRlbmRlZENsYXNzUGF0aFByb3ZpZGVyLmphdmE6MzcyOiB3YXJuaW5nOiBubyBAcmV0dXJuCiAgICBwdWJsaWMgQ2xhc3NQYXRoW10gZ2V0UHJvamVjdENsYXNzUGF0aHMoZmluYWwgU3RyaW5nIHR5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL2pyL05ldEJlYW5zUHJvamVjdHMvb3NzL2tvdGxpbi1uZXRiZWFucy9zcmMvbWFpbi9qYXZhL29yZy9qZXRicmFpbnMva290bGluL3Byb2plY3RzZXh0ZW5zaW9ucy9qMnNlL2NsYXNzcGF0aC9KMlNFRXh0ZW5kZWRDbGFzc1BhdGhQcm92aWRlci5qYXZhOjQwMzogd2FybmluZzogbm8gQHBhcmFtIGZvciB0eXBlCiAgICBwdWJsaWMgQ2xhc3NQYXRoIGdldFByb2plY3RTb3VyY2VzQ2xhc3NQYXRoKFN0cmluZyB0eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvb3JnL2pldGJyYWlucy9rb3RsaW4vcHJvamVjdHNleHRlbnNpb25zL2oyc2UvY2xhc3NwYXRoL0oyU0VFeHRlbmRlZENsYXNzUGF0aFByb3ZpZGVyLmphdmE6NDAzOiB3YXJuaW5nOiBubyBAcmV0dXJuCiAgICBwdWJsaWMgQ2xhc3NQYXRoIGdldFByb2plY3RTb3VyY2VzQ2xhc3NQYXRoKFN0cmluZyB0eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvY29tL2ludGVsbGlqL2Zvcm1hdHRpbmcvRGVwZW5kYW50U3BhY2luZ0ltcGwuamF2YToxNDogZXJyb3I6IHNlbGYtY2xvc2luZyBlbGVtZW50IG5vdCBhbGxvd2VkCiAqIDxwLz4KICAgXgovaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvc3JjL21haW4vamF2YS9jb20vaW50ZWxsaWovdXRpbC9jb250YWluZXJzL011bHRpTWFwLmphdmE6MTY4OiB3YXJuaW5nOiBubyBAcGFyYW0gZm9yIGtleQogICAgcHVibGljIHZvaWQgcmVtb3ZlVmFsdWUoSyBrZXksIFYgdmFsdWUpIHsKICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvY29tL2ludGVsbGlqL3V0aWwvY29udGFpbmVycy9NdWx0aU1hcC5qYXZhOjE2ODogd2FybmluZzogbm8gQHBhcmFtIGZvciB2YWx1ZQogICAgcHVibGljIHZvaWQgcmVtb3ZlVmFsdWUoSyBrZXksIFYgdmFsdWUpIHsKICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvY29tL2ludGVsbGlqL3V0aWwvY29udGFpbmVycy9NdWx0aU1hcC5qYXZhOjI3Mjogd2FybmluZzogbm8gQHBhcmFtIGZvciA8Sz4KICAgIHB1YmxpYyBzdGF0aWMgPEssIFY+IE11bHRpTWFwPEssIFY+IGNyZWF0ZSgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvY29tL2ludGVsbGlqL3V0aWwvY29udGFpbmVycy9NdWx0aU1hcC5qYXZhOjI3Mjogd2FybmluZzogbm8gQHBhcmFtIGZvciA8Vj4KICAgIHB1YmxpYyBzdGF0aWMgPEssIFY+IE11bHRpTWFwPEssIFY+IGNyZWF0ZSgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvanIvTmV0QmVhbnNQcm9qZWN0cy9vc3Mva290bGluLW5ldGJlYW5zL3NyYy9tYWluL2phdmEvY29tL2ludGVsbGlqL3V0aWwvY29udGFpbmVycy9NdWx0aU1hcC5qYXZhOjI3Mjogd2FybmluZzogbm8gQHJldHVybgogICAgcHVibGljIHN0YXRpYyA8SywgVj4gTXVsdGlNYXA8SywgVj4gY3JlYXRlKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoKQ29tbWFuZCBsaW5lIHdhczogL3Vzci9saWIvanZtL2phdmEtOC1vcmFjbGUvanJlLy4uL2Jpbi9qYXZhZG9jIEBvcHRpb25zIEBwYWNrYWdlcwoKUmVmZXIgdG8gdGhlIGdlbmVyYXRlZCBKYXZhZG9jIGZpbGVzIGluICcvaG9tZS9qci9OZXRCZWFuc1Byb2plY3RzL29zcy9rb3RsaW4tbmV0YmVhbnMvdGFyZ2V0L2FwaWRvY3MnIGRpci4K"},"mojo":{"phase":"package","impl":"org.apache.maven.plugin.javadoc.JavadocJar","urls":["file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/plugins\/maven-javadoc-plugin\/2.10.4\/maven-javadoc-plugin-2.10.4.jar","file:\/home\/jr\/.m2\/repository\/org\/slf4j\/slf4j-jdk14\/1.5.6\/slf4j-jdk14-1.5.6.jar","file:\/home\/jr\/.m2\/repository\/org\/slf4j\/jcl-over-slf4j\/1.5.6\/jcl-over-slf4j-1.5.6.jar","file:\/home\/jr\/.m2\/repository\/commons-cli\/commons-cli\/1.2\/commons-cli-1.2.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-interactivity-api\/1.0-alpha-4\/plexus-interactivity-api-1.0-alpha-4.jar","file:\/home\/jr\/.m2\/repository\/org\/sonatype\/plexus\/plexus-sec-dispatcher\/1.3\/plexus-sec-dispatcher-1.3.jar","file:\/home\/jr\/.m2\/repository\/org\/sonatype\/plexus\/plexus-cipher\/1.4\/plexus-cipher-1.4.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-interpolation\/1.11\/plexus-interpolation-1.11.jar","file:\/home\/jr\/.m2\/repository\/backport-util-concurrent\/backport-util-concurrent\/3.1\/backport-util-concurrent-3.1.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/reporting\/maven-reporting-api\/3.0\/maven-reporting-api-3.0.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/maven-archiver\/2.5\/maven-archiver-2.5.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/shared\/maven-invoker\/2.2\/maven-invoker-2.2.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-component-annotations\/1.5.5\/plexus-component-annotations-1.5.5.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/shared\/maven-common-artifact-filters\/1.3\/maven-common-artifact-filters-1.3.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/doxia\/doxia-sink-api\/1.4\/doxia-sink-api-1.4.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/doxia\/doxia-logging-api\/1.4\/doxia-logging-api-1.4.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/doxia\/doxia-site-renderer\/1.4\/doxia-site-renderer-1.4.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/doxia\/doxia-core\/1.4\/doxia-core-1.4.jar","file:\/home\/jr\/.m2\/repository\/xerces\/xercesImpl\/2.9.1\/xercesImpl-2.9.1.jar","file:\/home\/jr\/.m2\/repository\/xml-apis\/xml-apis\/1.3.04\/xml-apis-1.3.04.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/doxia\/doxia-decoration-model\/1.4\/doxia-decoration-model-1.4.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/doxia\/doxia-module-xhtml\/1.4\/doxia-module-xhtml-1.4.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/maven\/doxia\/doxia-module-fml\/1.4\/doxia-module-fml-1.4.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-i18n\/1.0-beta-7\/plexus-i18n-1.0-beta-7.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-velocity\/1.1.7\/plexus-velocity-1.1.7.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/velocity\/velocity\/1.5\/velocity-1.5.jar","file:\/home\/jr\/.m2\/repository\/oro\/oro\/2.0.8\/oro-2.0.8.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/velocity\/velocity-tools\/2.0\/velocity-tools-2.0.jar","file:\/home\/jr\/.m2\/repository\/commons-beanutils\/commons-beanutils\/1.7.0\/commons-beanutils-1.7.0.jar","file:\/home\/jr\/.m2\/repository\/commons-digester\/commons-digester\/1.8\/commons-digester-1.8.jar","file:\/home\/jr\/.m2\/repository\/commons-chain\/commons-chain\/1.1\/commons-chain-1.1.jar","file:\/home\/jr\/.m2\/repository\/commons-validator\/commons-validator\/1.3.1\/commons-validator-1.3.1.jar","file:\/home\/jr\/.m2\/repository\/dom4j\/dom4j\/1.1\/dom4j-1.1.jar","file:\/home\/jr\/.m2\/repository\/sslext\/sslext\/1.2-0\/sslext-1.2-0.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/struts\/struts-core\/1.3.8\/struts-core-1.3.8.jar","file:\/home\/jr\/.m2\/repository\/antlr\/antlr\/2.7.2\/antlr-2.7.2.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/struts\/struts-taglib\/1.3.8\/struts-taglib-1.3.8.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/struts\/struts-tiles\/1.3.8\/struts-tiles-1.3.8.jar","file:\/home\/jr\/.m2\/repository\/commons-collections\/commons-collections\/3.2.1\/commons-collections-3.2.1.jar","file:\/home\/jr\/.m2\/repository\/commons-lang\/commons-lang\/2.4\/commons-lang-2.4.jar","file:\/home\/jr\/.m2\/repository\/commons-io\/commons-io\/2.5\/commons-io-2.5.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/httpcomponents\/httpclient\/4.2.3\/httpclient-4.2.3.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/httpcomponents\/httpcore\/4.2.2\/httpcore-4.2.2.jar","file:\/home\/jr\/.m2\/repository\/commons-codec\/commons-codec\/1.6\/commons-codec-1.6.jar","file:\/home\/jr\/.m2\/repository\/commons-logging\/commons-logging\/1.1.1\/commons-logging-1.1.1.jar","file:\/home\/jr\/.m2\/repository\/log4j\/log4j\/1.2.14\/log4j-1.2.14.jar","file:\/home\/jr\/.m2\/repository\/com\/thoughtworks\/qdox\/qdox\/1.12.1\/qdox-1.12.1.jar","file:\/home\/jr\/.m2\/repository\/junit\/junit\/3.8.1\/junit-3.8.1.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-archiver\/3.3\/plexus-archiver-3.3.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-io\/2.7.1\/plexus-io-2.7.1.jar","file:\/home\/jr\/.m2\/repository\/org\/apache\/commons\/commons-compress\/1.11\/commons-compress-1.11.jar","file:\/home\/jr\/.m2\/repository\/org\/iq80\/snappy\/snappy\/0.4\/snappy-0.4.jar","file:\/home\/jr\/.m2\/repository\/org\/tukaani\/xz\/1.5\/xz-1.5.jar","file:\/home\/jr\/.m2\/repository\/org\/codehaus\/plexus\/plexus-utils\/3.0.24\/plexus-utils-3.0.24.jar"],"goal":"jar","id":"org.apache.maven.plugins:maven-javadoc-plugin:2.10.4","source":"LIFECYCLE","execId":"attach-javadocs"},"type":"MojoFailed"} ------------------------------------------------------------------------ BUILD FAILURE ------------------------------------------------------------------------ Total time: 01:26 min Finished at: 2017-03-28T23:21:37+02:00 Final Memory: 106M/1523M ------------------------------------------------------------------------ Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar (attach-javadocs) on project kotlin.netbeans.plugin: MavenReportException: Error while generating Javadoc: Exit code: 1 - /home/jr/NetBeansProjects/oss/kotlin-netbeans/src/main/java/org/netbeans/modules/maven/kotlin/KotlinActionProvider.java:20: error: cannot find symbol import org.jetbrains.kotlin.projectsextensions.maven.UtilsKt; ^ symbol: class UtilsKt location: package org.jetbrains.kotlin.projectsextensions.maven /home/jr/NetBeansProjects/oss/kotlin-netbeans/src/main/java/org/jetbrains/kotlin/formatting/KotlinFormatterUtils.java:35: error: package org.jetbrains.kotlin.model does not exist import org.jetbrains.kotlin.model.KotlinEnvironment; ^ /home/jr/NetBeansProjects/oss/kotlin-netbeans/src/main/java/org/jetbrains/kotlin/filesystem/lightclasses/LightClassFile.java:20: error: cannot find symbol import org.jetbrains.kotlin.projectsextensions.KotlinProjectHelper; ^ symbol: class KotlinProjectHelper location: package org.jetbrains.kotlin.projectsextensions /home/jr/NetBeansProjects/oss/kotlin-netbeans/src/main/java/org/jetbrains/kotlin/j2k/Java2KotlinConverter.java:26: error: package org.jetbrains.kotlin.model does not exist import org.jetbrains.kotlin.model.KotlinEnvironment; ^ [...] Command line was: /usr/lib/jvm/java-8-oracle/jre/../bin/javadoc @options @packages Refer to the generated Javadoc files in '/home/jr/NetBeansProjects/oss/kotlin-netbeans/target/apidocs' dir. -> [Help 1] To see the full stack trace of the errors, re-run Maven with the -e switch. Re-run Maven using the -X switch to enable full debug logging. For more information about the errors and possible solutions, please read the following articles: [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
I remembered I had the same problem when compiling WicketStuff, so I included this into the POM:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.4</version> <configuration> <detectOfflineLinks>false</detectOfflineLinks> <minmemory>128m</minmemory> <maxmemory>256m</maxmemory> <notimestamp>true</notimestamp> <quiet>true</quiet> <links> <link>http://download.oracle.com/javase/1.5.0/docs/api</link> <link>http://download.oracle.com/javaee/5/api</link> <link>http://ci.apache.org/projects/wicket/apidocs/6.x</link> <link>http://docs.spring.io/spring/docs/3.0.x/javadoc-api</link> <link>http://logback.qos.ch/apidocs</link> </links> <failOnError>false</failOnError> <additionalparam>-Xdoclint:none</additionalparam> <skip>${javadoc.disabled}</skip> </configuration> <executions> <execution> <id>attach-javadoc</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin>
And this time after a "mvn clean" & "Install/Reload in Development IDE":
Building jar: /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/kotlin.netbeans.plugin-0.2.0-SNAPSHOT-javadoc.jar ------------------------------------------------------------------------ BUILD SUCCESS ------------------------------------------------------------------------ Total time: 01:36 min Finished at: 2017-03-28T23:28:14+02:00 Final Memory: 102M/1643M ------------------------------------------------------------------------ NetBeans: Deploying NBM module in development IDE... Deploying test module /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/nbm/netbeans/extra/modules/Kotlin-kotlin-netbeans-plugin.jar... Enabling StandardModule:Kotlin.kotlin.netbeans.plugin jarFile: /home/jr/NetBeansProjects/oss/kotlin-netbeans/target/nbm/netbeans/extra/modules/Kotlin-kotlin-netbeans-plugin.jar... Done.
This seems to work since I have now under "New File" entries like "Kotlin class". But if I add a Kotlin class to my project I cannot open it. The edit-area is not shown. It opens a new tab with the filename but the content of the file and any other file I open after I opened the Kotlin file simply does not show up. As soon as I close the Kotlin file all other files (java and xml files) are showing up normally again.
The progress bar which is saying "Loading Kotlin environment" is loading forever (>15 minutes and still counting).
In the Notifications window there's an info message that "Kotlin is not configured". Clicking the link results in nothing. (Compiling is working fine).
Next thing I tried was debugging the source. After the debugger started a new instance of NetBeans I was able to open also Kotlin files.
The message "Kotlin is not configured" came from this method:
private static boolean kotlinPluginConfigured(MavenProject mavenProject) { Set<Artifact> pluginArtifacts = mavenProject.getPluginArtifacts(); if (pluginArtifacts == null) return false; for (Artifact plugin : pluginArtifacts) { String groupId = plugin.getGroupId(); String artifactId = plugin.getArtifactId(); if (groupId.equals("org.jetbrains.kotlin") && artifactId.equals("kotlin-maven-plugin")) return true; } return false; }
After I saw this method I closed every other project (I still had a few Java projects open), except my test project and the plugin-project. And voila, even though the progressgar is still "Loading Kotlin environment", I could finally write, compile and run my first Kotlin "Hello World" from NetBeans.
[edit]
After playing around a bit I realized that Codecompletion is not working and I get the following silent exception:
java.lang.NoSuchMethodError: com.intellij.openapi.vfs.VirtualFile.exists()Z at org.jetbrains.kotlin.resolve.KotlinPackagePartProvider.processNotLoadedRelevantRoots(KotlinPackagePartProvider.kt:77) at org.jetbrains.kotlin.resolve.KotlinPackagePartProvider.getPackageParts(KotlinPackagePartProvider.kt:48) at org.jetbrains.kotlin.resolve.KotlinPackagePartProvider.findPackageParts(KotlinPackagePartProvider.kt:25) at org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageFragment$binaryClasses$2.invoke(LazyJavaPackageFragment.kt:37) at org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageFragment$binaryClasses$2.invoke(LazyJavaPackageFragment.kt:32) at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:323) at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:364) at org.jetbrains.kotlin.storage.StorageKt.getValue(storage.kt:39) at org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageFragment.getBinaryClasses$kotlin_compiler(LazyJavaPackageFragment.kt) at org.jetbrains.kotlin.load.java.lazy.descriptors.JvmPackageScope$kotlinScopes$2.invoke(JvmPackageScope.kt:44) at org.jetbrains.kotlin.load.java.lazy.descriptors.JvmPackageScope$kotlinScopes$2.invoke(JvmPackageScope.kt:36) at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:323) at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:364) at org.jetbrains.kotlin.storage.StorageKt.getValue(storage.kt:39) at org.jetbrains.kotlin.load.java.lazy.descriptors.JvmPackageScope.getKotlinScopes(JvmPackageScope.kt) at org.jetbrains.kotlin.load.java.lazy.descriptors.JvmPackageScope.getContributedDescriptors(JvmPackageScope.kt:71) at org.jetbrains.kotlin.resolve.scopes.ChainedMemberScope.getContributedDescriptors(ChainedMemberScope.kt:42) at org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter.getContributedDescriptors(AbstractScopeAdapter.kt:53) at org.jetbrains.kotlin.resolve.scopes.ResolutionScope$DefaultImpls.getContributedDescriptors$default(ResolutionScope.kt:37) at org.jetbrains.kotlin.resolve.lazy.DefaultImportProvider$excludedImports$2.invoke(DefaultImportProvider.kt:49) at org.jetbrains.kotlin.resolve.lazy.DefaultImportProvider$excludedImports$2.invoke(DefaultImportProvider.kt:35) at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:323) at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:364) at org.jetbrains.kotlin.storage.StorageKt.getValue(storage.kt:39) at org.jetbrains.kotlin.resolve.lazy.DefaultImportProvider.getExcludedImports(DefaultImportProvider.kt) at org.jetbrains.kotlin.resolve.lazy.FileScopeFactory.createScopesForFile(FileScopeFactory.kt:105) at org.jetbrains.kotlin.resolve.lazy.FileScopeFactory.createScopesForFile$default(FileScopeFactory.kt:62) at org.jetbrains.kotlin.resolve.lazy.FileScopeProviderImpl$cache$1.invoke(FileScopeProvider.kt:46) at org.jetbrains.kotlin.resolve.lazy.FileScopeProviderImpl$cache$1.invoke(FileScopeProvider.kt:38) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:402) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:470) at org.jetbrains.kotlin.resolve.lazy.FileScopeProviderImpl.getFileScopes(FileScopeProvider.kt:51) at org.jetbrains.kotlin.resolve.lazy.FileScopeProvider$DefaultImpls.getFileResolutionScope(FileScopeProvider.kt:28) at org.jetbrains.kotlin.resolve.lazy.FileScopeProviderImpl.getFileResolutionScope(FileScopeProvider.kt:38) at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageMemberScope.getScopeForMemberDeclarationResolution(LazyPackageMemberScope.kt:40) at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.doGetFunctions(AbstractLazyMemberScope.kt:85) at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.access$doGetFunctions(AbstractLazyMemberScope.kt:39) at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$functionDescriptors$1.invoke(AbstractLazyMemberScope.kt:49) at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$functionDescriptors$1.invoke(AbstractLazyMemberScope.kt:39) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:402) at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:470) at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.getContributedFunctions(AbstractLazyMemberScope.kt:77) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$1.visitNamedFunction(LazyDeclarationResolver.java:167) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$1.visitNamedFunction(LazyDeclarationResolver.java:118) at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:48) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.java:118) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.java:113) at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.createFunctionDescriptors(LazyTopDownAnalyzer.kt:252) at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations(LazyTopDownAnalyzer.kt:190) at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations$default(LazyTopDownAnalyzer.kt:56) at org.jetbrains.kotlin.resolve.NetBeansAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(NetBeansAnalyzerFacadeForJVM.kt:143) at org.jetbrains.kotlin.resolve.KotlinAnalyzer.analyzeFile(KotlinAnalyzer.kt:29) at org.jetbrains.kotlin.diagnostics.netbeans.parser.KotlinParser$Companion.analyze(KotlinParser.kt:46) at org.jetbrains.kotlin.diagnostics.netbeans.parser.KotlinParser$Companion.getAnalysisResult(KotlinParser.kt:43) at org.jetbrains.kotlin.diagnostics.netbeans.parser.KotlinParser.parse(KotlinParser.kt:73) at org.netbeans.modules.parsing.impl.TaskProcessor.callParse(TaskProcessor.java:621) at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:251) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:798) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:304) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:725) [catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:686) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443) at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)
I will investigate this the next days further or file a bug report.