<div dir="ltr">Yep, it's a hog :/</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 15, 2013 at 6:17 AM, Max Rydahl Andersen <span dir="ltr"><<a href="mailto:manderse@redhat.com" target="_blank">manderse@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Mon, May 13, 2013 at 02:38:21PM -0400, Lincoln Baxter, III wrote:<br>
>Do you have a suggestion for an alternate Groovy parser to use if we cannot<br>
>use groovy eclipse?<br>
<br>
</div>Nope - its one of the reasons I consider Gradle as evil as Ant in many places :)<br>
<div class="im"><br>
>Also, even if we do, this should not (unless the Eclipse JDT does some<br>
>*really bad* things), be a problem because it will be loaded in an isolated<br>
>classloader.<br>
<br>
</div>Just please consider memory usage - these are not exactly "small" on memory usage.<br>
<span class="HOEnZb"><font color="#888888"><br>
/max<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
><br>
>On Mon, May 13, 2013 at 12:55 PM, Max Rydahl Andersen<br>
><<a href="mailto:manderse@redhat.com">manderse@redhat.com</a>>wrote:<br>
><br>
>> Just a warning about using groovy eclipse plugin - it historically have<br>
>> had a dependency<br>
>> on a patched Eclipse JDT meaning it's not installable on just any eclipse<br>
>> version.<br>
>><br>
>> I would hope if you just need a groovy parser that you don't have a<br>
>> depenency on Eclipse JDT for that<br>
>> - but if you do then that might become tricky (might also be osgi<br>
>> dependencies to deal with, but<br>
>> that is another concern ;)<br>
>><br>
>> If the dependency will be included into eclipse as a forge loaded lib we<br>
>> might avoid it all - but<br>
>> since forge itself also have a dependency on JDT it is something to keep<br>
>> an eye on for possible<br>
>> version mismatches.<br>
>><br>
>> /max<br>
>><br>
>> On Sun, May 12, 2013 at 06:00:20PM +0200, Adam Wyłuda wrote:<br>
>> >Hi Lincoln!<br>
>> >Thank you for your response, it's nice to hear that my proposal is rated<br>
>> >positively.<br>
>> ><br>
>> >I first thought that creating our own Groovy parser which works directly<br>
>> on<br>
>> >Groovy AST would be a good idea because that would give us more<br>
>> >possibilities than existing solutions, but you are right - there is a risk<br>
>> >that it might take more time than planned (although basic support could be<br>
>> >provided which could be sufficient to work on Gradle project files).<br>
>> ><br>
>> >I have found this paper which gave me some insights on problems related to<br>
>> >Groovy script parsing and modification:<br>
>> ><a href="http://groovy.ifs.hsr.ch/groovy-refactoring.pdf" target="_blank">http://groovy.ifs.hsr.ch/groovy-refactoring.pdf</a><br>
>> ><br>
>> >It seems that the biggest issue is how to rewrite code without changing<br>
>> its<br>
>> >formatting and how to keep comments in code. Groovy AST doesn't contain<br>
>> >comment nodes so if we want to use pure Groovy AST to parse it, we need to<br>
>> >include all whitespace and comments in our model, what is possible because<br>
>> >Groovy AST nodes include position in source information, so we could just<br>
>> >substring our source between statements, but it's hard because we need to<br>
>> >check thoroughly every expression as comments can appear between any<br>
>> nodes,<br>
>> >like this:<br>
>> >x = y + /* comment */ z<br>
>> ><br>
>> >So as you said, it's better to use existing solution so we won't reinvent<br>
>> >the wheel. I think that Groovy Eclipse plugin is the best candidate<br>
>> because<br>
>> >it's API is similar to JDT plugin used in JavaParser (actually Groovy<br>
>> >plugin uses JDT and it even seems to be a part of JDT), so it will be more<br>
>> >convenient for other developers with JavaParser experience to maintain it.<br>
>> >The are also alternatives like NetBeans or IntelliJ IDEA plugin, but I<br>
>> >think Eclipse plugin is sufficient enough to work effectively with Groovy<br>
>> >sources.<br>
>> ><br>
>> >Like you suggested I updated my proposal to give myself some time to<br>
>> >understand Groovy Eclipse plugin API and start working on Gradle project<br>
>> >support earlier.<br>
>> ><br>
>> >2013/5/7 Lincoln Baxter, III <<a href="mailto:lincolnbaxter@gmail.com">lincolnbaxter@gmail.com</a>><br>
>> ><br>
>> >> Hey Adam,<br>
>> >><br>
>> >> Thank you so much for your proposal! We have reviewed your submission<br>
>> and<br>
>> >> so far all the mentors have given it a high rating :)<br>
>> >><br>
>> >> I took a look at your prototype groovy-manager project, which looks very<br>
>> >> interesting. You are doing source parsing for groovy, which is pretty<br>
>> >> challenging.<br>
>> >><br>
>> >> While writing a parser from scratch can be a thrilling challenge, I have<br>
>> >> to say that it can be quite a burden! We started writing our own<br>
>> >> Java-parser for Forge, but quickly came to find that even parsing a<br>
>> >> type-safe language is incredibly difficult.<br>
>> >><br>
>> >> We ended up using the Eclipse JDT as a base implementation for our<br>
>> >> JavaParser.<br>
>> >><br>
>> >> Have you looked for any Groovy parsers that may already exist today?<br>
>> This<br>
>> >> would give you a quick boost when working on this project. It may be the<br>
>> >> case that the parser would require some usability improvements to make<br>
>> >> integration with Forge simpler, and simpler for plugin devs, but I<br>
>> think it<br>
>> >> is safe to say that a search for existing parsers is warranted.<br>
>> >><br>
>> >> If a suitable parser can be found, I would suggest that we revise your<br>
>> >> proposal to allow for several weeks to become familiar with that parser,<br>
>> >> and then allocate the rest of the time to actually working with it to<br>
>> >> implement the gradle support.<br>
>> >><br>
>> >> I'd suggest starting here, with the Groovy Eclipse Plugin - they almost<br>
>> >> certainly already support groovy syntax:<br>
>> >> <a href="http://groovy.codehaus.org/Eclipse+Plugin#EclipsePlugin-KeyFeatures" target="_blank">http://groovy.codehaus.org/Eclipse+Plugin#EclipsePlugin-KeyFeatures</a><br>
>> >><br>
>> >> The problem with writing your own parser is that you have to maintain it<br>
>> >> :) Better to delegate.<br>
>> >><br>
>> >> ~Lincoln<br>
>> >><br>
>> >><br>
>> >><br>
>> >><br>
>> >> On Sun, May 5, 2013 at 5:05 PM, Adam Wyłuda <<a href="mailto:adamwyl92@gmail.com">adamwyl92@gmail.com</a>><br>
>> wrote:<br>
>> >><br>
>> >>> Hello JBoss community,<br>
>> >>> This year I want to participate in an OS project and GSoC gives me<br>
>> great<br>
>> >>> opportunity to do so.<br>
>> >>> Here is my idea as GSoC 2013 proposal:<br>
>> >>><br>
>> <a href="http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/adamw/1" target="_blank">http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/adamw/1</a><br>
>> >>> I'd be very happy to hear your opinions (I hope it's not too late).<br>
>> >>><br>
>> >>> _______________________________________________<br>
>> >>> forge-dev mailing list<br>
>> >>> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
>> >>> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
>> >>><br>
>> >><br>
>> >><br>
>> >><br>
>> >> --<br>
>> >> Lincoln Baxter, III<br>
>> >> <a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>
>> >> "Simpler is better."<br>
>> >><br>
>> >> _______________________________________________<br>
>> >> forge-dev mailing list<br>
>> >> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
>> >> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
>> >><br>
>><br>
>> >_______________________________________________<br>
>> >forge-dev mailing list<br>
>> ><a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
>> ><a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
>><br>
>> _______________________________________________<br>
>> forge-dev mailing list<br>
>> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
>> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
>><br>
><br>
><br>
><br>
>--<br>
>Lincoln Baxter, III<br>
><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>
>"Simpler is better."<br>
<br>
>_______________________________________________<br>
>forge-dev mailing list<br>
><a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
><a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
<br>
_______________________________________________<br>
forge-dev mailing list<br>
<a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Lincoln Baxter, III<br>
<a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."
</div>