Bug 1000485

Summary: All servlet and jsp API dependencies must be <scope>provided</scope> (not compile or runtime)
Product: [Retired] JBoss BPMS Platform 6 Reporter: Geoffrey De Smet <gdesmet>
Component: Build and AssemblyAssignee: Roger Martínez <romartin>
Status: CLOSED CURRENTRELEASE QA Contact: Ivo Bek <ibek>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.0.0CC: pzapataf, romartin, rzhang
Target Milestone: ER3   
Target Release: 6.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 20:12:07 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:

Description Geoffrey De Smet 2013-08-23 14:01:59 UTC
1) For every dependency on 
        <dependency>
          <groupId>org.jboss.spec.javax.servlet</groupId>
          <artifactId>jboss-servlet-api_3.0_spec</artifactId>
        </dependency>
change it into
        <dependency>
          <groupId>org.jboss.spec.javax.servlet</groupId>
          <artifactId>jboss-servlet-api_3.0_spec</artifactId>
          <scope>provided</scope>
        </dependency>

Note: not in the parent pom: the parent pom never declares <scope>

2) For every dependency on 
        <dependency>
          <groupId>org.jboss.spec.javax.servlet.jsp</groupId>
          <artifactId>jboss-jsp-api_2.2_spec</artifactId>
        </dependency>
change it into
        <dependency>
          <groupId>org.jboss.spec.javax.servlet.jsp</groupId>
          <artifactId>jboss-jsp-api_2.2_spec</artifactId>
          <scope>provided</scope>
        </dependency>

3) In dashboard builder (and potentially other projects), there are several modules with java imports of servlet/jsp stuff but don't have a direct dependency to it (instead they rely on it through a transitive dependencies - which is against maven conventions).
Add a direct provided dependency on servlet and/or jsp for those to avoid compile errors.

4) The generic wars will no longer contain the servlet/jsp API's (that's a good thing). So it will be no longer needed to these exclude them in assembly-*.xml's.
Remove this from those assembly xml files:
                    <exclude>WEB-INF/lib/servlet-api-*.jar</exclude>
                    <exclude>WEB-INF/lib/jboss-servlet-api_*.jar</exclude>
                    <exclude>WEB-INF/lib/jsp-api-*.jar</exclude>
                    <exclude>WEB-INF/lib/jboss-jsp-api_*.jar</exclude>

Comment 2 Geoffrey De Smet 2013-08-23 14:14:28 UTC
Note: as part of https://bugzilla.redhat.com/show_bug.cgi?id=999072
all javax.servlet:servlet-api dependencies were replaced with org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec dependencies.

Comment 4 Ivo Bek 2013-10-25 14:57:03 UTC
Verified in BPMS 6.0.0.ER4 ... the dependencies aren't in WEB-INF/lib any more.