• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
JBoss Enterprise Maven Repository
 

JBoss Enterprise Maven Repository

on

  • 1,582 views

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...

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.

Statistics

Views

Total Views
1,582
Views on SlideShare
1,582
Embed Views
0

Actions

Likes
0
Downloads
19
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    JBoss Enterprise Maven Repository JBoss Enterprise Maven Repository Presentation Transcript

    • Enterprise Maven Repository ...and what does it mean to you ? Max Rydahl Andersen Senior Principal Engineer Red HatFriday 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
    • Friday 29 June 12
    • Platform JBoss Quality Candidate Enterprise Assurance Release MiddlewareFriday 29 June 12
    • Platform JBoss Quality Candidate Enterprise Assurance Release Middleware org == comFriday 29 June 12
    • Platform JBoss Quality Candidate Enterprise Assurance Release Middleware org == com org ~= comFriday 29 June 12
    • Platform JBoss Quality Candidate Enterprise Assurance Release Middleware org == com org ~= com org != comFriday 29 June 12
    • Platform JBoss Quality Candidate Enterprise Assurance Release Middleware Path to Product ? org == com org ~= com org != comFriday 29 June 12
    • Platform JBoss Quality Candidate Enterprise Assurance Release MiddlewareFriday 29 June 12
    • 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
    • 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
    • What is a Maven RepositoryFriday 29 June 12
    • What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.)Friday 29 June 12
    • What is a Maven Repository • A directory of artifacts (jar, doc, source, zip, etc.) • All with a unique GAV IDFriday 29 June 12
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • jsf-api.jar richfaces-api.jarFriday 29 June 12
    • jsf-api.jarhfaces-api.jar Friday 29 June 12
    • 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
    • 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
    • http://maven.repository.redhat.com/Friday 29 June 12
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Friday 29 June 12
    • Friday 29 June 12
    • Getting in...Friday 29 June 12
    • 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
    • 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
    • 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
    • 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
    • Friday 29 June 12
    • Platform JBoss Quality Candidate Enterprise Assurance Release MiddlewareFriday 29 June 12
    • 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
    • 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
    • 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 June 12
    • Friday 29 June 12
    • Getting in...Friday 29 June 12
    • 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
    • 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
    • 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
    • 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