Eclipse Tycho build issue - eclipse-rcp

I Created RCP-Product(based on 4.16 eclipse) having 200+ plugins and the product configuration file is based on plugins and I am building my tool with tycho(1.7.0). I want to warp plugins at root-level from tycho build so that I can upgrade these plugins.
For this I have added installMode="root" for plugins,
e.g. <plugin id="com.myproduct.commands.plugin" installMode="root"/>
Build is successful but when I launch the product from build and check install-details, plugins are not installed at root-level.
Since I cannot migrate my whole application to feature, can anyone help me how I can wrap plugins at root-level.

Related

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

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.

Eclipse v4.7.2 without delta-pack: How to perform a multiplatform headless PDE build?

Now that eclipse 4.7.2 is out and the eclipse team decided to not build the so-called "delta-pack" anymore, I don'tknow how to perform a PDE headless build with ant..
Official PDE build documentation here http://help.eclipse.org/mars/index.jsp?nav=%2F4_2_0
states that variable "baseLocation" should point to "the location of an eclipse install containing all the pre-built features and plug-ins that your product requires in features/ and plugins/ subdirectories"
Delta pack is no more produced since v4.5, Check this question
The official build tool is now eclipse tycho: https://www.eclipse.org/tycho/documentation.php

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.

Netbeans won't let me change a project's Netbeans platform

I've downloaded the VisualVM source and am trying to compile the Glassfish plugin using Netbeans 7.01. Doing so results in the following error:
C:\source\visualvm\trunk\plugins\glassfish\nbproject\build-impl.xml:48: You must define 'nbplatform.VisualVM_100609-dd12ae64a19c.harness.dir'
That lead me to the project settings which shows the platform as "Netbeans IDE...". The drop down box is grayed out so I can't select the correct platform.
Yet, on my hello world VisualVM plugin I can set the platform to the appropriate platform and it runs great.
To try and resolve this I've tried creating platform.properties file and putting it in the nbproject folder with the following entries. However, this doesn't seem to be working
harness.dir=mypath/visualvm/visualvm_13
and
nbplatform.VisualVM_100609-dd12ae64a19c.harness.dir=mypath/visualvm/visualvm_13
Any suggestions.
Glassfish plugin is part of 'plugins' NetBeans modules suite. All modules from a Modules suite has to be build against the same version of NetBeans platform application (in our case VisualVM). This means that you can change the NetBeans Platform for the whole suite, go to the properties of the 'plugins' suite a change the platform there.
In order to build the VisualVM and it's associated plugins you must download the NetBeans platform and profiler binaries that are available on the VisualVM website's build guide section.
For example, to build the 1.3.2 release you would go to this section and download the NetBeans 6.9.1 platform and profiler binaries available through the link located on that page. The link I've provided also gives you instructions for obtaining the proper VisualVM sources from the repository and building VisualVM and it's plugins. For example, the sources for the 1.3.2 release can be checked out using the following url:
https://svn.java.net/svn/visualvm~svn/branches/release132
And once you've completed the checkout and extracted the NetBeans platform binaries (downloaded from the above link) into the
release132/visualvm directory, you can build the entire application and it's plugins by running ant build from the release32/plugins directory.
I successfully completed this entire process and can verify that the instructions work for 1.3.2. However, the instructions for building the trunk did not result in a successful build due to at least one missing dependency.
What the error that you were seeing was telling you was that the NetBeans platform's build harness could not be located. The harness is included in the downloadable binary and once you've extracted it into the release32/visualvm directory the values that are in the project.properties file will once again be valid. This is of course a good example of why you should keep everything needed to successfully reproduce a build in your repository!

Getting a RCP feature to export to a p2 site that supports multiple platforms using Buckminster

I have a simple RCP Plugin (with a product) and I want it to run in atleast Linux and Windows (32 and 64bit). I have a product that contains a Feature from which buckminster uses to create the p2.site. (I only use a build.properties and buckminster.properties files, no *.cspec and *.rmap files, since these probably get generated by buckminster from the RCP product/feature files).
My problem is that my feature has a link to the 64bit linux swt plugin (I'm running 64bit linux) but if I add references to the windows swt plugins to my RCP .product the buckminster build fails to resolve these plugins and then does not export the p2.site correctly.
How do I get buckminster to build the p2 site by looking at the dependencies of my RCP .product file and if it doesn't resolve the win32 or win64 swt libraries from my workspace that it will look else where for these dependencies?
I like the idea of buckminster determining my project dependencies from my .product file so I don't have to keep a .cspec and a .product file in sync, when I make changes to my project's dependencies. If the dependencies are not found on my workspace then I want buckminster to find the missing dependencies (could be all of them if running from Hudson server) from "maybe" a .rmap etc
You have to execute your site.p2 target several times, to provide a build for each platform.
See the tutorial on the Eclipse wiki or on Ralf Ebert's blog about more specific details.