<!-- 
/*
 * Copyright 2001-2008 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 -->
<project name="juddi-tomcat" default="package-tomcat" basedir=".">
	<property file="package.properties"/>
	<property name="lib.dir" value="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/lib"/>
	<property name="webapps.dir" value="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/webapps"/>
	<property name="conf.dir" value="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/conf"/>
	<property name="endorsed.dir" value="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/endorsed"/>

	<target name="unzip-tomcat">
		<mkdir dir="${basedir}/target/tomcat"/>
		<unzip dest="${basedir}/target/tomcat" src="${dependency.tomcat.zip}"/>
		<unzip dest="${webapps.dir}/juddiv3" src="${dependency.juddiv3.war}"/>
		<unzip dest="${webapps.dir}/juddi-gui" src="${dependency.juddi-gui.war}"/>
		<unzip dest="${webapps.dir}/juddiv3replication" src="${dependency.juddiv3replication.war}"/>
	</target>
	
	<target name="copy-resources" depends="unzip-tomcat">

		<!-- JUDDI-894 -->
		<move file="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/webapps/ROOT/index.jsp" tofile="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/webapps/ROOT/index-tomcat.jsp" overwrite="true"/>
		<copy file="${basedir}/index.html" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/webapps/ROOT" overwrite="true"/>

		<copy file="${basedir}/catalina.sh" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/catalina.bat" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/" overwrite="true"/>
		
		<copy file="${basedir}/juddi-cryptor.bat" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-md5.bat" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-cryptor.sh" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-md5.sh" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		
        <copy file="${basedir}/tomcat-users.xml" todir="${conf.dir}" overwrite="true"/>
		<!-- this disables TLDs scanning for faster start up-->
		<copy file="${basedir}/serverContext.xml" tofile="${conf.dir}/context.xml" overwrite="true"/>
		<copy file="${basedir}/context.xml" todir="${webapps.dir}/juddiv3/META-INF" overwrite="true"/>
		<copy file="${basedir}/context.xml" todir="${webapps.dir}/juddiv3replication/META-INF" overwrite="true"/>
		<copy file="${basedir}/server.xml" todir="${conf.dir}" overwrite="true"/>
		<copy file="${basedir}/keystore.jks" todir="${conf.dir}" overwrite="true"/>
		
 		<copy file="${dependency.mysql.jar}" todir="${lib.dir}"/>
		<copy file="${dependency.postgres.jar}" todir="${lib.dir}"/>
		<copy file="${dependency.log4j.jar}" todir="${lib.dir}"/>
		<copy file="${dependency.derby.jar}" todir="${lib.dir}"/>
		<copy file="${dependency.commons-discovery.jar}" todir="${lib.dir}"/>
		<copy file="${dependency.jaxws.jar}" todir="${endorsed.dir}"/>
	</target>
	
	<target name="package-tomcat" depends="copy-resources">
		<chmod perm="ugo+x">
			<fileset dir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin">
				<include name="*.sh"/>
			</fileset>
		</chmod>
	</target>
	
	
	<!-- node 2 -->
	<property name="lib2.dir" value="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/lib"/>
	<property name="webapps2.dir" value="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/webapps"/>
	<property name="conf2.dir" value="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/conf"/>
	<property name="endorsed2.dir" value="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/endorsed"/>

	<target name="unzip-tomcat2">
		<mkdir dir="${basedir}/target/tomcat2"/>
		<unzip dest="${basedir}/target/tomcat2" src="${dependency.tomcat.zip}"/>
		<unzip dest="${webapps2.dir}/juddiv3" src="${dependency.juddiv3.war}"/>
		<unzip dest="${webapps2.dir}/juddi-gui" src="${dependency.juddi-gui.war}"/>
		<unzip dest="${webapps2.dir}/juddiv3replication" src="${dependency.juddiv3replication.war}"/>
	</target>
	
	<target name="copy-resources2" depends="unzip-tomcat2">
		<!-- JUDDI-894 -->
		<move file="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/webapps/ROOT/index.jsp" tofile="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/webapps/ROOT/index-tomcat.html" overwrite="true"/>
		<copy file="${basedir}/index.html" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/webapps/ROOT" overwrite="true"/>

		<copy file="${basedir}/catalina.sh" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/catalina.bat" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>

		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/" overwrite="true"/>
		
		<copy file="${basedir}/juddi-cryptor.bat" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-md5.bat" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-cryptor.sh" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-md5.sh" todir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		
		
		<copy file="${basedir}/juddiv3Node2.xml" tofile="${webapps2.dir}/juddiv3/WEB-INF/classes/juddiv3.xml" overwrite="true"/>
		<copy file="${basedir}/juddiv3Node2.xml" tofile="${webapps2.dir}/juddiv3replication/WEB-INF/classes/juddiv3.xml" overwrite="true"/>

		<copy file="${basedir}/juddi_install_data_node2/root_BusinessEntity.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node2/root_Publisher.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node2/root_tModelKeyGen.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node2/UDDI_Publisher.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node2/UDDI_tModels.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>

		
		<copy file="${basedir}/uddiNode2.xml" tofile="${webapps2.dir}/juddi-gui/WEB-INF/classes/META-INF/uddi.xml" overwrite="true"/>
		<copy file="${basedir}/serverNode2.xml" tofile="${conf2.dir}/server.xml" overwrite="true"/>
		
		
		
        <copy file="${basedir}/tomcat-users.xml" todir="${conf2.dir}" overwrite="true"/>
		<copy file="${basedir}/context.xml" todir="${webapps2.dir}/juddiv3/META-INF" overwrite="true"/>
		<copy file="${basedir}/context.xml" todir="${webapps2.dir}/juddiv3replication/META-INF" overwrite="true"/>
		<copy file="${basedir}/keystore.jks" todir="${conf2.dir}" overwrite="true"/>
		
 		<copy file="${dependency.mysql.jar}" todir="${lib2.dir}"/>
		<copy file="${dependency.postgres.jar}" todir="${lib2.dir}"/>
		<copy file="${dependency.log4j.jar}" todir="${lib2.dir}"/>
		<copy file="${dependency.derby.jar}" todir="${lib2.dir}"/>
		<copy file="${dependency.commons-discovery.jar}" todir="${lib2.dir}"/>
		<copy file="${dependency.jaxws.jar}" todir="${endorsed2.dir}"/>
	</target>
	
	<target name="package-tomcat2" depends="copy-resources2">
		<chmod perm="ugo+x">
			<fileset dir="${basedir}/target/tomcat2/apache-tomcat-${apache.tomcat.version}/bin">
				<include name="*.sh"/>
			</fileset>
		</chmod>
	</target>
        
        
        <!-- node 3 -->
        
        <property name="lib3.dir" value="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/lib"/>
	<property name="webapps3.dir" value="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/webapps"/>
	<property name="conf3.dir" value="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/conf"/>
	<property name="endorsed3.dir" value="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/endorsed"/>

	<target name="unzip-tomcat3">
		<mkdir dir="${basedir}/target/tomcat3"/>
		<unzip dest="${basedir}/target/tomcat3" src="${dependency.tomcat.zip}"/>
		<unzip dest="${webapps3.dir}/juddiv3" src="${dependency.juddiv3.war}"/>
		<unzip dest="${webapps3.dir}/juddi-gui" src="${dependency.juddi-gui.war}"/>
		<unzip dest="${webapps3.dir}/juddiv3replication" src="${dependency.juddiv3replication.war}"/>
	</target>
	
	<target name="copy-resources3" depends="unzip-tomcat3">
		<!-- JUDDI-894 -->
		<move file="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/webapps/ROOT/index.jsp" tofile="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/webapps/ROOT/index-tomcat.html" overwrite="true"/>
		<copy file="${basedir}/index.html" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/webapps/ROOT" overwrite="true"/>

		<copy file="${basedir}/catalina.sh" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/catalina.bat" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>

		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/" overwrite="true"/>
		
		<copy file="${basedir}/juddi-cryptor.bat" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-md5.bat" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-cryptor.sh" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		<copy file="${basedir}/juddi-md5.sh" todir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
		
		
		<copy file="${basedir}/juddiv3Node3.xml" tofile="${webapps3.dir}/juddiv3/WEB-INF/classes/juddiv3.xml" overwrite="true"/>
		<copy file="${basedir}/juddiv3Node3.xml" tofile="${webapps3.dir}/juddiv3replication/WEB-INF/classes/juddiv3.xml" overwrite="true"/>

		<copy file="${basedir}/juddi_install_data_node3/root_BusinessEntity.xml" todir="${webapps3.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node3/root_Publisher.xml" todir="${webapps3.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node3/root_tModelKeyGen.xml" todir="${webapps3.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node3/UDDI_Publisher.xml" todir="${webapps3.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
		<copy file="${basedir}/juddi_install_data_node3/UDDI_tModels.xml" todir="${webapps3.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>

		
		<copy file="${basedir}/uddiNode3.xml" tofile="${webapps3.dir}/juddi-gui/WEB-INF/classes/META-INF/uddi.xml" overwrite="true"/>
		<copy file="${basedir}/serverNode3.xml" tofile="${conf3.dir}/server.xml" overwrite="true"/>
		
		
		
        <copy file="${basedir}/tomcat-users.xml" todir="${conf3.dir}" overwrite="true"/>
		<copy file="${basedir}/context.xml" todir="${webapps3.dir}/juddiv3/META-INF" overwrite="true"/>
		<copy file="${basedir}/context.xml" todir="${webapps3.dir}/juddiv3replication/META-INF" overwrite="true"/>
		<copy file="${basedir}/keystore.jks" todir="${conf3.dir}" overwrite="true"/>
		
 		<copy file="${dependency.mysql.jar}" todir="${lib3.dir}"/>
		<copy file="${dependency.postgres.jar}" todir="${lib3.dir}"/>
		<copy file="${dependency.log4j.jar}" todir="${lib3.dir}"/>
		<copy file="${dependency.derby.jar}" todir="${lib3.dir}"/>
		<copy file="${dependency.commons-discovery.jar}" todir="${lib3.dir}"/>
		<copy file="${dependency.jaxws.jar}" todir="${endorsed3.dir}"/>
	</target>
	
	<target name="package-tomcat3" depends="copy-resources3">
		<chmod perm="ugo+x">
			<fileset dir="${basedir}/target/tomcat3/apache-tomcat-${apache.tomcat.version}/bin">
				<include name="*.sh"/>
			</fileset>
		</chmod>
	</target>




	<target name="twonode" depends="package-tomcat,package-tomcat2"/>
        
        
        <target name="threenode" depends="package-tomcat,package-tomcat2,package-tomcat3"/>

</project>
