Hi Forge team, Hi George,
Let me briefly introduce myself:
My name is Dejan Simeonov, and I am final-year student of Faculty of
Organizational Sciences, University of Belgrade, Serbia.
I have experience with Java, PHP, HTML and CSS, SVN, GIT... I am familiar
with Eclipse and several open-source tools for Statistic Code analysis as
Eclipse and Hudson plugins.
Currently I am learning about Maven and Eclipse Plugins implementation.
And I would like to participate as a student in Google Summer Of Code 2014.
Several days ago I proposed my ideas for GSoC to Jonathan, JBoss's GSoC
mentor. We talked about them and he advised me to review one of them with
you, Forge team, hopefully to help me with the concrete details and
One of tools I used is Tattletale. I found it very useful for
investigating dependencies inside the project and to discovering unused
I used it as command line and Maven plugin, but I think it could be even
more useful as Eclipse plugin. So, idea is:
Create Tattletale plugin for Eclipse
Lot of tools have plugin for Eclipse. (Findbugs, PMD...). Tattletale plugin
for Eclipse still does not exist, but this way it should be easier to use
comparing to usage trough console . Tattletale tool could be used as engine
for this plugin. The basic plugin implementation could display standard
Tattletale HTML report inside the Eclipse, but some sub reports like
"Unused Jar" or "Multiple Jar files" could "mark" some
displayed in the Eclipse controls and highlight them for the removal.
I investigate a little and I found that developers like to periodically
use the Tattletale tool to review dependencies inside the project, to
remove unused ones and this way, to keep projects 'fit'.
This option could be one of the main feature of the future plugin.
Other things this plugin should be able to do are (several ideas):
- Tattletale tool requires that all dependencies should be placed in the
same folder. Tattletale Eclipse plugin should be able to automatically
recognize all libraries referenced by the Eclipse project, like jars
inside the project, external jars and Maven dependencies.
- This plugin should include compiled classes of current Eclipse project
into report. Dependent eclipse project should be included, too. This way,
developer does not have to create build(all jars) to create the valid
- Mark Duplicated class in the Project Explorer(Multiple Locations
report should be used). This is possible, Eclipse API supports this,
Findbugs plugin can do it.
- Mark Unused JAR files in the Project Explorer's Referenced Libraries
node(Unused Jars report should be used). Currently, I do not know is this
- This plugin should be able to create and open default HTML report in
Eclipse plugin. This report could allow to navigate to particular class
listed in it using CTRL+LeftClick. Currently Tattletale does not support
- Graphical dependencies report should work "out of the box"
- We could add options like "Remove unused dependencies", "Eliminate
files with different versions", but this should be discussed. This tool
could have only "advisory" nature and could manage class-path for Maven and
Eclipse Java projects. I am not sure should we provide potentially risky
options which are managing eclipse project class-path?
- This plugin could be displayed in the new "Tattletale Eclipse
I should ask you if someone is interested to become a GSoC mentor for this
project, to finish it together?
In this case, I could try implement prototype of this plugin with basic
options as part of the GSoC proposal evaluation process.
I think I can finish this plugin, and this project seems as great
opportunity to me, first, to create an useful tool which will be widely
used as part of Eclipse and to gain more experience in lot of open-source
Please, feel free to ask if you have any questions, Any comment or
suggestions is appriciated.