dcaoyuan/nbscala

Under Gentoo, "impl"-type netbeans module dependencies prevent plugins from installation

pvgoran opened this issue · 3 comments

In Gentoo, NetBeans is compiled from sources, so its modules (at least some of them, including org.netbeans.modules.extexecution.base) get OpenIDE-Module-Implementation-Version values (in MANIFEST.MF) that depend on the build time, like this: 20161207-unknown-revn. This prevents "impl"-type modules dependencies that are used in scala.console and scala.sbt from matching, because they want the implementation version of org.netbeans.modules.extexecution.base from the official NetBeans modules (which is something like 201609300101).

So I can't install the modules in NetBeans 8.2 under Gentoo. I tried akochnev's build, and I tried to compile nbscala from git.

After investigation, it looks like the "impl"-type dependencies are not needed. I replaced usages of org.netbeans.modules.extexecution.base.ExternalProcessBuilder with org.netbeans.api.extexecution.ExternalProcessBuilder in these two modules, after that the "impl"-type dependencies could be safely removed. This way, I managed to compile and install the modules.

Is it possible to attach a patch here? Or the only way is to fork and create a pull request?

Ok, here is the patch. (I had to rename to .txt before GitHub allowed it.)

remove-impl-module-dependencies.patch.txt

@pvgoran - nice work on tracking down the replacement for the external execution module that became an API! I'm a bit surprised that the rest of the plugin worked when you removed the other implementation dependencies, but it certainly is possible that they're out of date. I'll try out your patch and create a PR for @dcaoyuan to merge in