Your SlideShare is downloading. ×
  • Like
Build and Release with Maven
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Build and Release with Maven

  • 1,905 views
Published

Short introduction to Maven with a focus on SCM integration and release management. …

Short introduction to Maven with a focus on SCM integration and release management.

Presentation given at a Copenhagen Perl Mongers Tech Meeting on November 24 2009.

Short tutorial to supplement the slides is available here: http://slu.livejournal.com/12939.html

Published in Technology , News & Politics
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,905
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
32
Comments
1
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. Cph.pm Tech Meet 2009-11-24 Build and Release with Maven Søren Lund (slu) [email_address]
  • 2. The Olden Days
    • C / C++
      • Code split in source and header files
      • 3. Headers could include headers
      • 4. What to compile when a header was modified?
    • Make
  • 7. Java, Ant and Maven
    • Foobar.java compiles into Foobar.class
    • 8. javac *.java works – sorta
    • 9. Apache Ant – Make Java style
      • Procedural
      • 10. It's ”roll your own”
    • Maven is something complety different
      • Declarative
      • 11. Best Practices and Conventions
  • 12. Installation
    • Install a JDK (set JAVA_HOME)
    • 13. Unpack Maven (set M2_HOME)
    • 14. Append $JAVA_HOME/bin and $M2_HOME/bin to your path
    • 15. Local settings at $HOME/.m2/settings.xml
  • 16. Creating a New Project
    • Call mvn archetype:generate
      • Answer a few questions and it...
      • 17. ...creates a project directory
      • 18. ...creates skeleton project
      • 19. ...creates the POM (Project Object Model)
    • Now try
      • mvn compile
      • 20. mvn package
  • 21. Integration with SCM
    • Add SCM URL to the POM: <scm> <connection> URL </connection> <developerConnection> URL </developerConnection> </scm>
  • 22. Setup a Repository
    • Adding a repository: <distributionManagement> <repository> <id>repo id</id> <name>The Repository</name> <url>URL</url> </repository> </distributionManagement>
  • 23. Prepare and Perform Release
    • Preparing a release (from your own pc): mvn release:prepare
      • Bumps version
      • 24. Verifies build
      • 25. Tags and commits to SCM
    • Performing a release (on a build server): mvn release:perform
      • Builds and uploads to repository
  • 26. References
    • http://www.sonatype.com/documentation/books
    • 27. http://maven.apache.org/
    • 28. http://java.sun.com/
  • 29. The End