Your SlideShare is downloading. ×
Grails Internals Ggug Dec 2009
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Grails Internals Ggug Dec 2009

891

Published on

Published in: Technology, Art & Photos
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
891
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Inside Grails: The Build System & Plugin Management by Peter Ledbrook
  • 2. Starting The Grails Build System
  • 3. Starting The Grails Build System
    • Shell scripts
    • 4. startGrails launches VM
      • Adds groovy-all & grails-bootstrap to system classpath
  • 5. Starting The Grails Build System
    • Create GrailsRootLoader
    • 6. Load classpath from groovy-starter.conf
    • 7. Load GrailsScriptRunner in GRL and execute
      • Class loader isolation
  • 8. Starting The Grails Build System
    • Create BuildSettings if it doesn't exist
    • 9. Populate root loader
    • 10. Initialise Gant
      • Pre-populate Gant binding
    • Interactive mode
  • 11. Starting The Grails Build System
    • Parse & run Grails scripts
  • 12. Starting The Grails Build System
    • Load Grails using given class loader
    • 13. Isolate Grails from parent class loader
  • 14. Starting The Grails Build System
    • Project structure
    • 15. BuildConfig.groovy & settings.groovy
    • 16. Dependencies
  • 17. Class loader hell?
  • 18. Context Class Loader
    • Starts as root loader ( GrailsStarter )
    • 19. Becomes ”classLoader” ( GrailsScriptRunner )
      • ”classes” directory
    • Ends as Grails application class loader ( DefaultGrailsApplication )
  • 20. Grails Scripts
  • 21. Grails Scripts
    • General settings
    • 22. Create PluginBuildSettings
    • 23. Configure environment
    • 24. getPropertyValue()
  • 25. Grails Scripts
    • Set up common/compile/test/runtime classpaths
    • 26. Target classpath
      • grails.*.classpath Ant paths
  • 27. Grails Scripts
    • Install Ant build listener
    • 28. Load event scripts ( _Events.groovy )
    • 29. Add event() method
  • 30. Grails Scripts
    • Grails app without servlet container
    • 31. Create application context, with
      • GrailsApplication
      • 32. GrailsPluginManager
    • Used by integration tests, generate scripts, and others
  • 33. Grails Scripts
    • Grails app with servlet container
    • 34. Should use runtime classpath
    • 35. Plugin change scanner
  • 36. Grails Scripts
    • Create WAR
    • 37. Package runtime dependencies
  • 38. Plugins
    • Build
    • Manage plugin installations
    • Runtime
    • Load plugins
      • Add Spring beans
      • 42. Add dynamic methods
      • 43. Web descriptor
  • 44. Plugins in the Build
  • 45. Plugins at Runtime
  • 46. Overlap
    • _PluginDependencies: target ”loadPlugins”
      • Called by bootstrap, package app
      • 47. Required to generate web.xml
      • 48. Creates temporary GrailsApplication and GrailsPluginManager instances
      • 49. Plugins may be loaded twice or more!

×