Spring Projects InfrastructureProcesses, Source Control, Builds, Community, and more!                                     ...
About UsGunnar Hillert, SpringSource, VMware Spring Integration @ghillert blog.springsource.org/author/ghillert/Roy Clarks...
Agenda   History   New Tools   Process   Differences between projects   Community and how you can get involved       ...
4
What is Spring?   Spring AMQP           Spring Shell   Spring for Android    Spring Social   Spring Batch          S...
6
History Spring Framework • Subversion Repository • Remember http://src.springframework.org/svn/spring-framework ? • Ant b...
github.com/SpringSource                          8
SpringSource on GitHub   Spring Integration moved August 2011   Spring Framework moved December 2011   Spring Web Flow ...
Benefits of GitHub   Accessible UI built around Git   Well known open source code repository   Code browsing   View hi...
Contributing               11
Sign the Contributor License Agreement https://support.springsource.com/spring_committer_signu p                          ...
Fork the Repository Navigate to github.com/SpringSource/<project> Select the         button Select your local GitHub ac...
Local Development Environment$ git clone git@github.com:<username>/<project>.git$ cd <project>$ git remote add upstream gi...
Submitting a Pull Request Create a new topic branch based on issue number • $ git checkout -b <project>-123 Complete you...
Reviewing Code via Pull Requests                                   16
Reviewing Code via Pull Requests   Comment on each commit or on individual lines   Markdown supported   Comments trigge...
More Information Spring Framework Contributor Guidelines https://github.com/SpringSource/spring-framework/wiki/Contributo...
More Information Pro Git: Contributing to a Project http://git-scm.com/book/ch5-2.html Pro Git: Rebasing http://git-scm....
Code Reviews @ Cloud Foundry                               20
Code Reviews using Gerrit                            21
Code Reviews using Gerrit   Originally developed at Google   http://code.google.com/p/gerrit/   Authorized Gerrit users...
23
Gradle Hello Worldtask hello {        doLast {               println Hello world!        }}                               ...
Building Spring$ git clone git://github.com/SpringSource/spring-framework.git$ cd spring-framework$ ./gradlew build       ...
Projects using Gradle   Spring Framework (since Jan 2012)   Spring Integration (since Oct 2010)   Spring AMQP (since Ju...
Gradle Details   Version 1.0 released 12-June-2012   Version 1.1-rc-1 released 24-July-2012   Gradle Wrapper   Maven-l...
Common Gradle Tasks for Spring Projects   clean – Deletes the build directory   build – Assembles and tests this project...
Gradle IDE Support IntelliJ IDEA 11  http://www.jetbrains.com/idea/webhelp/gradle-2.html  http://confluence.jetbrains.c...
build.springsource.org                         30
Bamboo Features   Continuous Integration   Highly Configurable   Instant Feedback   Continuous Deployment   Release M...
repo.springsource.org                        32
SpringSource Artifactory Replaces previous Maven    repositories GA releases still available in    Maven Central   Unif...
SpringSource Repository                If you are using…     maven.springframework.org           You should update to…    ...
SpringSource Repository Local Repositories • libs-snapshot-local • libs-milestone-local • libs-release-local Virtual Rep...
SpringSource Repository<repository>   <id>springsource-release</id>   <name>SpringSource Release Repository</name>   <url>...
More Information Spring Repository FAQ https://github.com/SpringSource/spring-framework/wiki/SpringSource-repository- FAQ...
sonar.springsource.org                         38
Collecting Metrics using Sonar                                 39
jira.springsource.org                        40
Found a bug or miss features?   Submit bug reports   Request features   Vote for issues   Provide feedback   Track st...
The Lifecycle of an Issue Lifecycle Phases  Unassigned  Waiting For Triage  Triaged  In Progress  Resolved  Closed...
Other Pieces in the Toolbox                              43
News and Announcements   SpringSource blog: http://blog.springsource.org   News: http://www.springsource.org   Twitter:...
Interact with the Community Forum: http://forum.springsource.org Stackoverflow: http://www.springsource.org             ...
Jürgenization                46
Questions?? Thanks!!              47
Upcoming SlideShare
Loading in...5
×

Spring Projects Infrastructure

1,170

Published on

Presented at the Atlanta Spring User Group on July 24, 2012 by Roy Clarkson and Gunnar Hillert.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,170
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Mentioning how distributed the teams are US, across Europe, Australia
  • Transcript of "Spring Projects Infrastructure"

    1. 1. Spring Projects InfrastructureProcesses, Source Control, Builds, Community, and more! © 2009 VMware Inc. All rights reserved
    2. 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. 3. Agenda History New Tools Process Differences between projects Community and how you can get involved 3
    4. 4. 4
    5. 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. 6
    7. 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. 8. github.com/SpringSource 8
    9. 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. 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. 11. Contributing 11
    12. 12. Sign the Contributor License Agreement https://support.springsource.com/spring_committer_signu p 12
    13. 13. Fork the Repository Navigate to github.com/SpringSource/<project> Select the button Select your local GitHub account as the destination 13
    14. 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. 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. 16. Reviewing Code via Pull Requests 16
    17. 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. 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. 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. 20. Code Reviews @ Cloud Foundry 20
    21. 21. Code Reviews using Gerrit 21
    22. 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. 23
    24. 24. Gradle Hello Worldtask hello { doLast { println Hello world! }} 24
    25. 25. Building Spring$ git clone git://github.com/SpringSource/spring-framework.git$ cd spring-framework$ ./gradlew build 25
    26. 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. 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. 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. 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. 30. build.springsource.org 30
    31. 31. Bamboo Features Continuous Integration Highly Configurable Instant Feedback Continuous Deployment Release Management JIRA Integration Plugin Support 31
    32. 32. repo.springsource.org 32
    33. 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. 34. SpringSource Repository If you are using… maven.springframework.org You should update to… repo.springsource.org 34
    35. 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. 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. 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. 38. sonar.springsource.org 38
    39. 39. Collecting Metrics using Sonar 39
    40. 40. jira.springsource.org 40
    41. 41. Found a bug or miss features? Submit bug reports Request features Vote for issues Provide feedback Track status Watch issues 41
    42. 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. 43. Other Pieces in the Toolbox 43
    44. 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. 45. Interact with the Community Forum: http://forum.springsource.org Stackoverflow: http://www.springsource.org 45
    46. 46. Jürgenization 46
    47. 47. Questions?? Thanks!! 47

    ×