Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

How do I customize Eclipse on-the-fly?

My task for this week is to figure out how to customize Eclipse on-the-fly? By this, I mean that we're going to install Eclipse and then programmatically add plugins and configure them. Is this possible? We'd also like to add projects to the workbench and have them be there when the user first opens Eclipse. My current technique is to do diffs on directories after I've configured/added stuff, but that's probably not a good long-term solution.

Posted in Java at Aug 24 2004, 11:22:24 AM MDT 9 Comments
Comments:

For the last one "...add projects to the workbench and have them..." Eclipse has some support. You can export a Team Project Set File and other users can import that file and have a full project in their workspace, with the correct project settings etc. One person creates the project, sets the classpath etc and exports the file other developers can import that file. We currently use it in our projects and works fine. Maybe you can use that file and read it during the first launch of Eclipse?

Posted by Nanne on August 24, 2004 at 01:45 PM MDT #

Why install Eclipse and then later add plugins? Why not create an image that has Eclipse and all the plugins all at once? Also, Eclipse seems to keep track of which projects are open in the projects directory in a folder called .metadata. You could create the Eclipse install and the projects directory with a pre-configured .metadata folder, then when they open Eclipse the first time, everything will be configured and it will open up the projects you want.

Posted by 129.79.26.122 on August 24, 2004 at 03:11 PM MDT #

Matt,

I just looked at Eclipse's site. It looks like they have an API for doing this:
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/main.html

Specifically their update compents provides facilities to: The update component is designed to keep plug-ins executing within the Eclipse environment up to date with any available changes. It provides mechanisms for:
* discovering location of updates (on the Web, or local file system)
* adding new plug-ins to Eclipse
* updating existing plug-ins
* managing local user Eclipse installation configuration

Will this do the trick?

Posted by Richard on August 24, 2004 at 03:17 PM MDT #

Nanne and Anonymous - I realize that I can package up a "set" of projects, but we want to install them based on a user's choices. As for the .metadata folder in the workspace, that's what I've been looking at today. If I configure it with a certain set of folders and files, the project will show up in the workspace. The problem is that many of these files are binary, so I really don't know what they're used for. I'd much prefer XML files I can edit or to generate these binary files programmatically.

Posted by Matt Raible on August 24, 2004 at 04:09 PM MDT #

Another approach that might make the on-the-fly plugin additions easier is the support for linked directories. I haven't read this whole document, but a quick search on google turned up this description of using them in a rather complicated environment. It may not be quite what you're trying to achieve, but it might be helpful.

Posted by Thomas Lockney on August 25, 2004 at 09:02 PM MDT #

Ack! I just noticed your next post. Sorry for the redunancy. I guess I should be reading in reverse order. ;~)

Posted by Thomas Lockney on August 25, 2004 at 09:04 PM MDT #

Yoxos produced an Eclipse distribution, http://www.yoxos.com/ that had the features that you are looking for. They actually used a stripped down Eclipse distibution as their engine, and it operated on a separate directory tree configured with jar files in a features and a plugins directory. The engine gave the user the ability to choose from the prepackaged plugins. From what I can tell, the list of available features can be placed in eclipse/configuration/org.eclipse.osgi/manifests where each file indicates a feature and the file name matches the filename with .jar appended in features and plugins directories. The manifest files contain metadata about the plugin. I found that for $20 I was able to get a jump start into Eclipse without having to spend so many hours trolling the Eclipse plug in sites. Hope that this research helps.

Posted by Andy Glick on September 02, 2004 at 09:54 AM MDT #

Found an article that might be helpful. My guess is that if you used the new macrodef task from ant 1.6.X, you might be able to parameterize the update activity.

Update/Install Eclipse with Ant Script, different Update/Install Strategies

http://home.nyc.rr.com/olegs/eclipse/antscript/readme.htm

Posted by Andy Glick on September 02, 2004 at 05:19 PM MDT #

[Trackback] Refinancing mortgage can be easy. Visit Online refinancing quotes

Posted by Loans and mortgages on May 27, 2005 at 03:52 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed