Groovy-Eclipse at Eclipsecon2010
Upcoming SlideShare
Loading in...5
×
 

Groovy-Eclipse at Eclipsecon2010

on

  • 1,080 views

 

Statistics

Views

Total Views
1,080
Slideshare-icon Views on SlideShare
1,080
Embed Views
0

Actions

Likes
1
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Groovy-Eclipse at Eclipsecon2010 Groovy-Eclipse at Eclipsecon2010 Presentation Transcript

    • Getting Groovy with Eclipse: Next generation tool support for dynamic languages Andrew Eisenberg SpringSource a division of VMWare 1 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • What is Groovy-Eclipse? • Eclipse tool support for the Groovy programming language • Recent release of Groovy-Eclipse 2.0.1 • Two Goals: – Deep integration with Java Development Tools (JDT) – Editing support for Groovy's dynamicism 2 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • What is Groovy? This is Java: public class Main { public static void main(String[] args) { System.out.println(“Hello, EclipseCon.”); } } 3 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • What is Groovy? This is Groovy: public class Main { public static void main(String[] args) { System.out.println(“Hello, EclipseCon.”); } } 4 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • What is Groovy? This is really Groovy: print “Hello, EclipseCon.” • Groovy is a dynamically typed JVM language • Builds upon the strengths of Java – syntax, libraries, runtime, ... • Supports extra features – scripting, meta-programming, DSLs, … 5 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Groovy-Eclipse • Deep integration with JDT – JDT compiler integration (Demo 1) – Debug support (Demo 2) • Editing support for Groovy's dynamicism – Groovy type inferencing (Demo 3) 6 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • What is deep integration with JDT? • Optimize Edit / Save / Compile / Test – Same level of quality: Java <-> Groovy • Similar feature set where makes sense • Seamless Cross-referencing 7 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • How to achieve Deep integration • Extended JDT compiler – Compiles both Java and Groovy – No need for stub generation • Compiler output not just class files – Abstract Syntax Tree (AST) – Java model 8 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Demo 1 • JDT – Groovy Compiler integration 9 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Debug support • Much like as in Java: – launching applications, tests – breakpoints – stepping – variables view – hot swap (new!) – display view (work in progress) • But, also: – launching scripts – closure support – filter uninteresting stack frames 10 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Demo 2 • Debugging – integration with JDT 11 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • IDE support for Groovy's dynamicism Inferencing engine • guess type information statically def x x = (-1).abs() x instanceof Integer x = “foo” x instanceof String x.abs() MissingPropertyException!!! 12 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Inferencing Engine is extensible • Custom DSLs can plug in (e.g., Grails) • Used for many parts of the UI: – Content Assist – Navigation – Search – Underlining unknown references 13 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Demo 3 • Type inferencing provides IDE support for groovy dynamicism 14 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Groovy-Eclipse • Deep integration with JDT – Editor – Compiler – Debugger • Support for Groovy's dynamicism – Type inferencing 15 Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    • Eclipse is now Groovy! Groovy-Eclipse: http://groovy.codehaus.org/Eclipse+Plu gin Andrew Eisenberg aeisenberg@springsource.com Thank you! Copyright 2010 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 16