can my eclipse rcp and plugins be used by other parties? - eclipse-plugin

If I develop my application using eclipse RCP and my own eclipse plugins, can other people copy and paste my plugins and used in other application?
thanks

The short answer is "yes". RCP applications rely on reusable plugins.
The correct answer is "it depends". It depends on what extensions and extension points you define. Basically, plugins need to "talk" to each other in order to work with each other. When you create a plugin, you define who can talk to it and how.
I recommend the following lecture: http://www.vogella.de/articles/EclipseExtensionPoint/article.html

Related

Using Google Guice within Eclipse plugins

Is there a comprehensive discussion of the approaches of using Google Guice in the context of Eclipse plugins? There is the Peaberry project that targets OSGi containers in general, but this seems not to be used much in production plugin projects, which makes me a bit skeptic to use it (someone correct me if I'm wrong).
The complete Xtext and Xtend wiring is done with Guice. This includes the non-Eclipse relevant parts but also the Eclipse plugins and UI components.

RCP for creating standalone application, later converted to plugin

I am developing an standalone GUI for our in-house tool. After it has matured enough, it is supposed to be integrated into Eclipse as a plugin.
I am a newcomer to Java world. I have read about RCP. Is this is correct use case scenario for RCP? If yes, can I use SWT views in a RCP application/plugin?
Is this is correct use case scenario for RCP?
Yes, RCP is a good fit. You can use the same plugin for providing functionality both in Eclipse and in your standalone application.
If yes, can I use SWT views in a RCP application/plugin?
Yes, of course. Until the latest version of RCP (e4) you could only use SWT for GUI (of course, Swing/JavaFX/etc. can be integrated with SWT).
When you develop an Eclipse RCP based application, you in fact develop a number of plug-ins. If you play by a specific set of limited rules, then your plug-in can run unaltered as part of an RCP application and as part of the larger Eclipse IDE.
(One can easily argue that the IDE is "just" a very large RCP application. The IDE is based on the Eclipse Platform of which Eclipse RCP is just a small sub-set...)
I would recommend two books for your project:
"Eclipse Rich Client Platform (2nd Edition)" by Jeff McAffer, Jean-Michel Lemieux, and Chris Aniszczyk - see Amazon.
"Eclipse Plug-ins (3rd Edition)" by Eric Clayberg and Dan Rubel - see Amazon.
Where the first is more or less the bible for RCP based applications, the later gives you a lot of good examples on how to integrate into the IDE. Very advanced as times, but also very good.

How to write an IntelliJ IDEA Plugin?

IDEA has many plugins to use. I.e. IDEtalk is one of them which I use. How can I code a simple plugin that just connects to Internet and shows a web page? (no need for an address bar but it is not a problem to be). I want my plugin's shortcut's button locate at my IDE as like IDEtalk, Commander, Maven Projects etc.
Any ideas?
Check the documentation and the source code of the other plug-ins available in the public git repository of the Community Edition.
There is a Creating Your First Plugin guide on JetBrains web site. It covers all the needed steps from plugin creation to deployment to the plugin repository.
You might also want take a look in the source code of a simple plugin like Twitter Integration Plugin which I recently implemented. Or check a more complex one like this one.

favourite IDE for griffon development

I am experimenting with Groovy Griffon development and I am wondering what IDE to use.
I am trying to use NetBeans 6.5, and I found this post
https://blogs.oracle.com/geertjan/entry/notes_on_converting_netbeans_grails
essentially it describes forking the NetBeans trunk and hacking the Grails support; I was hoping for something more lightweight.
Are there any simple tools to create eclipse, netbeans or pom.xml's from Griffin Apps?
Or is it best to use a simple text editor?
There is a NetBeans Griffon plugin already available at http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18664
Griffon apps have some rudimentry hooks already for IDE integration.
First, a .classpath and .project file are generated that mark the expected source and test directories for Eclipse. Both IntelliJ and NetBeans have importers for these eclipse files (and they work, I use them regularly).
Second, Griffon 0.1.1 adds more targets to the parallel build.xml so that more of the common scripts can be used as though they were ant tasks (run-app, compile, debug-app, etc.)
Third, there is some better IDE support in the works form some of the IDE vendors. As mentioned in the article you linked because Griffon is grails derived it is fairly easy to re-purpose existing Grails support. IntelliJ has the only specific tracked feature request I am aware of.
IntelliJ Idea has very good Griffon support.
This question usually comes with a next question:
How to debug Griffon?
Just in case someone still requires a helping hand trying to figure out how to debug Griffon in Eclipse/STS I've written a simple step by step guide to get it done:
http://ivo43.blogspot.com/2012/02/debugging-griffon-in-eclipsests.html
Hope it helps someone someday, :D
PD: I've tried Netbeans and even though it looks great am still with STS, call me a maniac!

Use maven2 for build-automation and continuous integration of an eclipse rcp project?

My company starts a new project next week. We have planned to develop the application with eclipse rcp. The build process should be fully automated, so we're prepared to set up a continuous integration environment (e.g. Continuum). For the build-automation-part I intended to use maven2, because I want use its dependency management.
I have used maven2 for a small old-style java project, but have never set up maven for using it with eclipse rcp.
What's the best way to do this? Basic concepts? Common traps? Are any tutorials or book's around there? The tutorials and informations I found, seemed outdated or incomplete.
PS: The main project will be divided into sub-project's (plug-in's). But I think this is typical for eclipse rcp projects.
You should take a look at Tycho:
the-future-of-maven-osgi-join-the-tycho-users-mailing-list
the-next-generation-of-build-tools-for-eclipse-plugins-and-rcp-applications
Like most Maven questions, this is solved by a link to a plug-in:
"pde-maven-plugin"
Other advice:
use the assembly plug-in to build
the update site
consider using hudson rather than
Continuum
I've been battling maven2/Eclipse RCP integration for some time. The key is not so much getting your setup right: You can get it to work - eventually - by reverse-engineering Eclipse's build process in maven.
In my experience, the hard part is keeping everything up to date. Every time Eclipse revs their libs, you'll find yourself re-writing a bunch of pom files for that newest RCP widget or SWT lib. Naturally, CI helps with this somewhat. The problem is that Eclipse and maven are very particular about the way they do the business of building, and their approaches are quite different. To make matters worse, PDE dev (and Eclipse dev, more generally) is powered by a lot of wizard code, which is sometimes quite opaque as to what's happening behind the scenes.
The question you really need to ask yourself is if it's worth the effort. In my particular case, I believe it has been. (CI is too good to live without.) But the trade-off is that you may find yourself being the "build guy", which can take valuable time away from actual development, which is probably what you enjoy most.
I've got recently the same problem : build eclipse RCP application through continuous integration.
I haven't applied them yet but I've found some interesting articles :
Here's the documentation for Tycho
Building Eclipse Plugins with Maven 2 on eclipse.org
Build Eclipse RCP products using Maven 2 - how hard can it be? from Immo Hüneke's blog
Here's an article about PDE build automation
Here's a shell script to automate JUnit test launch