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]