0
Enterprise Maven Repository                               ...and what does it mean to you ?                               ...
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Friday 29 June 12
Platform               JBoss                                 Quality                    Candidate               Enterprise...
Platform               JBoss                                    Quality                       Candidate               Ente...
Platform               JBoss                                        Quality                           Candidate           ...
Platform               JBoss                                        Quality                           Candidate           ...
Platform                JBoss                                        Quality                           Candidate          ...
Platform               JBoss                                 Quality                    Candidate               Enterprise...
Tools/IDE                             Migrations                      Documentation          Upgrades                     ...
Maven                • Pervasive Build and Dependency Management Tool                • Gives a common language to express ...
What is a Maven RepositoryFriday 29 June 12
What is a Maven Repository                    •   A directory of artifacts (jar, doc, source, zip,                        ...
What is a Maven Repository                    •   A directory of artifacts (jar, doc, source, zip,                        ...
What is a Maven Repository                    •   A directory of artifacts (jar, doc, source, zip,                        ...
What is a Maven Repository                    •   A directory of artifacts (jar, doc, source, zip,                        ...
What is a Maven Repository                    •   A directory of artifacts (jar, doc, source, zip,                        ...
What is a Maven Repository                    •   A directory of artifacts (jar, doc, source, zip,                        ...
How Maven Works...pom.xml      :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifac...
How Maven Works...                                       ~/.m2/pom.xml      :<dependency> <groupId>org.richfaces.core</gro...
How Maven Works...                                       ~/.m2/pom.xml      :<dependency> <groupId>org.richfaces.core</gro...
How Maven Works...                                                Maven                                       ~/.m2/   Cen...
How Maven Works...                                                Maven                                       ~/.m2/   Cen...
How Maven Works...                                                   Maven                                       ~/.m2/   ...
How Maven Works...                                                   Maven                                       ~/.m2/   ...
How Maven Works...                                                   Maven                                       ~/.m2/   ...
How Maven Works...                                                   Maven                                       ~/.m2/   ...
How Maven Works...                                                    Maven                                       ~/.m2/  ...
How Maven Works...                                                     Maven                                       ~/.m2/ ...
How Maven Works...                                                     Maven                                       ~/.m2/ ...
How Maven Works...                                                       Maven                                       ~/.m2...
jsf-api.jar                    richfaces-api.jarFriday 29 June 12
jsf-api.jarhfaces-api.jar  Friday 29 June 12
BOM POM!Dependency Management:                                 Dependencies:                                              ...
Project Wolf!               •    Enterprise Maven Repository                    •   Every jar, javadoc, source, etc.      ...
http://maven.repository.redhat.com/Friday 29 June 12
How to use ?                    •   Add http://maven.repository.redhat.com/techpreview/all to                        ~/.m2...
How Enterprise Maven                   Repo Workspom.xml      :<dependency> <groupId>org.richfaces.core</groupId> <artifac...
How Enterprise Maven                   Repo Works                                       ~/.m2/pom.xml      :<dependency> <...
How Enterprise Maven                   Repo Works                                       ~/.m2/pom.xml      :<dependency> <...
How Enterprise Maven                   Repo Works                                                Maven Central            ...
How Enterprise Maven                   Repo Works                                                Maven Central            ...
How Enterprise Maven                   Repo Works                                                Maven Central            ...
How Enterprise Maven                   Repo Works                                                Maven Central            ...
How Enterprise Maven                   Repo Works                                                Maven Central            ...
How Enterprise Maven                   Repo Works                                                            Maven Central...
How Enterprise Maven                   Repo Works                                                            Maven Central...
How Enterprise Maven                   Repo Works                                                             Maven Centra...
How Enterprise Maven                   Repo Works                                                             Maven Centra...
How Enterprise Maven                   Repo Works                                                             Maven Centra...
How Enterprise Maven                   Repo Works                                                             Maven Centra...
How Enterprise Maven                   Repo Works                                                             Maven Centra...
How Enterprise Maven                   Repo Works                                                             Maven Centra...
Project Wolf “Rules”                    1. Unique Group-Artifact-Version (GAV)                    2. Community version + -...
Friday 29 June 12
Friday 29 June 12
Getting in...Friday 29 June 12
Getting in...                    •   CDI Enable your programming model                    •   Transitive Closure of Depend...
Getting in...                    •   CDI Enable your programming model                    •   Transitive Closure of Depend...
Getting in...                    •   CDI Enable your programming model                    •   Transitive Closure of Depend...
What is there today ?          http://maven.repository.redhat.com   JBoss Developer Studio          QuickStarts/Archetypes...
Friday 29 June 12
Platform               JBoss                                 Quality                    Candidate               Enterprise...
Tools/IDE                             Migrations                      Documentation          Upgrades                     ...
Tools/IDE                             Migrations                      Documentation          Upgrades                     ...
Friday 29 June 12
Friday 29 June 12
Girl-1Friday 29 June 12
Girl-1   Girl-1-redhat-1Friday 29 June 12
Girl-1-redhat-1   Girl-1Friday 29 June 12
Friday 29 June 12
Assasin-4                    Assasin-4                    -redhat-3Friday 29 June 12
Assasin-4                    Assasin-4                    -redhat-3Friday 29 June 12
jsf-api.jar                    richfaces-api.jarFriday 29 June 12
BOM POM                               org.jboss.spec.javaee6-3.0.0                 jsf-api.jarhfaces-api.jar  Friday 29 Ju...
Friday 29 June 12
Getting in...Friday 29 June 12
Getting in...                    •   CDI Enable your programming model                    •   Transitive Closure of Depend...
Getting in...                    •   CDI Enable your programming model                    •   Transitive Closure of Depend...
Getting in...                    •   CDI Enable your programming model                    •   Transitive Closure of Depend...
Questions ?                       https://github.com/jboss-jdf/jboss-bom                        https://github.com/jbossas...
Upcoming SlideShare
Loading in...5
×

JBoss Enterprise Maven Repository

1,561

Published on

EAP 6 comes with a Maven Repository - this means that you can now easily migrate from JBoss AS 7 to EAP 6 if your project follows good
best practices concerning use of Maven dependencies. But it is about much more than just easy migration.

The best practices we applied to the use of Enterprise Maven Repository is some that many jboss.org projects could and should consider using since it allows the projects to be easily available for productization and be easy to consume by users in tools like JBoss Tools, Forge and the many Quickstarts built around the Maven best practices.

In this talk I'll present how the Maven repository came to be, what concerns we wanted to address, how you as a user utilizes this maven repository best and how jboss.org projects can benefit from its best practices too.

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

  • Be the first to like this

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

No notes for slide

Transcript of "JBoss Enterprise Maven Repository"

  1. 1. Enterprise Maven Repository ...and what does it mean to you ? Max Rydahl Andersen Senior Principal Engineer Red HatFriday 29 June 12
  2. 2. Friday 29 June 12
  3. 3. Friday 29 June 12
  4. 4. Friday 29 June 12
  5. 5. Friday 29 June 12
  6. 6. Friday 29 June 12
  7. 7. Friday 29 June 12
  8. 8. Friday 29 June 12
  9. 9. Friday 29 June 12
  10. 10. Friday 29 June 12
  11. 11. Friday 29 June 12
  12. 12. Friday 29 June 12
  13. 13. Friday 29 June 12
  14. 14. Platform JBoss Quality Candidate Enterprise Assurance Release MiddlewareFriday 29 June 12
  15. 15. Platform JBoss Quality Candidate Enterprise Assurance Release Middleware org == comFriday 29 June 12
  16. 16. Platform JBoss Quality Candidate Enterprise Assurance Release Middleware org == com org ~= comFriday 29 June 12
  17. 17. Platform JBoss Quality Candidate Enterprise Assurance Release Middleware org == com org ~= com org != comFriday 29 June 12
  18. 18. Platform JBoss Quality Candidate Enterprise Assurance Release Middleware Path to Product ? org == com org ~= com org != comFriday 29 June 12
  19. 19. Platform JBoss Quality Candidate Enterprise Assurance Release MiddlewareFriday 29 June 12
  20. 20. Tools/IDE Migrations Documentation Upgrades Standards/Guidelines Platform JBoss Quality Candidate Enterprise Assurance Release Middleware Support Getting Started Books Examples Builds TrainingsFriday 29 June 12
  21. 21. Maven • Pervasive Build and Dependency Management Tool • Gives a common language to express project structure and which artifacts a project needs and which it produces • Perfect for examples, sharing, teams, continuos integration, …Friday 29 June 12
  22. 22. What is a Maven RepositoryFriday 29 June 12
  23. 23. What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.)Friday 29 June 12
  24. 24. What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.) • All with a unique GAV IDFriday 29 June 12
  25. 25. What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.) • All with a unique GAV ID • Group org.richfaces.coreFriday 29 June 12
  26. 26. What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.) • All with a unique GAV ID • Group org.richfaces.core • Artifact richfaces-api.jarFriday 29 June 12
  27. 27. What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.) • All with a unique GAV ID • Group org.richfaces.core • Artifact richfaces-api.jar • Version 4.0.2Friday 29 June 12
  28. 28. What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.) • All with a unique GAV ID • Group org.richfaces.core • Artifact richfaces-api.jar • Version 4.0.2 • Metadata for dependencies between artifactsFriday 29 June 12
  29. 29. How Maven Works...pom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version></dependency>Friday 29 June 12
  30. 30. How Maven Works... ~/.m2/pom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version></dependency>Friday 29 June 12
  31. 31. How Maven Works... ~/.m2/pom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version></dependency>Friday 29 June 12
  32. 32. How Maven Works... Maven ~/.m2/ Centralpom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version></dependency>Friday 29 June 12
  33. 33. How Maven Works... Maven ~/.m2/ Centralpom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version></dependency>Friday 29 June 12
  34. 34. How Maven Works... Maven ~/.m2/ Centralpom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version></dependency>Friday 29 June 12
  35. 35. How Maven Works... Maven ~/.m2/ Centralpom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version></dependency>Friday 29 June 12
  36. 36. How Maven Works... Maven ~/.m2/ Centralpom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version> Company X</dependency>Friday 29 June 12
  37. 37. How Maven Works... Maven ~/.m2/ Centralpom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version> Company X</dependency>Friday 29 June 12
  38. 38. How Maven Works... Maven ~/.m2/ Centralpom.xml richfaces-api.jar JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version> Company X</dependency>Friday 29 June 12
  39. 39. How Maven Works... Maven ~/.m2/ Centralpom.xml richfaces-api.jar JBoss.org :<dependency> richfaces-api.jar <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version> Company X</dependency>Friday 29 June 12
  40. 40. How Maven Works... Maven ~/.m2/ Centralpom.xml richfaces-api.jar JBoss.org :<dependency> richfaces-api.jar <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version> Company X</dependency> richfaces-api.jarFriday 29 June 12
  41. 41. How Maven Works... Maven ~/.m2/ Centralpom.xml richfaces-api.jar JBoss.org :<dependency> richfaces-api.jar <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0</version> Company X</dependency> Which richfaces-api.jar ? richfaces-api.jarFriday 29 June 12
  42. 42. jsf-api.jar richfaces-api.jarFriday 29 June 12
  43. 43. jsf-api.jarhfaces-api.jar Friday 29 June 12
  44. 44. BOM POM!Dependency Management: Dependencies: <dependencies> <dependencyManagement> <dependency> <dependencies> <groupId>javax.enterprise</groupId> <dependency> <artifactId>cdi-api</artifactId> <groupId>org.jboss.spec</groupId> </dependency> <artifactId>jboss-javaee-6.0</artifactId> <dependency> <version>3.0.0.Final</version> <groupId>junit</groupId> <type>pom</type> <artifactId>junit</artifactId> <scope>import</scope> <version>4.0.1</version> </dependency> <scope>test</scope> </dependencies> </dependency> </dependencyManagement> </dependencies>Friday 29 June 12
  45. 45. Project Wolf! • Enterprise Maven Repository • Every jar, javadoc, source, etc. available with unique GAV • BOM POM for stacks • Across All JBoss Enterprise Middleware • EAP 6/WFK 2/JDG 6 • .zip distribution • ...and...Friday 29 June 12
  46. 46. http://maven.repository.redhat.com/Friday 29 June 12
  47. 47. How to use ? • Add http://maven.repository.redhat.com/techpreview/all to ~/.m2/settings.xml • enterprise=true on archetypes/JBoss Central • http://jboss.org/developerFriday 29 June 12
  48. 48. How Enterprise Maven Repo Workspom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  49. 49. How Enterprise Maven Repo Works ~/.m2/pom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  50. 50. How Enterprise Maven Repo Works ~/.m2/pom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  51. 51. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  52. 52. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  53. 53. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  54. 54. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  55. 55. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version></dependency>Friday 29 June 12
  56. 56. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency>Friday 29 June 12
  57. 57. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency>Friday 29 June 12
  58. 58. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml richfaces-api.jar JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency>Friday 29 June 12
  59. 59. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml richfaces-api.jar JBoss.org :<dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency> Which richfaces-api.jar ?Friday 29 June 12
  60. 60. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml richfaces-api.jar JBoss.org :<dependency> richfaces-api.jar <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency> Which richfaces-api.jar ?Friday 29 June 12
  61. 61. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml richfaces-api.jar JBoss.org :<dependency> richfaces-api.jar <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency> richfaces-api.jar Which richfaces-api.jar ?Friday 29 June 12
  62. 62. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml richfaces-api.jar JBoss.org :<dependency> richfaces-api.jar <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency> richfaces-api.jar Which richfaces-api.jar ?Friday 29 June 12
  63. 63. How Enterprise Maven Repo Works Maven Central ~/.m2/pom.xml richfaces-api.jar JBoss.org :<dependency> richfaces-api.jar <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-api</artifactId> <version>4.0.0-redhat-1</version> maven.repository.jboss.org</dependency> richfaces-api.jar Which richfaces-api.jar ? Company XFriday 29 June 12
  64. 64. Project Wolf “Rules” 1. Unique Group-Artifact-Version (GAV) 2. Community version + -redhat-<id> • hibernate-validator-4.2.0.Final-redhat-1 • richfaces-api-4.0.0.Final-redhat-3 3. BOM POM’s for the stack(s)Friday 29 June 12
  65. 65. Friday 29 June 12
  66. 66. Friday 29 June 12
  67. 67. Getting in...Friday 29 June 12
  68. 68. Getting in... • CDI Enable your programming model • Transitive Closure of Dependencies in Maven Central • Maven Archetypes • Provide a single BOM’s for your framework • Create Quickstarts • Tooling • Path to product • OpenShift • MobileFriday 29 June 12
  69. 69. Getting in... • CDI Enable your programming model • Transitive Closure of Dependencies in Maven Central • Maven Archetypes • Provide a single BOM’s for your framework • Create Quickstarts • Tooling • Path to product • OpenShift • MobileFriday 29 June 12
  70. 70. Getting in... • CDI Enable your programming model • Transitive Closure of Dependencies in Maven Central • Maven Archetypes • Provide a single BOM’s for your framework • Create Quickstarts • Tooling • Path to product • OpenShift • MobileFriday 29 June 12
  71. 71. What is there today ? http://maven.repository.redhat.com JBoss Developer Studio QuickStarts/Archetypes Forge JBoss Developer Framework Arquillian The JBoss Way OpenShiftFriday 29 June 12
  72. 72. Friday 29 June 12
  73. 73. Platform JBoss Quality Candidate Enterprise Assurance Release MiddlewareFriday 29 June 12
  74. 74. Tools/IDE Migrations Documentation Upgrades Standards/Guidelines Platform JBoss Quality Candidate Enterprise Assurance Release Middleware Support Getting Started Books Examples Builds TrainingsFriday 29 June 12
  75. 75. Tools/IDE Migrations Documentation Upgrades Standards/Guidelines Platform JBoss Quality Candidate Enterprise Assurance Release Middleware Support Getting Started Books Examples Builds TrainingsFriday 29 June 12
  76. 76. Friday 29 June 12
  77. 77. Friday 29 June 12
  78. 78. Girl-1Friday 29 June 12
  79. 79. Girl-1 Girl-1-redhat-1Friday 29 June 12
  80. 80. Girl-1-redhat-1 Girl-1Friday 29 June 12
  81. 81. Friday 29 June 12
  82. 82. Assasin-4 Assasin-4 -redhat-3Friday 29 June 12
  83. 83. Assasin-4 Assasin-4 -redhat-3Friday 29 June 12
  84. 84. jsf-api.jar richfaces-api.jarFriday 29 June 12
  85. 85. BOM POM org.jboss.spec.javaee6-3.0.0 jsf-api.jarhfaces-api.jar Friday 29 June 12
  86. 86. Friday 29 June 12
  87. 87. Getting in...Friday 29 June 12
  88. 88. Getting in... • CDI Enable your programming model • Transitive Closure of Dependencies in Maven Central • Maven Archetypes • Provide a single BOM’s for your framework • Create Quickstarts • Tooling • Path to product • OpenShift • MobileFriday 29 June 12
  89. 89. Getting in... • CDI Enable your programming model • Transitive Closure of Dependencies in Maven Central • Maven Archetypes • Provide a single BOM’s for your framework • Create Quickstarts • Tooling • Path to product • OpenShift • MobileFriday 29 June 12
  90. 90. Getting in... • CDI Enable your programming model • Transitive Closure of Dependencies in Maven Central • Maven Archetypes • Provide a single BOM’s for your framework • Create Quickstarts • Tooling • Path to product • OpenShift • MobileFriday 29 June 12
  91. 91. Questions ? https://github.com/jboss-jdf/jboss-bom https://github.com/jbossas/quickstart https://github.com/jbossas/archetypes http://jboss.org/developer http://devstudio.jboss.com http://maven.repository.redhat.comFriday 29 June 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×