[forge-dev] GSoC project idea: Create Tattletale plugin for Eclipse

Rafael Pestano rmpestano at gmail.com
Fri Mar 21 09:44:48 EDT 2014


you're welcome


2014-03-21 10:43 GMT-03:00 Dejan Simeonov <dejanfrancuzo at gmail.com>:

> Yes it helped, the newest version is working now:
>
> [GSOC2014]$ version
> JBoss Forge, version [ 2.3.0.Final ] - JBoss, by Red Hat, Inc. [
> http://jboss.org/forge ]
>
> Thanks Rafael !
>
>
> On Fri, Mar 21, 2014 at 2:38 PM, Rafael Pestano <rmpestano at gmail.com>wrote:
>
>>  "but it is using older Forge, version 1.4.4"
>>
>> try to delete .forge folder content, on unix its under user/home/.forge.
>>
>> I hope that helps
>>
>>
>> 2014-03-21 9:57 GMT-03:00 Matt Benson <gudnabrsam at gmail.com>:
>>
>> I know your proposal is due today, so I'll talk out of turn: There is no
>>> future in Forge 1. You should be concentrating on Forge 2, but more
>>> generally in realistic terms you should aim for your addon to be compatible
>>> with whatever the current version of Forge is near the end of the summer if
>>> at all possible. I.e., if F3 were to be released it would be similar in
>>> most respects to F2, and migration would probably not represent much, if
>>> any, burden. Good luck to you!
>>>
>>> Matt
>>> On Mar 21, 2014 7:50 AM, "Dejan Simeonov" <dejanfrancuzo at gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>> I started working with earlier version, Forge 1.4.4. but I have some
>>>> issues since switched to Forge 2.2.0.
>>>> -Eclipse plugin could not be installed from the Eclipse Update Site -
>>>> http://download.jboss.org/jbosstools/builds/staging/jbosstools-forge_master/all/repo/
>>>> Error is:
>>>> Cannot complete the install because one or more required items could
>>>> not be found.
>>>>   Software being installed: JBoss Tools - Tests - Forge
>>>> 1.3.0.Beta2-v20140321-0817-B552
>>>> (org.jboss.tools.forge.ext.test.feature.feature.group
>>>> 1.3.0.Beta2-v20140321-0817-B552)
>>>>   ...
>>>> I used Eclipse Juno Service Release 2
>>>>
>>>> Now, I switched to Eclipse 4.3, Kepler,  I managed to install Forge
>>>> plugin and Forge console works fine, but it is using older Forge,
>>>> version 1.4.4
>>>>
>>>> What you prefer: We could implement Tattletale addon for Forge 2, or to
>>>> be more specific, for current official release, Forge 2.3.0.Final, or it is
>>>> better to use older version, 1.4.4?
>>>> What is your opinion? Please advice.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Mar 20, 2014 at 8:23 PM, George Gastaldi <ggastald at redhat.com>wrote:
>>>>
>>>>> That's awesome Dejan. The docs you mentioned covers Forge 1.x. The
>>>>> docs for 2.x are available in github.com/forge/core at the moment. We
>>>>> are working on a new website for Forge 2 and it should be available soon.
>>>>>
>>>>> Join us on irc.freenode.net @ #forge if you have any questions. We'll
>>>>> be glad to help you out.
>>>>>
>>>>> Em 20/03/2014, às 16:17, Dejan Simeonov <dejanfrancuzo at gmail.com>
>>>>> escreveu:
>>>>>
>>>>> Hi George,
>>>>>
>>>>> actually I haven't been tried Forge, but now I tried it and I can
>>>>> share my thoughts.
>>>>> I did not have time to use Forge project in the real life, but I
>>>>> installed and tested it a little and walk through several tutorials and
>>>>> examples. For now I am amazed with it's simplicity and usability of this
>>>>> tool.
>>>>> For example, before I discovered Maven I have previous experience with
>>>>> crating of JEE project setup, or using Hibernate so I know how amount of
>>>>> Google-ing, how much effort is needed, and how painful process was that.
>>>>> Because of that, I appreciate tools like Forge.
>>>>>
>>>>> Regarding my previous idea, I think it can be applied to Forge, too. I
>>>>> think that Tattletale could be used by Forge through its plug-in(addon)
>>>>> mechanism.
>>>>> Because Forge is not limited only to creating and displaying the
>>>>> reports, but most of his commands are created to solve common problems, we
>>>>> should implement remove-unused-dependencies addon with reporting
>>>>> capabilities, too. This extension should use Tattletale for the core logic.
>>>>> So idea is to:
>>>>> *Create Tattletale addon for Forge2*
>>>>> The main features of future plugin remains the same as that
>>>>> are previously proposed for the Eclipse plugin:
>>>>>
>>>>>    - Tattletale tool requires that all dependencies should be placed
>>>>>    in the same folder. Tattletale Forge plugin should be able to automatically
>>>>>    recognize all  libraries referenced by the  different types of projects
>>>>>    project.
>>>>>    - This plugin should include compiled classes of current project
>>>>>    into report. This way, developer does not have to create build(all jars) to
>>>>>    create the valid Tattletale report. Process should be automated.
>>>>>    - list-duplicated-classes command should be implemented(Multiple
>>>>>    Locations report should be used)
>>>>>    - find/list-unused-dependencies command should be implemented
>>>>>    (Unused Jars report should be used).
>>>>>    - We should add commands like "remove-unused-dependencies",
>>>>>    "eliminate-dependencies-with different-versions". The nature of Forge tool
>>>>>    is not only "advisory" and it should be able to manage class-path for
>>>>>    example, for Maven projects.
>>>>>    These commands should be able to guide user through step by step
>>>>>    process of finding/marking and removing the unused dependencies.
>>>>>    - For the beginning we should create plugin and make it work fine
>>>>>    with one type of projects(Maven), and then in the next iterations we could
>>>>>    expand support for more type of projects.
>>>>>    - This plugin should be able to create default Tattletale HTML
>>>>>    report.
>>>>>
>>>>> I already started developing my first Forge plugin. You have great
>>>>> tutorial here: http://forge.jboss.org/docs/plugin_development/#content
>>>>> I will play with it for a while, review API, and then will come with
>>>>> mode  in-depth proposal.
>>>>>
>>>>> It will be great if we can create this plugin as part of GSoC 2014.
>>>>>
>>>>> Please, review the ideas, advice and feel free to comment
>>>>>
>>>>> Thank you
>>>>> Dejan
>>>>>
>>>>> On Wed, Mar 19, 2014 at 3:53 PM, George Gastaldi <ggastald at redhat.com>wrote:
>>>>>
>>>>>>  Nice to meet you Dejan.
>>>>>>
>>>>>> First of all, have you tried Forge 2? I'd like you to give it a try:
>>>>>>
>>>>>> https://github.com/forge/core/blob/master/README.asciidoc
>>>>>>
>>>>>> The idea in Forge is to provide tooling that is not coupled to the
>>>>>> IDE implementation, that is, the code you write will run in Shell, Eclipse,
>>>>>> NetBeans, IDEA, etc (as long as there is an implementation of the Forge
>>>>>> APIs for each IDE - at the moment we have Eclipse and Shell).
>>>>>>
>>>>>> I believe that a Tattletale addon would be nice to have.
>>>>>> There is also a talk about Forge 2 in here: http://t.co/aWCzQPWeTp(Thanks to Ivan).
>>>>>>
>>>>>> Best Regards,
>>>>>>
>>>>>> George Gastaldi
>>>>>>
>>>>>>
>>>>>> On 19-03-2014 07:41, Dejan Simeonov wrote:
>>>>>>
>>>>>>
>>>>>>  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
>>>>>> specification.
>>>>>>
>>>>>> One of tools I used is Tattletale. I found it very useful  for
>>>>>>  investigating dependencies inside the project and to discovering unused
>>>>>> jars.
>>>>>> 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 referenced
>>>>>> libraries 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 Tattletale report.
>>>>>>    - 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 possible.
>>>>>>    - 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 this.
>>>>>>    - Graphical dependencies report should work "out of the box"
>>>>>>    - We could add options like "Remove unused dependencies",
>>>>>>    "Eliminate Jar 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
>>>>>>    perspective".
>>>>>>
>>>>>>
>>>>>>
>>>>>> 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
>>>>>> tools.
>>>>>>
>>>>>> Please, feel free to ask if you have any questions, Any comment or
>>>>>> suggestions is appriciated.
>>>>>>
>>>>>> Best Regards,
>>>>>> Dejan Simeonov
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-dev mailing list
>>>>>> forge-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>
>>
>>
>> --
>> <http://www.advancedit.com.br/>Att,
>>
>> Rafael M. Pestano
>>
>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>> Graduando em Ciência da Computação UFRGS
>> http://conventionsframework.org <http://conventions.github.io/home/>
>> http://rpestano.wordpress.com/
>> @realpestano
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>



-- 
<http://www.advancedit.com.br/>Att,

Rafael M. Pestano

Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventionsframework.org <http://conventions.github.io/home/>
http://rpestano.wordpress.com/
@realpestano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140321/77984a35/attachment-0001.html 


More information about the forge-dev mailing list