Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Getting Involved with Spring 101
Search
cbeams
October 27, 2011
Programming
0
190
Getting Involved with Spring 101
As presented at SpringOne/2GX 2011 in Chigago, IL.
cbeams
October 27, 2011
Tweet
Share
More Decks by cbeams
See All by cbeams
The Revolution Will Not Be Centralized
cbeams
0
2.5k
spring.io: Inside and Out
cbeams
0
210
Modern Enterprise Application Configuration with Spring
cbeams
0
50
Intro to Websockets
cbeams
0
190
JavaOne 2012: Java EE and Spring Panel Discusson
cbeams
0
180
Spring 3.1 Review (and 3.2 Preview)
cbeams
0
59
Configuration Enhancements in Spring 3.1
cbeams
0
340
Case Study: Spring Projects on Gradle
cbeams
0
260
Configuration Enhancements in Spring 3.1
cbeams
0
190
Other Decks in Programming
See All in Programming
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
640
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
160
코틀린으로 멀티플랫폼 만들기
pangmoo
0
140
Milestoner
bkuhlmann
1
410
Goのエラースタックトレースの歴史と今後
sonatard
6
580
Ruby Function Composition
bkuhlmann
1
330
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
0
180
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
640
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
130
GitHub Copilotのススメ
marcy731
0
190
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
120
Designing for tomorrow's programming workflows
honnibal
PRO
2
120
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
243
20k
Happy Clients
brianwarren
91
6.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
259
12k
Facilitating Awesome Meetings
lara
41
5.6k
Faster Mobile Websites
deanohume
298
30k
Gamification - CAS2011
davidbonilla
76
4.6k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Building Your Own Lightsaber
phodgson
98
5.7k
Docker and Python
trallard
33
2.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
16
1.4k
Transcript
Getting Involved with Spring 101 Chris Beams SpringSource, VMware
Hello!
Chris Beams Committer, core Spring Framework
goals broad overview getting involved today sneak preview of next
gen processes
the spring landscape today
what is Spring?
a framework?
a collection of projects?
a community?
Yes.
spring-framework
spring-framework spring-integration spring-batch spring-data-* spring-roo spring-webflow spring-social spring-amqp spring-hadoop
None
None
many projects, one goal:
provide infrastructural support for enterprise applications
(and there's a lot of infrastructure out there)
many projects, common resources.
springsource.org completely redesigned
issue tracking jira.springsource.org
source control http://fisheye.springsource.org Subversion, e.g http://src.springframework.org/svn/spring-framework Git http://git.springsource.org GitHub http://github.com/SpringSource
continuous integration build.springsource.org
quality control sonar.springsource.org
artifact management Maven Central search.maven.org SpringSource S3 maven repositories (more
on all that in a bit)
forums forum.springsource.org
how we manage our projects
"benevolent dictator" model relatively small teams strong leadership community input
how we design deep subject matter expertise internal peer review
feedback from R&D, consultants, sales engineers distilling jira issues, forum posts conservative releases solve for real-world problems
how we test proper unit testing, integration testing use by
other project teams use by our engineers in the field feedback from users against milestones and RCs
who commits meritocracy typically employees typically strong users we've hired
increasing number of external committers
how we release snapshot->milestone->RC->GA relatively long release cycles plenty of
feedback mostly successful model over time
every project is a little different
every project is a little different share process where it
makes sense but do what's right for each team build systems are a good example
Example spring-framework issue management
Managing SPR JIRA https://jira.springsource.org/browse/SPR 8800+ issues Daily triage Backlog versions
</overview>
ways to get involved
ways to get involved Use the projects! Report issues Help
other users Track and test latest features Participate in user groups Contribute code and other fixes
first things first using Spring projects
quick start (for the impatient)
demo STS template projects
read the documentation http://www.springsource.org/documentation
grab the artifacts via distribution zips http://www.springsource.com/download/community via Maven Central
(preferred) http://search.maven.org
learn from samples and reference applications
samples http://www.springsource.org/samples
reference applications greenhouse live app http://greenhouse.springsource.org home http://www.springsource.org/greenhouse code https://github.com/SpringSource/greenhouse
Spring Roo http://www.springsource.org/spring-roo rapid application development Spring best practices built
in
tutorials http://www.springsource.org/tutorials
stay informed
blogs team blog http://blog.springsource.org news feed http://springsource.org RSS for both
newsletter http://www.springsource.com/newsevents/newsletter-registration
Twitter http://twitter.com/springsource http://twitter.com/springsource/projects http://twitter.com/springsource/employees
Twitter http://twitter.com/springframework http://twitter.com/springframework/team
report issues
improvements & new features share use cases vote!
bugs steps to reproduce are critcal but reproduction projects get
you ♥
repro projects simple as possible self-contained built with Maven or
Gradle
spring-framework-issues https://github.com/SpringSource/spring-framework-issues repro projects, streamlined especially helpful for web application
issues
help other users (and get help when you need it
too)
forum.springsource.org thousands of users great way to build a presence
in the community
stackoverflow.com
None
None
track and test the latest features
snapshots, milestones, RCs http://maven.springframework.org/snapshot http://maven.springframework.org/milestone http://maven.springframework.org/release
all based on Amazon S3 resolvable from Maven but not
browseable http://shrub.appspot.com
participate in user groups google for 'spring user group' in
your area java user groups often have spring content if they don't, consider giving a talk! interested in starting a group? contact
[email protected]
contribute code and other fixes
first: why contribute? scratch your own itch get to know
Spring really well improve your skills street cred, yo.
demo contributor attribution in git projects
kinds of contribution typo fixes, documentation, cosmetic minor bug fixes
and improvements major stuff
how to do it and what to expect
the small stuff typo? doco? just submit a patch or
pull request (we'll talk about pull requests shortly)
the bigger stuff
it's about communication create/comment on the issue express interest, start
a conversation discuss possible implementations build trust
study previous patches and pull requests what kinds of submissions
have been accepted before? code quality, formatting, etc
demo spring-integration pull requests https://github.com/SpringSource/spring-integration/pulls https://github.com/SpringSource/spring-integration/pull/153
grab the source $ svn checkout https://github.com/cbeams/spring-framework.git ... $ git
clone https://github.com/cbeams/spring-framework.git ...
git || svn
git && svn GitHub supports both! https://github.com/blog/966-improved- subversion-client-support your choice
look at the commit log plan to emulate it
demo spring-framework commit log http://progit.org/book/ch5-2.html#commit_guidelines
get to know the project build system Ant ("spring-build") Gradle
("spring-build-gradle") Maven (individual to each project) S2 team blog: building Spring 3
give it a shot! stay in communication with project team
not every contribution will necessarily make it process should be rewarding in any case
(and don't forget tests!)
in any case expect your code to be changed
"Juergenization"
legal stuff You may be asked to sign our CLA
SpringSource Contributor License Agreement
contributing through external projects Example: Spring Social core & Spring
Social Foursquare https://github.com/springsource/spring-social https://github.com/mattupstate/spring-social-foursquare
sneak preview getting involved 2.0
source control improvements everything on GitHub
pull requests are...
the new patch
the new code review
demo pull request / fork and edit
next steps complete the migration of projects spring-framework post 3.1
GA only a few remaining after that
integrate pull requests into our JIRA workflow http://seam-framework.2283336.n4.nabble.com/git-pull-request-JIRA-workflow-td3272708.html http://community.jboss.org/wiki/GuideToUsePullRequestsWithGitHubAndJIRA
improved artifact management Artifactory http://repo.springsource.org
demo: repo.springsource.org unified search put a watch on anytihng license
information transitive resolution migration path from s3 repos
streamline CLA process deep integration via GitHub hooks API CLA
database revised CLA agreement, web-only form
Thanks! @cbeams this presentation on the web: http://cbeams.github.com/spring-community- 101