Skip to main content
Jump to: navigation, search

E4/UI/Smart Import

< E4‎ | UI
Revision as of 02:39, 23 March 2015 by (Talk | contribs) (Get it)

Smarter import framework


Currently, when importing a project, users are facing the difficult choices of What project they're importing and How to import it. The various technologies involved in a project can easily be detected by some automated check, such as presence of some file, some content in a file, some files with some extension. The purpose of the framework is to use such interesting data to automatically detect what is a project and automatically configure it as best, with very minimal effort from user.

This is targeting all users, not only newbies, since the diversity of technologies become something that affect all developers. A regular project can easily blend half a dozen "structuring" technologies (programming languages, build and dependencies management tools, frameworks...).

Since projects are also modular, and that a real-life project is actually a set of Eclipse projects, the framework also does its best to detect the various modules, by crawling the source tree and reporting some directories as Eclipse projects when they have strong enough markers (pom.xml, MANIFEST.MF and other files that make it sure a given folder is an Eclipse project).

Get it

Description p2 repo URL Source Comment
Framework + JDT & PDE extensions bundles/org.eclipse.e4.ui.importer*
EGit integration Additional EGit clone/import wizard delegating to Smart Import. Since version 4.0
JBoss Tools Playground (Maven, JSDT, WTP, THyM) extensions plugins/* This is meant to be moved to individual projects

Extensions in JBoss Tools Playgroundare moving to their related projects (JSDT, WTP, EGit...) and will be listed there as they get available for installation

UI entry points

This new framework has 3 main entry points so far:

  • One is a Import project(s) from Folder... under the file menu. This menu entry is inspired by the "Open Project"
  • Another is in the Import wizard, under the General category: Local folder as project(s) into workspace
  • If you have installed EGit extension, there is also another EGit Import wizard that instead of asking user to select how to import working directory will delegate it to this import framework

Add support for a new project type

See as example

In plugin.xml define an extension for your project type. Don't forget to add a good activeWhen expression in order to avoid useless loading of some bundles affecting IDE performances. Then implement a ProjectConfigurator. Project Configurator will be responsible for doing fine-grained checks on the imported working directory and decide whether some directory must become an Eclipse project (method shouldBeAnEclipseProject), whether it can contribute to the configuration of an Eclipse project (method configure) and then what to do to configure the project.


Back to the top