Author: berndf
Date: Sat Sep 22 08:59:04 2007
New Revision: 578458

URL: http://svn.apache.org/viewvc?rev=578458&view=rev
Log:
change the whole project setup to build into and use the "target" directory

Modified:
    james/server/sandbox/spring-integration/spring-deployment/HOW-TO.txt
    james/server/sandbox/spring-integration/spring-deployment/build.xml
    
james/server/sandbox/spring-integration/spring-deployment/src/main/config/beans-base-config.xml
    
james/server/sandbox/spring-integration/spring-deployment/src/main/config/james-config.xml
    
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/AvalonConfigurationFileProvider.java
    
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/FileSystemBridge.java
    
james/server/sandbox/spring-integration/spring-deployment/src/main/test/org/apache/james/container/spring/beanfactory/testing-service-beans-base-config.xml

Modified: james/server/sandbox/spring-integration/spring-deployment/HOW-TO.txt
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/HOW-TO.txt?rev=578458&r1=578457&r2=578458&view=diff
==============================================================================
--- james/server/sandbox/spring-integration/spring-deployment/HOW-TO.txt 
(original)
+++ james/server/sandbox/spring-integration/spring-deployment/HOW-TO.txt Sat 
Sep 22 08:59:04 2007
@@ -51,7 +51,3 @@
   trunk/phoenix-deployment/src/conf
 to 
   spring-deployment/src/main/config/
-and change all four entity definitions at the top of file
-  james-config.xml
-from "../conf/" to "./"
-  
\ No newline at end of file

Modified: james/server/sandbox/spring-integration/spring-deployment/build.xml
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/build.xml?rev=578458&r1=578457&r2=578458&view=diff
==============================================================================
--- james/server/sandbox/spring-integration/spring-deployment/build.xml 
(original)
+++ james/server/sandbox/spring-integration/spring-deployment/build.xml Sat Sep 
22 08:59:04 2007
@@ -26,7 +26,9 @@
     <property name="spring-deployment.target.dir" value="${basedir}/target" />
     <property name="spring-deployment.target.bin.dir" 
value="${spring-deployment.target.dir}/bin" />
     <property name="spring-deployment.target.lib.dir" 
value="${spring-deployment.target.dir}/lib" />
+    <property name="spring-deployment.target.config.dir" 
value="${spring-deployment.target.dir}/conf" />
     <property name="spring-deployment.target.jar" 
value="${spring-deployment.target.lib.dir}/${name}-spring-deployment-${version}.jar"
 />
+    <property name="spring-deployment.target.var.dir" 
value="${spring-deployment.target.dir}/bin/var"/>
     
     <!-- Compiler options -->
 
@@ -156,9 +158,9 @@
             <include name="commons-attributes-compiler.jar"/>
             <include name="commons-beanutils.jar"/>
             <include name="commons-codec.jar"/>
-            <include name="${basedir}/lib/commons-digester.jar"/>
+<!--            <include name="${basedir}/lib/commons-digester.jar"/>
             <include name="${basedir}/lib/commons-lang.jar"/>
-            <include name="${basedir}/lib/commons-logging.jar"/>
+            <include name="${basedir}/lib/commons-logging.jar"/>-->
             <include name="commons-discovery.jar"/>
             <include name="commons-fileupload.jar"/>
             <include name="commons-httpclient.jar"/>
@@ -206,6 +208,7 @@
 
     <target name="clean">
         <delete dir="${output.dir}"/>
+        <delete dir="${spring-deployment.target.dir}"/>
     </target>
 
     <target name="init" description="Build initialization">
@@ -241,12 +244,20 @@
         </copy>
     </target>
 
-    <target name="package" depends="package-prepare, package-aquire-libs, 
package-jar, generate-run-executable" />
-        
+    <target name="package" depends="package-prepare, package-aquire-libs, 
package-aquire-config-files, package-jar, generate-run-executable" />
+
     <target name="package-prepare">
         <mkdir dir="${spring-deployment.target.dir}"/>
         <mkdir dir="${spring-deployment.target.lib.dir}"/>
         <mkdir dir="${spring-deployment.target.bin.dir}"/>
+        <mkdir dir="${spring-deployment.target.config.dir}"/>
+        
+        <mkdir dir="${spring-deployment.target.var.dir}"/>
+        <mkdir dir="${spring-deployment.target.var.dir}/nntp"/>
+        <mkdir dir="${spring-deployment.target.var.dir}/nntp/groups"/>
+        <mkdir dir="${spring-deployment.target.var.dir}/nntp/articleid"/>
+        <mkdir dir="${spring-deployment.target.var.dir}/nntp/temp"/>
+        <mkdir dir="${spring-deployment.target.var.dir}/nntp/spool"/>
     </target>
     
     <target name="package-jar">
@@ -260,28 +271,42 @@
             <fileset dir="${lib.dir}">
                 <include name="**/*.jar" />
             </fileset>
+            <fileset dir="${basedir}/lib">
+                <include name="**/*.jar" />
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="package-aquire-config-files" >
+        <copy todir="${spring-deployment.target.config.dir}" flatten="true">
+            <fileset dir="${basedir}/src/main/config">
+                <include name="*.xml" />
+                <include name="*.properties" />
+            </fileset>
         </copy>
     </target>
     
     <target name="run" depends="compile, copy-configuration, package">
         <java classname="org.apache.james.container.spring.Main"
               classpathref="runclasspath"
+              dir="${spring-deployment.target.bin.dir}"
               fork="true" />
     </target>
 
     <target name="generate-run-executable" >
-        <!-- 
-             WARNING: this target is currently producing specific output for
-             the system the build is run on.
-        -->
-        <property name="exe-classpath" refid="runclasspath" />
-        <property name="exe-stagedir" value="${lib.dir}" />
-        <echo>${exe-stagedir}</echo>
+        <path id="targetlibs">
+            <fileset dir="${spring-deployment.target.lib.dir}">
+                <include name="*.jar" />
+            </fileset>
+        </path>
+        <property name="exe-classpath" refid="targetlibs" />
+
         <mkdir dir="${spring-deployment.target.bin.dir}" />
         <echo file="${spring-deployment.target.bin.dir}/run.sh" 
append="false">#! /bin/sh
-java -cp ${exe-classpath} org.apache.james.container.spring.Main             
+java -cp ${exe-classpath}:../conf org.apache.james.container.spring.Main       
      
         </echo>
-        <replace file="${spring-deployment.target.bin.dir}/run.sh" 
token="${basedir}" value=".." />
+
+        <replace file="${spring-deployment.target.bin.dir}/run.sh" 
token="${spring-deployment.target.lib.dir}" value="../lib" />
         <!-- TODO change the classpath elements coming from stage folder, from 
absolute into relative -->
         <chmod file="${spring-deployment.target.bin.dir}/run.sh" perm="a+rx" />
     </target>

Modified: 
james/server/sandbox/spring-integration/spring-deployment/src/main/config/beans-base-config.xml
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/src/main/config/beans-base-config.xml?rev=578458&r1=578457&r2=578458&view=diff
==============================================================================
--- 
james/server/sandbox/spring-integration/spring-deployment/src/main/config/beans-base-config.xml
 (original)
+++ 
james/server/sandbox/spring-integration/spring-deployment/src/main/config/beans-base-config.xml
 Sat Sep 22 08:59:04 2007
@@ -79,7 +79,7 @@
 
 
     <bean id="configurationProvider" 
class="org.apache.james.container.spring.adaptor.AvalonConfigurationFileProvider"
 >
-        <property name="configurationPath" 
value="src/main/config/james-config.xml" />
+        <property name="configurationResource" 
value="classpath:james-config.xml" />
         <property name="configurationInterceptors">
             <list>
                 <ref bean="stringRemapperConfigurationInterceptor" />

Modified: 
james/server/sandbox/spring-integration/spring-deployment/src/main/config/james-config.xml
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/src/main/config/james-config.xml?rev=578458&r1=578457&r2=578458&view=diff
==============================================================================
--- 
james/server/sandbox/spring-integration/spring-deployment/src/main/config/james-config.xml
 (original)
+++ 
james/server/sandbox/spring-integration/spring-deployment/src/main/config/james-config.xml
 Sat Sep 22 08:59:04 2007
@@ -18,10 +18,10 @@
   under the License.                                           
  -->
 <!DOCTYPE config [
-<!ENTITY listserverConfig SYSTEM "./james-listmanager.xml">
-<!ENTITY listserverStores SYSTEM "./james-liststores.xml">
-<!ENTITY fetchmailConfig SYSTEM "./james-fetchmail.xml">
-<!ENTITY smtphandlerchainConfig SYSTEM "./james-smtphandlerchain.xml">
+<!ENTITY listserverConfig SYSTEM "../conf/james-listmanager.xml">
+<!ENTITY listserverStores SYSTEM "../conf/james-liststores.xml">
+<!ENTITY fetchmailConfig SYSTEM "../conf/james-fetchmail.xml">
+<!ENTITY smtphandlerchainConfig SYSTEM "../conf/james-smtphandlerchain.xml">
 ]>
 
 <!--  Configuration file for the ASF James server -->

Modified: 
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/AvalonConfigurationFileProvider.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/AvalonConfigurationFileProvider.java?rev=578458&r1=578457&r2=578458&view=diff
==============================================================================
--- 
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/AvalonConfigurationFileProvider.java
 (original)
+++ 
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/AvalonConfigurationFileProvider.java
 Sat Sep 22 08:59:04 2007
@@ -21,29 +21,43 @@
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.phoenix.tools.configuration.ConfigurationBuilder;
 import 
org.apache.james.container.spring.configuration.ConfigurationInterceptor;
+import org.springframework.core.io.Resource;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.context.ApplicationContext;
+import org.springframework.beans.BeansException;
 import org.xml.sax.InputSource;
 
-import java.util.List;
 import java.util.Iterator;
+import java.util.List;
+import java.io.InputStream;
+import java.io.IOException;
 
 /**
  * loads the well-known classic James configuration file
  *
   * TODO make this thing be based on Resource class and inject 
resource.getInputStream() into InputSource 
  */
-public class AvalonConfigurationFileProvider implements ConfigurationProvider {
+public class AvalonConfigurationFileProvider implements ConfigurationProvider, 
ApplicationContextAware {
 
     private String absoluteFilePath;
     private List configurationInterceptors;
-    private Iterator interceptorsIterator;
+    private ApplicationContext applicationContext;
+    private String configuration;
 
-    public void setConfigurationPath(String absoluteFilePath) {
-        this.absoluteFilePath = absoluteFilePath;
+    public void setConfigurationResource(String configuration) {
+        this.configuration = configuration;
     }
 
 
     public Configuration getConfiguration() {
-        InputSource inputSource = new InputSource(absoluteFilePath);
+        Resource resource = applicationContext.getResource(configuration);
+        InputStream inputStream;
+        try {
+            inputStream = 
applicationContext.getResource(configuration).getInputStream();
+        } catch (IOException e) {
+            throw new RuntimeException("could not locate configuration file " 
+ configuration, e);
+        }
+        InputSource inputSource = new InputSource(inputStream);
         Configuration configuration;
         try
         {
@@ -57,7 +71,7 @@
 
         // apply all interceptors
         if (configuration != null && configurationInterceptors != null) {
-            interceptorsIterator = configurationInterceptors.iterator();
+            Iterator interceptorsIterator = 
configurationInterceptors.iterator();
             while (interceptorsIterator.hasNext()) {
                 ConfigurationInterceptor configurationInterceptor = 
(ConfigurationInterceptor) interceptorsIterator.next();
                 configuration = 
configurationInterceptor.intercept(configuration);
@@ -69,5 +83,9 @@
 
     public void setConfigurationInterceptors(List configurationInterceptors) {
         this.configurationInterceptors = configurationInterceptors;
+    }
+
+    public void setApplicationContext(ApplicationContext applicationContext) 
throws BeansException {
+        this.applicationContext = applicationContext;
     }
 }

Modified: 
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/FileSystemBridge.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/FileSystemBridge.java?rev=578458&r1=578457&r2=578458&view=diff
==============================================================================
--- 
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/FileSystemBridge.java
 (original)
+++ 
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/adaptor/FileSystemBridge.java
 Sat Sep 22 08:59:04 2007
@@ -56,7 +56,7 @@
         if (fileURL.startsWith(FILE_PROTOCOL)) {
             File file = null;
             if (fileURL.startsWith(FILE_PROTOCOL_AND_CONF)) {
-                file = new File("./src/main/config/" + 
fileURL.substring(FILE_PROTOCOL_AND_CONF.length()));
+                file = new File("../conf/" + 
fileURL.substring(FILE_PROTOCOL_AND_CONF.length()));
             } else {
                 file = new File("./" + 
fileURL.substring(FILE_PROTOCOL.length()));
             }

Modified: 
james/server/sandbox/spring-integration/spring-deployment/src/main/test/org/apache/james/container/spring/beanfactory/testing-service-beans-base-config.xml
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/src/main/test/org/apache/james/container/spring/beanfactory/testing-service-beans-base-config.xml?rev=578458&r1=578457&r2=578458&view=diff
==============================================================================
--- 
james/server/sandbox/spring-integration/spring-deployment/src/main/test/org/apache/james/container/spring/beanfactory/testing-service-beans-base-config.xml
 (original)
+++ 
james/server/sandbox/spring-integration/spring-deployment/src/main/test/org/apache/james/container/spring/beanfactory/testing-service-beans-base-config.xml
 Sat Sep 22 08:59:04 2007
@@ -36,7 +36,7 @@
     </bean>
 
     <bean id="configurationProvider" 
class="org.apache.james.container.spring.adaptor.AvalonConfigurationFileProvider"
 >
-        <property name="configurationPath" 
value="src/main/config/james-config.xml" />
+        <property name="configurationResource" 
value="src/main/config/james-config.xml" />
     </bean>
 
     <bean id="avalonContext" 
class="org.apache.james.container.spring.adaptor.AvalonContext" >



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to