Changing Feature and Plugin version in PDE headless build - eclipse

Am able to successfully build a feature using PDE Headless mechanism
But after the build is successful, the version of the plugins and feature is set to 0.0.0. This is expected because, in my feature and plugins the version is set to 0.0.0.qualifier.
What am expecting is, change/update the version while PDE build takes place and this version has to be set for both the feature and plugins
Ex: after the PDE build, my feature and plugins version should be something like this
1.3.0.20140404-1150
where 1.3.5 is the value that i need to specify (or give as input) to the PDE headless build
Is it possible? If yes, please guide me to achieve this.
Any pointers in this direction is much appreciated.
NOTE: I need to update the version of both plugins and feature while PDE build takes place and its a feature build not a product build

You can start by setting the initial versions in your source code/IDE and then use API tools to help you stay consistent.See http://www.eclipse.org/pde/pde-api-tools/ and http://www.ibm.com/developerworks/library/os-eclipse-api-tools/

Related

Rcp 4 feature how to use different versions of same plugin from different update sites

My company has a featured based RCP 4 app. We use tycho to build the app with a predefined target platform. There are several plugins that are retrieved from separate p2 update sites that have different versions of the same plugin that are both needed for our app to run. However, it appears that Eclipse only picks up the latest version of the plugin when the code is executed so my app fails to run properly.
I considered an article that had a similar problem, but the solution seemed to only deal with the issue where the plugins were defined in a dependency feature, not retrieved from a separate update site.
I've already tried including both versions of the plugins in the feature.xml with the correct "version=" value for each, but still only the latest version is used. What I want to know is how to get Eclipse to include both versions of the same plugin from the feature definition when the product is excecuted?

Developing with the latest Processing version in Eclipse

I just found out that the Processing Eclipse plugin is not under active development, and for that matter uses a rather old version of Eclipse.
Eclipse plugin project for Processing
I tried to to use the latest core.jar lib with the plugin but that didnt do. Is there a way to use develop Processing sketches in Eclipse using the latest Procssing version. Thanks
I warmly recommend the Proclipsing plugin.
Eclipse > Help > Install New Software > Add >
http://proclipsing.googlecode.com/svn/tags/current_releases/proclipsingSite/
There's also a quick video tutorial available:
It allows you to easily create a Processing project (java but links the core.jar and extends a PApplet for you) and also has tools to export a Processing Application or Applet.
All you need to do is point to your Processing install and it will also find your existing libraries.
If you don't want to use any eclipse plugins you can always create a new Java project, add core.jar to the build path and extend PApplet.
Update
Based on your comments, perhaps a half-way method would solve your problem:
Try the PDE X mode in Processing. You get auto-complete, code navigation and renaming.
Update
PDE X is now integrated into the Processing 3.0 pre-release

Eclipse plugin builds should not generate new version of the plugin if nothing has changed

Below is the set up of our project:
Project is a multi module maven project
Maven and tycho is used to build the plugins
Jenkins is used as the CI server and run nightly builds.
Each plugin manifest contains 1.0.0.qualifier as the version number. The qualifier tag is replaced by the time stamp after the build.
Git as the version control system
With the above set up, when the nightly build runs, the plugins get a new version number, even though nothing has changed in the source code of the plugin.What this does is that it produces a lot of redundant versions of the plugin and it becomes a problem when we provide the output of the nightly builds as a update site. Eclipse unnecessarily downloads all the plugins in the update site because the time stamp has changed and it considers all of them as new versions even though nothing has changed in terms of functionality or content for most plugins from the previous versions.
Based on the above explanation, is there a way to prevent generation of new version of the plugins with the nightly builds, may be by configuration change in Jenkins or using a feature in tycho or in Maven etc. The version should be updated automatically with the nightly build for the plugins that have changed(either source code or configuration)
A new feature in Tycho 0.16.0 might help. See http://wiki.eclipse.org/Tycho/Reproducible_Version_Qualifiers

Is there a way in Eclipse to find out plugins that are not used?

I am struggling with this!
While trying to install some features - eclipse keeps complaining about some dependency not met and about old version of some dependencies. The messages are rather not straigtforward.
Is there a way to clean the eclipse installation of the unused plugins? Does eclipse tell you on its own as to which features/plugins have not been used (for a while)?
What would be the definition of an unused plugin? All plugins that Eclipse update manager is referencing are currently in use because they were installed directly or are referenced by plugins that were installed directly.
I am not aware of anything that would actively track which features you are utilizing while using Eclipse and then report on unneeded plugins.
The error that you are running into typically happens because plugin A that you have depends on plugin X v1 and you are trying to install plugin B that requires X v2. Since both v1 and v2 of X cannot be simultaneously installed, installation of B aborts.
Here are the two most common causes of users finding themselves in this situation:
You haven't run "search for updates" recently, so many of your plugins are on older service levels. The plugin you are installing, however, requires a newer service level of a particular plugin. Resolve by updating your installation prior to trying to install the new plugin.
The plugin you are trying to install was not designed to be compatible with the major version of Eclipse that you are running. For instance, you might be running Eclipse "Galileo" 3.5 platform while the plugin you are trying to install was designed to work with Eclipse "Helios" 3.6 platform. You cannot use the update manager to move between major releases. Pay attention to what yearly release the plugin advertises support for. If it needs a newer version and you are willing to upgrade, you will need to download a new package.
Outside of that, post a new question with specific failure message you are getting along with details about your current installation and what you are trying to install. Someone here ought to be able to translate the installation failure into resolution options for you.

RCP based on plugins or features?

I have an RCP application based on plugins because I started this app from a simple Mail example.
I am now wondering what is the difference between an RCP application based on features compare to one based on plugins ?
For information, my RCP will maybe require some advanced features such as headless build, or self update. May be this can impact on the choice of using plugins or features as basis?
Since features are just a collection of plugins (aka, a "packaging" process), you should be able to do in a PDE headless build what you can do with the PDE GUI.
The PDE build page does mention:
Building plug-ins, fragments or features consists of the 3 stages: fetch, generate scripts and build that are described bellow.
You could have some issue for modified plugin, but building features or a final product should work.
Very useful tutorial from ibm for memory leaks in rcp:
http://www.ibm.com/developerworks/library/j-rcp2/index.html