Your SlideShare is downloading. ×

Spring Projects Infrastructure

244

Published on

Presented at the Atlanta Spring User Group, July 2012

Presented at the Atlanta Spring User Group, July 2012

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

No Downloads
Views
Total Views
244
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
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
  • Mentioning how distributed the teams are US, across Europe, Australia
  • Transcript

    • 1. Spring Projects InfrastructureProcesses, Source Control, Builds, Community, and more! © 2009 VMware Inc. All rights reserved
    • 2. About UsGunnar Hillert, SpringSource, VMware Spring Integration @ghillert blog.springsource.org/author/ghillert/Roy Clarkson, SpringSource, VMware Spring for Android, Spring Mobile @royclarkson blog.springsource.org/author/rclarkson/ 2
    • 3. Agenda History New Tools Process Differences between projects Community and how you can get involved 3
    • 4. 4
    • 5. What is Spring? Spring AMQP  Spring Shell Spring for Android  Spring Social Spring Batch  Spring Web Flow Spring Data  Spring Web Services Spring Framework  And more … Spring Gemfire Spring Hadoop Spring Integration Spring Mobile Spring .NET Spring Roo Spring Security 5
    • 6. 6
    • 7. History Spring Framework • Subversion Repository • Remember http://src.springframework.org/svn/spring-framework ? • Ant based build Some projects on internal Git repository (e.g. Spring Integraton) • http://git.springsource.org • Maven 7
    • 8. github.com/SpringSource 8
    • 9. SpringSource on GitHub Spring Integration moved August 2011 Spring Framework moved December 2011 Spring Web Flow recently moved All major projects now on GitHub 9
    • 10. Benefits of GitHub Accessible UI built around Git Well known open source code repository Code browsing View history of changes, commits, and comments Community contributions are encouraged through Pull Requests Issue tracking Wiki pages 10
    • 11. Contributing 11
    • 12. Sign the Contributor License Agreement https://support.springsource.com/spring_committer_signu p 12
    • 13. Fork the Repository Navigate to github.com/SpringSource/<project> Select the button Select your local GitHub account as the destination 13
    • 14. Local Development Environment$ git clone git@github.com:<username>/<project>.git$ cd <project>$ git remote add upstream git@github.com:SpringSource/<project>.git$ git fetch --all$ git remote show$ git branch -a 14
    • 15. Submitting a Pull Request Create a new topic branch based on issue number • $ git checkout -b <project>-123 Complete your changes Push your branch to origin • $ git push origin <project>-123 Select when you are ready to submit your code to the project lead for review Please note that all pull requests must be able to be cleanly merged with the upstream master’s current state Recommended: Rebase with Master 15
    • 16. Reviewing Code via Pull Requests 16
    • 17. Reviewing Code via Pull Requests Comment on each commit or on individual lines Markdown supported Comments trigger notifications (Can address individual users) Pull Requests can be comprised of multiple commits Compare code between commits or branches GitHub Pull Request = Code + Issue + Code Comments Contributors and Committers follow same process! 17
    • 18. More Information Spring Framework Contributor Guidelines https://github.com/SpringSource/spring-framework/wiki/Contributor-guidelines Spring Integration Contributor Guidelines https://github.com/SpringSource/spring-integration/wiki/Contributor-Guidelines GitHub Help: Fork a Repo https://help.github.com/articles/fork-a-repo GitHub Help: Using Pull Requests https://help.github.com/articles/using-pull-requests 18
    • 19. More Information Pro Git: Contributing to a Project http://git-scm.com/book/ch5-2.html Pro Git: Rebasing http://git-scm.com/book/ch3-6.html McCullough and Berglund on Mastering Git http://shop.oreilly.com/product/0636920017462.do 19
    • 20. Code Reviews @ Cloud Foundry 20
    • 21. Code Reviews using Gerrit 21
    • 22. Code Reviews using Gerrit Originally developed at Google http://code.google.com/p/gerrit/ Authorized Gerrit users can trigger merges Good for larger teams Recommendation: Try GitHub first, use Gerrit if needed 22
    • 23. 23
    • 24. Gradle Hello Worldtask hello { doLast { println Hello world! }} 24
    • 25. Building Spring$ git clone git://github.com/SpringSource/spring-framework.git$ cd spring-framework$ ./gradlew build 25
    • 26. Projects using Gradle Spring Framework (since Jan 2012) Spring Integration (since Oct 2010) Spring AMQP (since Jun 2012) Spring for Android (since May 2011) Spring Mobile (since Nov 2010) Spring Social (since Oct 2010) And more … 26
    • 27. Gradle Details Version 1.0 released 12-June-2012 Version 1.1-rc-1 released 24-July-2012 Gradle Wrapper Maven-like defaults More concise than Maven Scripting capabilities like Ant Supports multi-project builds Dependency management based on Apache Ivy Build scripts written in Groovy 27
    • 28. Common Gradle Tasks for Spring Projects clean – Deletes the build directory build – Assembles and tests this project dist – Creates Zip with Jars, Reference + Api Doc, Schema Files api – Generates aggregated Javadoc API documentation reference – Generates HTML and PDF reference documentation install – Install archives artifacts into local .m2 cache sonarAnalyze – Gather Sonar Metrics eclipse – Generates all Eclipse files idea – Generates IDEA project files 28
    • 29. Gradle IDE Support IntelliJ IDEA 11  http://www.jetbrains.com/idea/webhelp/gradle-2.html  http://confluence.jetbrains.com/display/IDEADEV/News SpringSource Tool Suite  Support since 2.7.0  Using 2.9.x works great  Import Gradle projects directly into STS  http://static.springsource.org/sts/docs/latest/reference/html/gradle 29
    • 30. build.springsource.org 30
    • 31. Bamboo Features Continuous Integration Highly Configurable Instant Feedback Continuous Deployment Release Management JIRA Integration Plugin Support 31
    • 32. repo.springsource.org 32
    • 33. SpringSource Artifactory Replaces previous Maven repositories GA releases still available in Maven Central Unified search Put a watch on anything License information Transitive resolution Release process 33
    • 34. SpringSource Repository If you are using… maven.springframework.org You should update to… repo.springsource.org 34
    • 35. SpringSource Repository Local Repositories • libs-snapshot-local • libs-milestone-local • libs-release-local Virtual Repositories • snapshot • milestone • release Virtual Repositories with Third-Party Support • libs-snapshot • libs-milestone • libs-release 35
    • 36. SpringSource Repository<repository> <id>springsource-release</id> <name>SpringSource Release Repository</name> <url>http://repo.springsource.org/release</url></repository><repository> <id>springsource-milestone</id> <name>SpringSource Milestone Repository</name> <url>http://repo.springsource.org/milestone</url></repository><repository> <id>springsource-snapshot</id> <name>SpringSource Snapshot Repository</name> <url>http://repo.springsource.org/snapshot</url></repository> 36
    • 37. More Information Spring Repository FAQ https://github.com/SpringSource/spring-framework/wiki/SpringSource-repository- FAQ Downloading Spring Artifacts https://github.com/SpringSource/spring-framework/wiki/Downloading-Spring- artifacts 37
    • 38. sonar.springsource.org 38
    • 39. Collecting Metrics using Sonar 39
    • 40. jira.springsource.org 40
    • 41. Found a bug or miss features? Submit bug reports Request features Vote for issues Provide feedback Track status Watch issues 41
    • 42. The Lifecycle of an Issue Lifecycle Phases  Unassigned  Waiting For Triage  Triaged  In Progress  Resolved  Closed More information: https://github.com/SpringSource/spring-framework/wiki/The-Lifecycle-of-an-Issue 42
    • 43. Other Pieces in the Toolbox 43
    • 44. News and Announcements SpringSource blog: http://blog.springsource.org News: http://www.springsource.org Twitter: http://twitter.com/springsource Twitter: http://twitter.com/springframework 44
    • 45. Interact with the Community Forum: http://forum.springsource.org Stackoverflow: http://www.springsource.org 45
    • 46. Jürgenization 46
    • 47. Questions?? Thanks!! 47

    ×