Quick-starting new projects with Eclipse
Scaffolding on a construction site image via Shutterstock
Maximilian Kögel and Jonas Helming have written an exciting article about setting up an ideal Eclipse distribution. To realize that, they used the Oomph framework. In this article we will talk about some methods we can use to organize distribution of that same setup.
Setting up Eclipse is usually a time-consuming business, a serious downside for many software developers working with it. Distributing a tediously assembled setup to a development team requires an additional long-winded process. Approaches for standardization do exist, for example in the form of the well-known Eclipse packages. But the packages do not save you from installing and updating plugins by hand and they most certainly do not help with configuring preferences. The workspace can also be restive.
Before you start coding, you have to import projects, check out source code, and synchronize tasks from task repositories. And although development teams often work with a common basic Eclipse installation and certain shared configurations, everyone on the team has to run through the whole setup process all over again. But how can you prevent a scenario like that from happening and actually take advantage of a common basic setup?
To avoid the most repetitive tasks, ZIP-files are often the solution most developers choose – sometimes combined with wikis and manuals for installation and configuration. Unfortunately, this solution became outdated far too quickly. And they do not save you from all the manual adjustments. More importantly, all team members still have to repeat the setup process whenever the project setup changes – be it due to a new plugin, changed settings or a new Eclipse release.
To solve the issues regarding distribution, you can now use an easy and quick solution in addition to Oomph: Profiles for Eclipse.
What’s behind a profile?
Profiles is based on Oomph. Like Oomph, Profiles takes care of provisioning of SDKs for individual projects – but the process is even more simple than that. So, what exactly is a profile?
A profile contains links to update sites of installed plugins and a functional workspace, including important team settings such as project metadata and project preferences, build server configuration (Mylyn), working sets, task repositories and source code repositories (as links). The source code itself is of course not part of the profile. Neither are user credentials or passwords.
Using Profiles offers some crucial advantages compared to other ways of provisioning. You can, for example, share a profile at the push of a button with your own team or, if you prefer, with the whole community. This simplifies the idea of maintaining setups and breaks down barriers for new developers on the team at the same time.
Create and share a profile – at the flick of a switch
To share an existing profile, all you need to do is install the Profiles client into the respective Eclipse.
- Find the “Yatta Launcher for Eclipse” on the Eclipse Marketplace and install it into your running Eclipse.
- In the toolbar, open the client’s context menu and choose your channel for sharing.
That’s it. Your profile gets uploaded into the cloud. You can share the link to the profile’s website right away, for example via email or a social network such as Twitter or Facebook. Installing the shared profile requires just a few clicks as well. To demonstrate how easy this is, we have installed and re-uploaded the EclipseSource Oomph profile ourselves it. You can download it here.
For comparison, look up the steps you have to perform if you want to install the same profile via GitHub and the Oomph installer: http://eclipsesource.com/blogs/2015/08/17/ introducing-the-eclipsesource-oomph-profile/.’
SEE ALSO: Setting up Eclipse is easy now
Chains of Updates – always up to date
In addition to easy provisioning, keeping a profile up-to-date is just as easy as sharing it. If you adjust the profile or change settings locally, click “Publish changes” in the client’s context menu. Pushing an update automatically informs everyone who has downloaded and installed the profile (the profile’s followers). They can apply the update at any time.
This is what you should keep in mind: The Profiles update mechanism is based on chains of profiles. Every time someone installs you profile, he creates a local copy following your original. Followers can edit their local copy at any time without affecting the original. At the same time, they still receive your updates.
If followers share the profile again, they distribute a child of your original. A third user who installs the child profile creates another copy, a grandchild of your original. This way, it’s possible to create whole chains of profiles – which can be essential, especially for corporate teams with one basic and several more specialized setups. The update mechanism makes updates more manageable and reduces the time required for maintenance.
Give a little Oomph to your Profile
Oomph is a framework that allows you to create or “author” profiles manually. To that end, you have to assign different tasks to different scopes. You can tweak your configuration down to the last detail. That being said, Oomph requires in- depth knowledge about the Eclipse IDE. In return, it is a highly powerful tool to configure your development environment in every detail. Together with Profiles, Oomph allows for authoring, provisioning, and distributing the Eclipse IDE. You can actually use the Oomph framework to edit the details of an Eclipse profile. A feature allowing you to import the edited profile with the Launcher is already a work in progress.
What else can you do with Eclipse Profiles?
Profiles speeds up and simplifies installation and maintenance of Eclipse setups. But it also comes with some other useful features:
The Launcher, a lightweight desktop app, offers an overview of your Eclipse setups, whether they are locally installed or online. Eclipse setups that are already installed will be added to the Launcher’s profile list automatically. You can also add additional profiles or uninstall local Eclipse installations. Moreover, you can start all your profiles from the Launcher. To make managing your profiles easier, you can assign meaningful names and descriptions. This will help you deal with different Eclipse installations on a daily basis and drastically reduce the amount of necessary documentation.
With the eHub, Profiles also offers a community. Sharing a profile means uploading it to the eHub. For the moment, all profiles are publicly available, but a feature for private sharing between designated users is already in the making. The eHub is not limited to provisioning. The site also gives you an overview of popular configurations beyond the Eclipse packages. Project leads of Eclipse open source projects and their committers can profit from these insights, but they are not the only ones. The companies supporting the project can also benefit from these insights because they help align development and maintenance with the most popular use cases of their Eclipse projects. In the future, the eHub will receive upgrades with features allowing for direct feedback, for example in the form of comments on individual profiles. You can now draw conclusions about your online profiles if, for example, installation numbers start declining. Moreover, the Yatta Profiles developer team is already working on an open data API for profiles.
For users, one aspect should be particularly interesting: Eclipse is improving – and fast(er). Profiles is the first professional and free service based on Eclipse Oomph. Installing, launching and managing Eclipse setups gets much easier with Profiles.
Hosting is already bound to German servers to meet the strict requirements of German data protection law. As soon as current problems (code word: Safe Harbor) are resolved, hosting on eclipse.org may become a possible alternative. The eHub will get more community features in the months to come.
It’s safe to say that Profiles and Oomph have a great potential as far as Eclipse’s advanced ergonomics and usability are concerned. The Yatta developer team is also open for suggestions from the user community.
When you try out Profiles, you can send your requests and your feedback to Yatta directly. The team promises to incorporate every feedback and to implement every feature the community needs to keep Eclipse successful and innovative in the future. Yatta wants to actively participate in this process. This is why Profiles is free – and will always stay like this.