JBoss EAP BOMs: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(41 intermediate revisions by the same user not shown)
Line 6: Line 6:
=Overview=
=Overview=


The specification of one more more supported JBoss dependencies in a build does not guarantee that all transitive dependencies of the build are resolved to supported dependencies. This is the reason behind using JBoss-curated [[Maven_Concepts_-_Dependencies#BOM|BOM (bills of materials)]]. These BOMs insure that Maven will prioritize supported JBoss artifacts for all direct and transitive dependencies in the build.
The specification of one more more supported JBoss dependencies in a build does not guarantee that all transitive dependencies of the build are resolved to supported dependencies. This is the reason behind using JBoss-curated [[Maven_Concepts_-_Dependencies#BOM|BOM (bills of materials)]]. These BOMs insure that Maven will prioritize supported JBoss artifacts for all direct and transitive dependencies in the build. Transitive dependencies will be managed to the correct supported dependency version where applicable. The EAP version can be specified when using a BOM.


JBoss EAP BOMs are used like any other BOMs:
JBoss EAP BOMs are used like any other BOMs:
Line 12: Line 12:
{{Internal|Maven_Concepts_-_Dependencies#Using_the_BOM|Using a BOM}}
{{Internal|Maven_Concepts_-_Dependencies#Using_the_BOM|Using a BOM}}


=Repository=
The JBoss BOMs are being developed here: https://github.com/jboss-developer/jboss-eap-boms. Different branches are maintained for different JBoss EAP versions. Then they are published in the [[JBoss_Maven_Repositories#RedHat_General_Availability_Maven_Repository|RedHat General Availability Maven Repository]].


The BOMs are available in the [[JBoss_Maven_Repositories#RedHat_General_Availability_Maven_Repository|RedHat General Availability Maven Repository]].
=EAP 7=


=BOMs=
See:


==EAP 6==
{{External|https://github.com/NovaOrdis/playground/blob/master/jboss/bom/eap7/pom.xml}}


The full example is available here:


org.jboss.bom eap6-supported-artifacts https://maven.repository.redhat.com/ga/org/jboss/bom/eap6-supported-artifacts/6.4.15.GA/eap6-supported-artifacts-6.4.15.GA.pom
{{External|https://github.com/NovaOrdis/playground/tree/master/jboss/bom/eap7}}


jboss-javaee-6.0-with-logging https://maven.repository.redhat.com/ga/org/jboss/bom/eap/jboss-javaee-6.0-with-logging/6.4.15.GA/jboss-javaee-6.0-with-logging-6.4.15.GA.pom
More details about EAP 7 and Maven are available here:


==EAP 7==
{{External|https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#use_the_maven_repository}}


=Relationship between BOM and EAP Version=
==EAP 7 BOMs==


The EAP version is specified directly in the BOM declaration. For EAP 6:
* https://maven.repository.redhat.com/ga/org/jboss/bom/eap-runtime-artifacts/7.0.4.GA/eap-runtime-artifacts-7.0.4.GA.pom
* https://maven.repository.redhat.com/ga/org/jboss/spec/jboss-javaee-7.0/1.0.3.Final-redhat-7/jboss-javaee-7.0-1.0.3.Final-redhat-7.pom


<syntaxhighlight lang='xml'>
=EAP 6=
<dependencyManagement>
 
  <dependencies>
See:
    <dependency>
 
      <groupId>org.jboss.bom</groupId>
{{External|https://github.com/NovaOrdis/playground/blob/master/jboss/bom/eap6/pom.xml}}
      <artifactId>eap6-supported-artifacts</artifactId>
 
      <version>6.4.15.GA</version>
The full example is available here:
      <type>pom</type>
 
      <scope>import</scope>
{{External|https://github.com/NovaOrdis/playground/tree/master/jboss/bom/eap6}}
    </dependency>
 
  </dependencies>
More details about EAP 6 and Maven are available here:
</dependencyManagement>
 
</syntaxhighlight >
{{External|https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/chap-Maven_Guide.html}}
 
==EAP 6 BOMs==
 
* https://maven.repository.redhat.com/ga/org/jboss/bom/eap6-supported-artifacts/6.4.15.GA/eap6-supported-artifacts-6.4.15.GA.pom
* https://maven.repository.redhat.com/ga/org/jboss/bom/eap/jboss-javaee-6.0-with-logging/6.4.15.GA/jboss-javaee-6.0-with-logging-6.4.15.GA.pom

Latest revision as of 22:25, 6 September 2017

Internal

Overview

The specification of one more more supported JBoss dependencies in a build does not guarantee that all transitive dependencies of the build are resolved to supported dependencies. This is the reason behind using JBoss-curated BOM (bills of materials). These BOMs insure that Maven will prioritize supported JBoss artifacts for all direct and transitive dependencies in the build. Transitive dependencies will be managed to the correct supported dependency version where applicable. The EAP version can be specified when using a BOM.

JBoss EAP BOMs are used like any other BOMs:

Using a BOM

The JBoss BOMs are being developed here: https://github.com/jboss-developer/jboss-eap-boms. Different branches are maintained for different JBoss EAP versions. Then they are published in the RedHat General Availability Maven Repository.

EAP 7

See:

https://github.com/NovaOrdis/playground/blob/master/jboss/bom/eap7/pom.xml

The full example is available here:

https://github.com/NovaOrdis/playground/tree/master/jboss/bom/eap7

More details about EAP 7 and Maven are available here:

https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#use_the_maven_repository

EAP 7 BOMs

EAP 6

See:

https://github.com/NovaOrdis/playground/blob/master/jboss/bom/eap6/pom.xml

The full example is available here:

https://github.com/NovaOrdis/playground/tree/master/jboss/bom/eap6

More details about EAP 6 and Maven are available here:

https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/chap-Maven_Guide.html

EAP 6 BOMs