Juan Hernandez has uploaded a new change for review.

Change subject: packaging: Move dependencies to a JBoss module
......................................................................

packaging: Move dependencies to a JBoss module

Currently we package dependencies as .jar files in the lib directories
of the .ear and in the .war of RESTAPI. This has the inconvenient that
those dependencies don't have an associated artifact and also can't be
shared from different applications. This patch moves all those
dependencies to the dependencies jboss module, so that they are added to
the corresponding artifact, and can then be easily installed and shared.

Backported from master commit e8081ab1b6e560ada7a26240e97dfc65ec475423.

Change-Id: Ic2397c3e612588dd2aca8753f2231c30ea3d401e
Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com>
---
M backend/manager/dependencies/pom.xml
A 
backend/manager/dependencies/src/main/modules/org/ovirt/engine/core/dependencies/main/module.xml
M backend/manager/modules/restapi/webapp/pom.xml
M ear/pom.xml
M ear/src/main/resources/META-INF/MANIFEST.MF
M packaging/fedora/spec/ovirt-engine.spec.in
6 files changed, 367 insertions(+), 257 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/12772/1

diff --git a/backend/manager/dependencies/pom.xml 
b/backend/manager/dependencies/pom.xml
index d3a1448..ac9b1af 100644
--- a/backend/manager/dependencies/pom.xml
+++ b/backend/manager/dependencies/pom.xml
@@ -22,6 +22,132 @@
   <dependencies>
 
     <dependency>
+      <groupId>commons-httpclient</groupId>
+      <artifactId>commons-httpclient</artifactId>
+      <version>${httpclient.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-compress</artifactId>
+      <version>${commons-compress.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.mina</groupId>
+      <artifactId>mina-core</artifactId>
+      <version>${mina-core.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.sshd</groupId>
+      <artifactId>sshd-core</artifactId>
+      <version>${sshd-core.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.ws.commons.util</groupId>
+      <artifactId>ws-commons-util</artifactId>
+      <version>1.0.2</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.xmlrpc</groupId>
+      <artifactId>xmlrpc-client</artifactId>
+      <version>${xmlrpc-client.version}</version>
+    </dependency>
+
+   <dependency>
+      <groupId>org.apache.xmlrpc</groupId>
+      <artifactId>xmlrpc-common</artifactId>
+      <version>${xmlrpc-client.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.ovirt.otopi</groupId>
+      <artifactId>otopi</artifactId>
+      <version>${otopi.version}</version>
+   </dependency>
+
+    <dependency>
+      <groupId>org.ovirt.ovirt-host-deploy</groupId>
+      <artifactId>ovirt-host-deploy</artifactId>
+      <version>${ovirt-host-deploy.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.quartz-scheduler</groupId>
+      <artifactId>quartz</artifactId>
+      <version>${quartz.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>${slf4j-jdk14.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework.ldap</groupId>
+      <artifactId>spring-ldap-core</artifactId>
+      <version>${spring.ldap.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-aop</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-asm</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-beans</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-core</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-expression</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-instrument</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-jdbc</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-tx</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+
+    <dependency>
       <groupId>postgresql</groupId>
       <artifactId>postgresql</artifactId>
       <version>${postgres.jdbc.version}</version>
@@ -33,17 +159,144 @@
 
     <plugins>
 
-        <!-- Create the JBoss modules: -->
         <plugin>
           <groupId>org.ovirt.engine</groupId>
           <artifactId>jboss-modules-maven-plugin</artifactId>
           <configuration>
             <modules>
+
+              <module>
+                <groupId>commons-httpclient</groupId>
+                <artifactId>commons-httpclient</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-compress</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.apache.mina</groupId>
+                <artifactId>mina-core</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.apache.sshd</groupId>
+                <artifactId>sshd-core</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.apache.ws.commons.util</groupId>
+                <artifactId>ws-commons-util</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.apache.xmlrpc</groupId>
+                <artifactId>xmlrpc-client</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.apache.xmlrpc</groupId>
+                <artifactId>xmlrpc-common</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.ovirt.otopi</groupId>
+                <artifactId>otopi</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.ovirt.ovirt-host-deploy</groupId>
+                <artifactId>ovirt-host-deploy</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.quartz-scheduler</groupId>
+                <artifactId>quartz</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework.ldap</groupId>
+                <artifactId>spring-ldap-core</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-aop</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-asm</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-beans</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-context</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-core</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-expression</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-instrument</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-jdbc</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
+              <module>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-tx</artifactId>
+                <moduleName>org.ovirt.engine.core.dependencies</moduleName>
+              </module>
+
               <module>
                 <groupId>postgresql</groupId>
                 <artifactId>postgresql</artifactId>
                 <moduleName>org.postgresql</moduleName>
               </module>
+
             </modules>
           </configuration>
         </plugin>
diff --git 
a/backend/manager/dependencies/src/main/modules/org/ovirt/engine/core/dependencies/main/module.xml
 
b/backend/manager/dependencies/src/main/modules/org/ovirt/engine/core/dependencies/main/module.xml
new file mode 100644
index 0000000..fef9c55
--- /dev/null
+++ 
b/backend/manager/dependencies/src/main/modules/org/ovirt/engine/core/dependencies/main/module.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- This module contains all the dependencies that are used by serveral
+     engine components and that are not available as builtin modules in
+     JBoss 7: -->
+
+<module xmlns="urn:jboss:module:1.0" name="org.ovirt.engine.core.dependencies">
+   <resources>
+     <resource-root path="commons-compress.jar"/>
+     <resource-root path="commons-httpclient.jar"/>
+     <resource-root path="mina-core.jar"/>
+     <resource-root path="otopi.jar"/>
+     <resource-root path="ovirt-host-deploy.jar"/>
+     <resource-root path="quartz.jar"/>
+     <resource-root path="slf4j-api.jar"/>
+     <resource-root path="spring-aop.jar"/>
+     <resource-root path="spring-asm.jar"/>
+     <resource-root path="spring-beans.jar"/>
+     <resource-root path="spring-context.jar"/>
+     <resource-root path="spring-core.jar"/>
+     <resource-root path="spring-expression.jar"/>
+     <resource-root path="spring-instrument.jar"/>
+     <resource-root path="spring-jdbc.jar"/>
+     <resource-root path="spring-ldap-core.jar"/>
+     <resource-root path="spring-tx.jar"/>
+     <resource-root path="sshd-core.jar"/>
+     <resource-root path="ws-commons-util.jar"/>
+     <resource-root path="xmlrpc-client.jar"/>
+     <resource-root path="xmlrpc-common.jar"/>
+   </resources>
+
+   <dependencies>
+      <module name="javax.api"/>
+      <module name="javax.transaction.api"/>
+      <module name="org.apache.commons.codec"/>
+      <module name="org.apache.commons.lang"/>
+      <module name="org.apache.commons.logging"/>
+      <module name="org.slf4j.impl"/>
+      <module name="sun.jdk"/>
+   </dependencies>
+
+</module>
diff --git a/backend/manager/modules/restapi/webapp/pom.xml 
b/backend/manager/modules/restapi/webapp/pom.xml
index 8b3700d..0416305 100644
--- a/backend/manager/modules/restapi/webapp/pom.xml
+++ b/backend/manager/modules/restapi/webapp/pom.xml
@@ -33,16 +33,17 @@
       <plugin>
         <artifactId>maven-war-plugin</artifactId>
         <configuration>
-          <ejbVersion>2.1.1</ejbVersion>
-          <generateClient>true</generateClient>
-          <archive>
-            <manifest>
-              <addClasspath>false</addClasspath>
-            </manifest>
-            <manifestEntries>
-              <Dependencies>org.apache.log4j, 
org.jboss.resteasy.resteasy-jaxb-provider, org.jboss.resteasy.resteasy-jaxrs, 
org.jboss.resteasy.resteasy-jackson-provider, 
org.codehaus.jackson.jackson-mapper-asl, 
deployment.engine.ear.engine-bll.jar</Dependencies>
-            </manifestEntries>
-          </archive>
+
+          <!-- Don't include any of the external dependencies, as they are
+               already included as references in the manifest (note that the
+               web.xml file is included regardless of this configuration): -->
+          <packagingIncludes>
+            WEB-INF/lib/interface-common-jaxrs-*.jar,
+            WEB-INF/lib/restapi-definition-*.jar,
+            WEB-INF/lib/restapi-jaxrs-*.jar,
+            WEB-INF/lib/restapi-types-*.jar,
+          </packagingIncludes>
+
         </configuration>
       </plugin>
     </plugins>
diff --git a/ear/pom.xml b/ear/pom.xml
index 54abc9d..4fbf814 100644
--- a/ear/pom.xml
+++ b/ear/pom.xml
@@ -56,6 +56,13 @@
       <type>jar</type>
     </dependency>
 
+    <dependency>
+      <groupId>org.ovirt.engine.core</groupId>
+      <artifactId>searchbackend</artifactId>
+      <version>${engine.version}</version>
+      <type>jar</type>
+    </dependency>
+
     <!-- WARS -->
     <dependency>
       <groupId>org.ovirt.engine.core</groupId>
@@ -157,8 +164,10 @@
           <!-- params common to ear:ear and ear:generate-application-xml -->
           <defaultLibBundleDir>lib</defaultLibBundleDir>
           <workDirectory>${earDirectory}</workDirectory>
-          <version>1.4</version>
+          <fileNameMapping>no-version</fileNameMapping>
+
           <!-- J2EE version -->
+          <version>1.4</version>
 
           <!-- params for ear:ear -->
           <resourcesDir>${basedir}/target/classes</resourcesDir>
@@ -168,37 +177,6 @@
           <displayName>ENGINE</displayName>
 
           <modules>
-            <!-- ** JARs -->
-            <jarModule>
-              <groupId>org.ovirt.engine.core</groupId>
-              <artifactId>common</artifactId>
-              <bundleFileName>engine-common.jar</bundleFileName>
-            </jarModule>
-
-            <jarModule>
-              <groupId>org.ovirt.engine.core</groupId>
-              <artifactId>compat</artifactId>
-              <bundleFileName>engine-compat.jar</bundleFileName>
-            </jarModule>
-
-            <jarModule>
-              <groupId>org.ovirt.engine.core</groupId>
-              <artifactId>dal</artifactId>
-              <bundleFileName>engine-dal.jar</bundleFileName>
-            </jarModule>
-
-            <jarModule>
-              <groupId>org.ovirt.engine.core</groupId>
-              <artifactId>utils</artifactId>
-              <bundleFileName>engine-utils.jar</bundleFileName>
-            </jarModule>
-
-            <jarModule>
-              <groupId>org.ovirt.engine.core</groupId>
-              <artifactId>vdsbroker</artifactId>
-              <bundleFileName>engine-vdsbroker.jar</bundleFileName>
-            </jarModule>
-
             <!-- ** WARs -->
             <webModule>
               <groupId>org.ovirt.engine.core</groupId>
@@ -266,34 +244,26 @@
             
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
           </archive>
 
+          <!-- Add the META-INF directory, all the EJB and web
+               applications, and our own dependencies from the
+               lib directory, but none of the external dependencies,
+               as they are already included as references in the
+               manifest: -->
+          <packagingIncludes>
+            *.jar/**,
+            *.war/**,
+            META-INF/**,
+            lib/common.jar/**,
+            lib/compat.jar/**,
+            lib/dal.jar/**,
+            lib/searchbackend.jar/**,
+            lib/utils.jar/**,
+            lib/vdsbroker.jar/**,
+          </packagingIncludes>
+
         </configuration>
       </plugin>
 
-      <plugin>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>copy-quartz-jar</id>
-            <phase>package</phase>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-            <configuration>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>org.quartz-scheduler</groupId>
-                  <artifactId>quartz</artifactId>
-                  <version>${quartz.version}</version>
-                  <type>jar</type>
-                  <overWrite>true</overWrite>
-                  <destFileName>quartz-${quartz.version}.jar</destFileName>
-                  
<outputDirectory>${project.build.directory}/quartz</outputDirectory>
-                </artifactItem>
-              </artifactItems>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
 
@@ -321,34 +291,13 @@
                 <configuration>
                   <tasks>
                     <property name="deployment.dir" 
location="${engine.deploymentDir}"/>
-                    <echo>*** Copying updated files from 
target${file.separator}${project.build.finalName}${file.separator} to 
${deployment.dir}${file.separator}...</echo>
-                    <copy todir="${deployment.dir}" verbose="true">
-                      <fileset 
dir="${basedir}/target/${project.build.finalName}"/>
-                    </copy>
+                    <echo>*** Copying updated files to 
${deployment.dir}${file.separator}...</echo>
+                    <unjar 
src="${project.build.directory}/${project.build.finalName}.ear" 
dest="${engine.deploymentDir}"/>
                     <property name="deployment.descriptor.file" 
location="${deployment.dir}/META-INF/application.xml"/>
                     <echo>*** Touching ${deployment.descriptor.file} to force 
redeployment of ${engine.deploymentName}...</echo>
                     <touch file="${deployment.descriptor.file}"/>
                     <echo>*** Touching ${engine.deploymentName}.dodeploy to 
force deployment of ${engine.deploymentName}...</echo>
                     <touch 
file="${jbossServer}/deployments/${engine.deploymentName}.dodeploy"/>
-                  </tasks>
-                </configuration>
-
-                <goals>
-                  <goal>run</goal>
-                </goals>
-              </execution>
-
-              <execution>
-                <id>deploy-ear-meta-inf</id>
-                <phase>package</phase>
-
-                <configuration>
-                  <tasks>
-                    <unjar 
src="${project.build.directory}/${project.build.finalName}.ear" 
dest="${engine.deploymentDir}">
-                      <patternset>
-                        <include name="META-INF/**"/>
-                      </patternset>
-                    </unjar>
                   </tasks>
                 </configuration>
 
diff --git a/ear/src/main/resources/META-INF/MANIFEST.MF 
b/ear/src/main/resources/META-INF/MANIFEST.MF
index c118c30..22e6d74 100644
--- a/ear/src/main/resources/META-INF/MANIFEST.MF
+++ b/ear/src/main/resources/META-INF/MANIFEST.MF
@@ -1,5 +1,13 @@
 Manifest-Version: 1.0
-Dependencies: org.apache.log4j,
+Dependencies: asm.asm,
+ javax.validation.api,
+ org.apache.commons.beanutils,
+ org.apache.commons.codec,
+ org.apache.commons.collections,
+ org.apache.commons.lang,
+ org.apache.log4j,
  org.codehaus.jackson.jackson-core-asl,
- org.codehaus.jackson.jackson-mapper-asl
-
+ org.codehaus.jackson.jackson-mapper-asl,
+ org.dom4j,
+ org.hibernate.validator,
+ org.ovirt.engine.core.dependencies
diff --git a/packaging/fedora/spec/ovirt-engine.spec.in 
b/packaging/fedora/spec/ovirt-engine.spec.in
index ee4eefc..374b62f 100644
--- a/packaging/fedora/spec/ovirt-engine.spec.in
+++ b/packaging/fedora/spec/ovirt-engine.spec.in
@@ -99,68 +99,26 @@
 BuildArch: noarch
 
 # Build time requirements:
-BuildRequires: apache-commons-beanutils
-BuildRequires: apache-commons-codec
-BuildRequires: apache-commons-collections
-BuildRequires: apache-commons-configuration
-BuildRequires: apache-commons-jxpath
-BuildRequires: apache-commons-lang
-BuildRequires: apache-commons-logging
-BuildRequires: apache-commons-compress
-BuildRequires: apache-mina
-BuildRequires: apache-sshd
-BuildRequires: bea-stax-api
 BuildRequires: dos2unix
-BuildRequires: jackson
-BuildRequires: hibernate-commons-annotations
-BuildRequires: hibernate-jpa-2.0-api
-BuildRequires: hibernate-validator
-BuildRequires: jakarta-commons-httpclient
 BuildRequires: java-devel
-BuildRequires: javamail
-BuildRequires: javassist
-BuildRequires: jboss-annotations-1.1-api
-BuildRequires: jboss-ejb-3.1-api
-BuildRequires: jboss-logging
-BuildRequires: jboss-interceptors-1.1-api
-BuildRequires: jboss-servlet-3.0-api
 BuildRequires: jpackage-utils
-BuildRequires: jsch
-BuildRequires: log4j
 BuildRequires: make
 BuildRequires: maven
-BuildRequires: postgresql-jdbc
-BuildRequires: quartz
-BuildRequires: resteasy
-BuildRequires: springframework-instrument
-BuildRequires: springframework-jdbc
-BuildRequires: spring-ldap
-BuildRequires: xmlrpc3-client
 BuildRequires: unzip
-BuildRequires: ovirt-host-deploy-java
 
 # Run time requirements (most of these requirements should be
 # moved to the subpackages):
-Requires: bea-stax-api
 Requires: bind-utils
 Requires: cracklib-python
-Requires: geronimo-validation
-Requires: hibernate-commons-annotations
-Requires: hibernate-jpa-2.0-api
-Requires: hibernate-validator
 Requires: httpd
 Requires: java-1.7.0-openjdk >= 1:1.7.0.9-2.3.3.2
-Requires: jakarta-commons-httpclient
 Requires: java
-Requires: jboss-interceptors-1.1-api
-Requires: jboss-logging
 Requires: jpackage-utils
 Requires: log4j
 Requires: mod_ssl
 Requires: ntp
 Requires: openssl
 Requires: policycoreutils-python
-Requires: postgresql-jdbc
 Requires: python-configobj
 Requires: python-cheetah
 Requires: ovirt-host-deploy-java
@@ -208,39 +166,9 @@
 Summary: Engine core of %{product_name_short}
 Group: Virtualization/Management
 Requires: %{name} = %{version}-%{release}
-Requires: apache-commons-beanutils
-Requires: apache-commons-codec
-Requires: apache-commons-collections
-Requires: apache-commons-lang
-Requires: apache-commons-compress
-Requires: apache-mina
-Requires: apache-sshd
-Requires: bea-stax-api
-Requires: dom4j
-Requires: geronimo-validation
-Requires: jackson
-Requires: jakarta-commons-httpclient
 Requires: java
-Requires: javassist
-Requires: jboss-interceptors-1.1-api
-Requires: jsch
-Requires: objectweb-asm
 Requires: openssh
 Requires: openssl
-Requires: picketbox
-Requires: quartz
-Requires: slf4j
-Requires: springframework
-Requires: springframework-aop
-Requires: springframework-beans
-Requires: springframework-context
-Requires: springframework-instrument
-Requires: springframework-jdbc
-Requires: springframework-tx
-Requires: spring-ldap
-Requires: ws-commons-util
-Requires: xmlrpc3-client
-Requires: xmlrpc3-common
 
 
 %description backend
@@ -309,14 +237,6 @@
 Summary: Common libraries for  %{product_name_short} Tools
 Group: Virtualization/Management
 Requires: %{name} = %{version}-%{release}
-Requires: apache-commons-collections
-Requires: apache-commons-logging
-Requires: apache-commons-lang
-Requires: apache-commons-codec
-Requires: apache-commons-configuration
-Requires: apache-commons-jxpath
-Requires: classpathx-mail
-Requires: log4j
 
 %description tools
 The common libraries used by %{product_name_short} Tools
@@ -392,95 +312,32 @@
 done
 %endif
 
-# Remove the jar files that are not needed:
-while read lib_path
+# Replace jar files in the ear with links to their actual locations:
+while read ear_path jar_name
 do
-  rm -rf %{buildroot}%{engine_ear}/lib/${lib_path}*.jar
+  rm -rf %{buildroot}%{engine_ear}/${ear_path}*.jar
+  ln -s %{engine_java}/${jar_name}.jar 
%{buildroot}%{engine_ear}/${ear_path}.jar
 done <<'.'
-activation
-antlr
-aopalliance
-c3p0
-ejb3-persistence
-jaxb-api
-jaxb-impl
-jboss-interceptors-api_1.1_spec
-stax-api
-xml-apis
+engine-bll bll
+engine-scheduler scheduler
+lib/common common
+lib/dal dal
+lib/utils utils
+lib/vdsbroker vdsbroker
+lib/searchbackend searchbackend
 .
 
-# Attention!
-# spring-asm *IS* required on rhel-6
-rm -rf %{buildroot}%{engine_ear}/lib/spring-asm*.jar
-
-# Then for the system jar files (using build-classpath):
-while read jar_name lib_path
+# Replace jar files in the RESTAPI web application with links to their
+# actual locations:
+while read jar_name
 do
-  rm -rf %{buildroot}%{engine_ear}/lib/${lib_path}*.jar
-  ln -s `build-classpath ${jar_name}` 
%{buildroot}%{engine_ear}/lib/${lib_path}.jar
+  rm -rf %{buildroot}%{restapi_war}/WEB-INF/lib/${jar_name}*.jar
+  ln -s %{engine_java}/${jar_name}.jar 
%{buildroot}%{restapi_war}/WEB-INF/lib/${jar_name}.jar
 done <<'.'
-apache-mina/mina-core mina-core
-apache-sshd/sshd-core sshd-core
-commons-beanutils commons-beanutils
-commons-codec commons-codec
-commons-collections commons-collections
-commons-httpclient commons-httpclient
-commons-lang commons-lang
-commons-compress commons-compress
-dom4j dom4j
-geronimo-validation validation-api
-hibernate/hibernate-commons-annotations hibernate-commons-annotations
-hibernate-validator hibernate-validator
-jsch jsch
-objectweb-asm/asm-all asm-all
-quartz quartz
-slf4j/api slf4j-api
-springframework/spring-aop spring-aop
-springframework/spring-beans spring-beans
-springframework/spring-context spring-context
-springframework/spring-core spring-core
-springframework/spring-expression spring-expression
-springframework/spring-instrument spring-instrument
-springframework/spring-jdbc spring-jdbc
-springframework/spring-tx spring-tx
-spring-ldap/spring-ldap-core spring-ldap-core
-ws-commons-util ws-commons-util
-xmlrpc3-client xmlrpc-client
-xmlrpc3-common xmlrpc-common
-otopi/otopi otopi
-ovirt-host-deploy/ovirt-host-deploy ovirt-host-deploy
-.
-
-# Replace jar files in the RESTAPI web application with links to ther
-# actual locations, first for jar files from this package, as for these
-# can't use build-classpath:
-while read jar_name lib_path
-do
-  rm -rf %{buildroot}%{restapi_war}/WEB-INF/lib/${lib_path}*.jar
-  ln -s %{engine_java}/${jar_name}.jar 
%{buildroot}%{restapi_war}/WEB-INF/lib/${lib_path}.jar
-done <<'.'
-interface-common-jaxrs interface-common-jaxrs
-restapi-definition restapi-definition
-restapi-jaxrs restapi-jaxrs
-restapi-types restapi-types
-.
-
-# Remove the jar files that are not needed:
-while read lib_path
-do
-  rm -rf %{buildroot}%{restapi_war}/WEB-INF/lib/${lib_path}*.jar
-done <<'.'
-commons-codec
-log4j
-.
-
-# Then for the system jar files (using build-classpath):
-while read jar_name lib_path
-do
-  rm -rf %{buildroot}%{restapi_war}/WEB-INF/lib/${lib_path}*.jar
-  ln -s `build-classpath ${jar_name}` 
%{buildroot}%{restapi_war}/WEB-INF/lib/${lib_path}.jar
-done <<'.'
-snakeyaml snakeyaml
+interface-common-jaxrs
+restapi-definition
+restapi-jaxrs
+restapi-types
 .
 
 # Install the systemd files:


--
To view, visit http://gerrit.ovirt.org/12772
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic2397c3e612588dd2aca8753f2231c30ea3d401e
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to