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

George Gastaldi ggastald at redhat.com
Fri Mar 21 11:19:25 EDT 2014


Excellent!

Don't forget to apply in the google-melange site, otherwise the proposal 
may never get a chance to be approved.
Unfortunately, it also doesn't mean it will be approved, since we have 
limited slots.

Thanks!



On 21-03-2014 10:43, Dejan Simeonov wrote:
> 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 
> <mailto: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
>     <mailto: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 <mailto: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 <mailto: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 <http://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 <http://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
>                 <mailto: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 <mailto: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 list
>>>                     forge-dev at lists.jboss.org  <mailto:forge-dev at lists.jboss.org>
>>>                     https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>                     _______________________________________________
>>                     forge-dev mailing list
>>                     forge-dev at lists.jboss.org
>>                     <mailto:forge-dev at lists.jboss.org>
>>                     https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>                 _______________________________________________
>>                 forge-dev mailing list
>>                 forge-dev at lists.jboss.org
>>                 <mailto:forge-dev at lists.jboss.org>
>>                 https://lists.jboss.org/mailman/listinfo/forge-dev
>
>                 _______________________________________________
>                 forge-dev mailing list
>                 forge-dev at lists.jboss.org
>                 <mailto:forge-dev at lists.jboss.org>
>                 https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
>
>             _______________________________________________
>             forge-dev mailing list
>             forge-dev at lists.jboss.org <mailto:forge-dev at lists.jboss.org>
>             https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
>         _______________________________________________
>         forge-dev mailing list
>         forge-dev at lists.jboss.org <mailto: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 <mailto: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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140321/21b7c4a5/attachment-0001.html 


More information about the forge-dev mailing list