Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search

Difference between revisions of "E4/UI/Smart Import"

< E4‎ | UI
(Add Gradle integration WIP)
Line 38: Line 38:
| JBoss Tools Playground (Maven, JSDT, WTP, THyM) extensions
| JBoss Tools Playground (Maven, JSDT, WTP, THyM) extensions
| plugins/*
| plugins/*
| This is meant to be moved to individual projects\\
| This is meant to be moved to individual projects\\

Revision as of 02:19, 12 June 2015

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
JSDT integration
Thym/Cordova integration (starting from April 15th 2015)
JBoss Tools Playground (Maven, JSDT, WTP, THyM) extensions plugins/* This is meant to be moved to individual projects\\

Pending Contributions:

Gradle Integration (In progress) Currently unavailable WIP. p2 repo url will be updated when ready. Source url likely to change soon, and will promptly be updated when changed.

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