Bug 1014610

Summary: No version defined for org.slf4j:slf4j-jdk14 when using eap6-supported-artifacts BOM
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Rostislav Svoboda <rsvoboda>
Component: Maven RepositoryAssignee: Paul Gier <pgier>
Status: CLOSED CURRENTRELEASE QA Contact: Nikoleta Hlavickova <nziakova>
Severity: medium Docs Contact: Russell Dickenson <rdickens>
Priority: unspecified    
Version: 6.2.0CC: bsutter, jdoyle, ttarrant
Target Milestone: CR1   
Target Release: EAP 6.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-15 16:17:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rostislav Svoboda 2013-10-02 11:45:04 UTC
Maven reports:
[ERROR]     'dependencies.dependency.version' for org.slf4j:slf4j-jdk14:jar is missing. 

Just fyi - using org.jboss.slf4j:slf4j-jboss-logmanager with BOM works fine, but for org.slf4j:slf4j-jdk14 there is error. slf4j-jdk14 is present in maren repo zip.

org.slf4j:slf4j-jdk14 is quite widely used, am I supposed to use org.jboss.slf4j:slf4j-jboss-logmanager for EAP 6 apps?

Profile from pom.xml
    <profile>
      <id>use-eap6-bom</id>
      <properties>
        <version.eap6-supported-artifacts>6.2.0.Beta1</version.eap6-supported-artifacts>
      </properties>

      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.jboss.bom</groupId>
            <artifactId>eap6-supported-artifacts</artifactId>
            <version>${version.eap6-supported-artifacts}</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>

      <dependencies>
        <dependency>
          <groupId>org.jboss.ws.cxf</groupId>
          <artifactId>jbossws-cxf-client</artifactId>
        </dependency>
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-jdk14</artifactId>
<!--
<version>1.7.2-redhat-1</version>
-->
        </dependency>
      </dependencies>
    </profile>

Comment 1 Paul Gier 2013-11-04 20:34:45 UTC
I think it was originally added to the Maven repo because of some transitive dependency, because it's not part of the eap runtime.  The slf4j api is part of our supported API, however the impl jars are private.  If we add it to the supported artifacts BOM, then we are saying that we fully support the use of this jar in your app.  On the other hand, if we leave it out of the BOM, then we are telling users that they should use the upstream version if they need to package it in their apps.

Since we are already building it, and shipping it with the Maven repo, I guess it's ok to add it to the supported artifacts BOM.

Comment 3 Rostislav Svoboda 2013-11-14 11:02:59 UTC
Verified on EAP 6.2.0 CR1

Check with test pom.xml
  ++ 
jboss-eap-6.2.0.GA-maven-repository/org/jboss/bom/eap6-supported-artifacts/6.2.0.GA/eap6-supported-artifacts-6.2.0.GA.pom contains:

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.7.2.redhat-2</version>
      </dependency>