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

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

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.

How to have sbt recognize dependencies from eclipse?

I search some informations about the faisability of the exact inverse protocol described into this popular question.
Using SBT, i want to compile and/or generate a release of an already existing software actively developed with Eclipse and Plug-in Development Environment (PDE) of Eclipse.
Users want to conserve the eclipse GUI tools to define dependencies for each plugins. But we also need a console tool like SBT. Do you think it exists some tools which can generate an SBT project based on plug-in dependencies written using eclipse PDE systems ?
I see that tycho plugin for eclipse can generate maven file, is it possible using SBT and IVY repository ( don't want .pom :( ) ?

How to build and install an Eclipse plugin using ant

How do I build and install an Eclipse plugin using ant? I want to build a plugin as a zip file and then install the plugin on 32bit or 64bit eclipse. What am I supposed to do here?
Indeed, using PDE/Build to achieve a so-called headless build is difficult, but not impossible.
We are still building our RCP this way.
I recommend reading Paulin's and Sharma's tutorials on the issue.
The Eclipse PDE has its own builder which is built on ant. I'm not sure from your question if you are looking to simply build/export your plugin within eclipse or generate ant build scripts that can be run outside of eclipse. The latter is more difficult. Inside eclipse you can simple go to file -> export -> Plugin-Development -> Deployable plugin and the export wizard will walk you through it, you can select to deploy a zip or exploded directory and then select output location and presto you have your plugin built as a jar that can be dropped into an eclipse instance. If you are looking to use ant outside of eclipse to build you need to go through a series of steps that are complicated to get a 'headless build", if this is what you need to do Google "pde headless" build. I've tried it but gave up. There is also a good book "Building highly modular systems with OSGI/Equinox that has a chapter devoted to this. - Duncan

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.

How do I determine the update site/source of an installed Eclipse plugin?

How do I determine the update site/source of an installed Eclipse plugin?
For example, in one of my development versions of Eclipse I have the plugin org.hamcrest.library. From Help - About Eclipse - Installation Details - Plug-ins I can determine that the provider is Eclipse.org, but is it possible to determine the feature or update site from where it came so I can install this in a separate version of Eclipse I have?
All third-party open source bundles that are used by Eclipse are managed by Orbit project. You can install them from Orbit Repository.