What is Buildship and is there a Gradle plugin for NetBeans? - eclipse

Could someone explain this feature named "Buildship" in the Eclipse IDE marketplace? Is this feature available for the Netbeans IDE?

It is a plugin for Eclipse to provide integration with Gradle. It lets you perform Gradle related procedures from within the IDE.
E.g. You can easier import or start new projects configured with Gradle, the Gradle preferences menu allows you to choose which Gradle version will be used (the one installed in your OS or the project's wrapper), tasks view etc. There are some extra menus/buttons for easier access too. For a more thorough description, you can refer to the plugin's page in Eclipse marketplace or the plugin's Github page (it is open-source, as is Eclipse, as is Gradle itself).
It is included in the latest Eclipse versions, at least in the "for Java" and "for Enterprise Java" flavors of the IDE.
To avoid any possible confusion, there is:
The Buildship plugin for integrating Gradle to the Eclipse IDE, adding extra functionality to the IDE itself.
There is also the "eclipse" plugin, used in the build.gradle file of a project. This is a Gradle plugin that enables you to manipulate the files Eclipse uses to build your projects (.classpath, JDT settings etc) from within the buildscript using the Gradle DSL. You can use this plugin even if you are working in another IDE (so that the correct Eclipse files are created and another collaborating developer using Eclipse can correctly build your project).
These are two different plugins for different purposes.
I don't think "Buildship" itself is available for NetBeans since "Buildship" is the name for the Eclipse-specific plugin developed under the Eclipse github page.
For Netbeans exists this plugin for Gradle integration. (If you select Netbeans in gradle.org, it redirects you to the Netbeans plugin website. The plugin version there seems very old but when you open the github page you will see it is actively developed with the latest release in 12/2018).
However I haven't used Netbeans with Gradle and I can not provide any reliable info on how tight the integration is or if there are any other solutions.

Related

Is there a Gradle plugin for Eclipse Luna?

I'm trying to integrate Eclipse Luna with Gradle.
Eclipse Integration Gradle GitHub page includes instructions for Installing Gradle Tooling from update site.
I followed the instructions for the release (stable) version.
After I selected all the components (as shown below) I proceeded with installation.
It didn't go as expected and brought me to the Install Remediation Page (below) that showed that only Gradle IDE component could be installed. ( Click here for larger image).
At this point I'm not sure what caused the problem and what to do about.
The plugin you are using is wrong. There is an update for Luna here.
You can alternatively install the plugin directly within eclipse with this integration link.
Gradleware now offers direct support for the Eclipse IDE. See http://www.vogella.com/tutorials/EclipseGradle/article.html for an introduction.
In addition to plugin memtioned by #Campiador. You must have supported project nature in your eclipse's .project file in order for your project to show up in "Gradle Tasks" view.
See following example:
Add one or more natures in build.gradle file:
eclipse.project {
natures 'org.springsource.ide.eclipse.gradle.core.nature', 'org.eclipse.jdt.core.javanature'
}
After this change, just run gradle eclipse command from your shell/command prompt. Newly generated .project will have proper natures in it. Just refresh your project in eclipse and now you will see your project in Gradle Tasks view.

GWT+Eclipse without GWT_CONTAINER

The situation
I'm using GWT with Eclipse and Google Plugin for Eclipse (GPE).
Gradle is the build tool and the Eclipse classpath is generated by Gradle. As I have no "com.google.gwt.eclipse.core.GWT_CONTAINER" on my classpath, GPE always shows the error "The project 'Test' does not have any GWT SDKs on its build path" and the Console sometimes prints "GWT SDK not installed.".
Annother effect is that Eclipse doesn't let me GWT-compile the project (but running dev mode works fine). But that one is ok for me, as I compile using Gradle.
Things I'm aware of
I know that I can exclude all GWT depedencies from the Eclipse classpath and add the container through Gradle (I did that for other projects). But as I can't enforce the GWT version provided by Eclipse (I can only specify the SDK's name in the classpath by adding the suffix "/" to the conatiner), I think thats an ugly solution. Another point is that the GPE update site only lists the latest GWT version available. There's no way to automatically install an older version (yes you can provide one externally).
When using GPE together with Maven and m2e it simply works: GPE links no real SDK for Maven projects but there's a link to the "com.google.gwt" group in the local Maven repository. But that's magic I can't use because:
Gradle's local repository format is different to Maven's
This logic is implemented in the plugin "com.google.gdt.eclipse.maven" and I can't use that without adding a pom.xml to the project
The questions
Is there a possibility to deactivate this nasty error without loosing other GPE features?
Is it possible to do something similar to what GPE+m2e does without
creating my own Eclipse plugin?
Am I right that excluding the jars and adding the container is the only viable solution by now?
You can adapt this library to launch with custom classpath and other settings: https://github.com/eclecticlogic/gwt-launcher

AbstractUIPlugin error and Missing tabs in plugin.xml from eclipse

I checked in eclipse/java plugin project from svn repository.
Eclipse automatically builds the code to show hundreds of errors.
It seems like that eclipse doesn't properly link to the plugin libraries. Googling to find this site that I need dependencies and other tabs in plugin.xml.
What might be wrong? I use Indogo(3.7) on Mac OS X 10.7.4
I used Indigo (3.7) for my Mac, but it happened so that the plugin was built on Helios (3.6). When I run the plugin using Helios, I got the project compiled without errors.
It seems like that some of the plugins are (heavily) version dependent.
Looks like you got the base XML editor instead of the plugin.xml editor.
This is probably caused by your not having the eclipse plugin development environment (PDE) enabled in a new workspace.
Try creating a new plugin project (this will enable the necessary plugin tools), or go to the preferences and enable the "correct" capability. Since the capabilities seem to change from release to release, I always use the first method and then delete the new project.

Customizing Eclipse application launcher when launching a plugin

We are writing an Eclipse plugin that will work in a ClearCase environment i.e., our plugin will work along with the ClearCase SCM plugin for eclipse(available from IBM).
When developing the plugin, our eclipse(RCP & RAP) don't need ClearCase plugin. However, when we launch the plugin thru "Eclipse Application Launcher", the new eclipse does need the ClearCase plugin.
Is it possible to configure the "Eclipse Application Launcher" to include ClearCase plugin(or any different plugin that's not in the base eclipse) when it fires up another eclipse instance?
I could not find a way to do this from the documentation.
I think Target platform is what you are looking for.
You can use a pure Eclipse release(such as Juno) as development tool, then use another collection of compile and runtime plug-ins via specifying a target platform.

Platform-specific dependency creeping into Eclipse plugin

I have implemented a graph editor with Eclipse EMF and GMF frameworks. After completing my project, I realized that this plugin shows dependencies (not explicitly added by me) on some OS-specific plugins.i.e:org.eclipse.ui.win32, org.eclipse.swt.win32.win32.x86. And whenever I have tried to bypass this dependency at my update site something went wrong with the installation process of the plugin.
As such it is impossible to run my plugin in *nix environment or even win64 machines.This seems a very heavy constraint dependency to me. Am I doing something in a wrong way? Or is there no other way of building Eclipse plugins which are cross-platform other than building the project from scratch at each different OSs?
We created a similar style of plug-in in my project. Under "Plug-in Dependencies" in Package Explorer I can see org.eclipse.swt.win32 listed, but it is not listed in required plug-ins in plugin.xml.
We also successfully created an update site which works for Mac users without issue.
So, yes it is possible to have a cross-platform plug-in.
I would suggest you first try to to use "Export..." -> "Deployable plug-ins and fragments" to create a bunch of jar files for your plug-in. See if these can be successfully installed by copying into the drop-ins folder of a fresh eclipse installation. Do this first on a Win32 install, then try on another platform. Once you have that working, use the new Eclipse installation to create the Update site.