blob: 27332bca15d7c1d9133254c927f7e20002aea615 [file] [log] [blame]
<project basedir="." default="all">
<!--Set your elcipse home directory -->
<property environment="env" />
<property name="eclipse.home" value="${env.ECLIPSE_HOME}"></property>
<!-- properties file to load the versions of dependencies -->
<property file="../../etc/project.properties"/>
<property name="codegen.plugin.version" value="Axis2_Codegen_Wizard_1.2.0"></property>
<property name="service.plugin.version" value="Axis_Service_Archiver_1.0.0"></property>
<property name="codegen.plugin.zip.name" value="axis2-eclipse-codegen-wizard.zip"></property>
<property name="service.plugin.zip.name" value="axis2-eclipse-service-archiver-wizard.zip"></property>
<property name="src" value="./src"></property>
<property name="codegen.src.dir" value="./axis2-eclipse-codegen-plugin/src/main/java"></property>
<property name="service.src.dir" value="./axis2-eclipse-service-plugin/src/main/java"></property>
<property name="output" value="./eclipse_projects"></property>
<property name="output.target" value="${output}/target"></property>
<property name="service.output.dir" value="${output}/service-archiver"></property>
<property name="codegen.output.dir" value="${output}/code-gen"></property>
<property name="plugin.output.dir" value="${output}/plugin"></property>
<property name="codegen.plugin.output.dir" value="${plugin.output.dir}/${codegen.plugin.version}"></property>
<property name="service.plugin.output.dir" value="${plugin.output.dir}/${service.plugin.version}"></property>
<property name="source.dir.name" value="src"></property>
<property name="lib.dir.name" value="lib"></property>
<property name="bin.dir.name" value="bin"></property>
<property name="help.dir.name" value="help"></property>
<property name="icons.dir.name" value="icons"></property>
<property name="codegen.resource.dir" value="./conf/codegen"></property>
<property name="service.resource.dir" value="./conf/service"></property>
<property name="codegen.help.resource.file" value="../../xdocs/tools/1_1/eclipse/wsdl2java-plugin.html"></property>
<property name="service.help.resource.file" value="../../xdocs/tools/1_1/eclipse/servicearchiver-plugin.html"></property>
<property name="codegen.help.images.dir" value="../../xdocs/tools/1_1/eclipse/images"></property>
<property name="service.help.images.dir" value="../../xdocs/tools/1_1/eclipse/images"></property>
<property name="axis2.lib.dir" value="../../target/lib"></property>
<property name="readme.file.name" value="readme.txt"></property>
<!--Filter tockens for the copy command to filter the versions of external dependencies -->
<filter token="axis2_version" value="${axis2_version}" />
<filter token="activation.version" value="${activation.version}" />
<filter token="annogen.version" value="${annogen.version}" />
<filter token="ant.version" value="${ant.version}" />
<filter token="axiom.version" value="${axiom.version}" />
<filter token="commons.logging.version" value="${commons.logging.version}" />
<filter token="neethi.version" value="${neethi.version}" />
<filter token="stax.api.version" value="${stax.api.version}" />
<filter token="stax.impl.version" value="${stax.impl.version}" />
<filter token="xbean.version" value="${xbean.version}" />
<filter token="XmlSchema.version" value="${XmlSchema.version}" />
<filter token="log4j.version" value="${log4j.version}" />
<filter token="wsdl4j.version" value="${wsdl4j.version}" />
<filter token="woden.version" value="${woden.version}" />
<!--Codegen wizard libraries -->
<fileset id="codegen.libs" dir="${axis2.lib.dir}">
<include name="activation-${activation.version}.jar" />
<include name="annogen-${annogen.version}.jar" />
<include name="ant-${ant.version}.jar" />
<include name="axiom-api-${axiom.version}.jar" />
<include name="axiom-dom-${axiom.version}.jar" />
<include name="axiom-impl-${axiom.version}.jar" />
<include name="axis2-${axis2_version}.jar" />
<include name="commons-logging-${commons.logging.version}.jar" />
<include name="log4j-${log4j.version}.jar" />
<include name="neethi-${neethi.version}.jar" />
<include name="stax-api-${stax.api.version}.jar" />
<include name="wsdl4j-${wsdl4j.version}.jar" />
<include name="wstx-${stax.impl.version}.jar" />
<include name="xbean-${xbean.version}.jar" />
<include name="XmlSchema-${XmlSchema.version}.jar" />
<include name="woden-${woden.version}.jar" />
</fileset>
<!--Service wizard libraries -->
<fileset id="service.libs" dir="${axis2.lib.dir}">
<include name="ant-${ant.version}.jar" />
<include name="log4j-${log4j.version}.jar" />
<include name="commons-logging-${commons.logging.version}.jar" />
<include name="axis2-${axis2_version}.jar" />
</fileset>
<!-- Default target to generate all the services -->
<target name="all">
<antcall target="clean" />
<antcall target="generate-service-project"/>
<antcall target="generate-codegen-project"/>
<antcall target="generate-codegen-plugin"/>
<antcall target="generate-service-plugin"/>
</target>
<!-- init-->
<target name="init">
<mkdir dir="${output}"></mkdir>
<mkdir dir="${service.output.dir}"></mkdir>
<mkdir dir="${codegen.output.dir}"></mkdir>
</target>
<!-- Codegen Project -->
<!--generate the codegen project-->
<target name="generate-codegen-project" depends="init">
<!-- copy the source -->
<copy todir="${codegen.output.dir}/${source.dir.name}">
<fileset dir="${codegen.src.dir}" excludes="**/service/**/*.java"/>
</copy>
<!-- Copy the other stuff -->
<copy todir="${codegen.output.dir}" filtering="on" >
<fileset dir="${codegen.resource.dir}" excludes="**/*.gif"></fileset>
</copy>
<!-- Copy the icons dir -->
<copy todir="${codegen.output.dir}">
<fileset dir="${codegen.resource.dir}" includes="**/*.gif"></fileset>
</copy>
<!-- create bin directory -->
<mkdir dir="${codegen.output.dir}/${bin.dir.name}"></mkdir>
<!-- create the help directory -->
<mkdir dir="${codegen.output.dir}/${help.dir.name}"></mkdir>
<!-- copy the help directory -->
<copy todir="${codegen.output.dir}/${help.dir.name}">
<fileset file="${codegen.help.resource.file}"></fileset>
</copy>
<!-- copy the libraries to the plugin-->
<copy todir="${codegen.output.dir}/${lib.dir.name}">
<fileset refid="codegen.libs" />
</copy>
<available property="images.dir" file="${codegen.help.images.dir}" type="dir" value="${codegen.help.images.dir}"/>
<copy todir="${codegen.output.dir}/${help.dir.name}/images">
<fileset dir="${images.dir}"/>
</copy>
</target>
<!--Generate the codegen plugin -->
<target name="generate-codegen-plugin" depends="init,generate-codegen-project">
<mkdir dir="${codegen.plugin.output.dir}"></mkdir>
<!-- copy the plugin.xml and help_toc.xml -->
<copy todir="${codegen.plugin.output.dir}">
<fileset dir="${codegen.output.dir}" >
<include name="plugin.xml" />
<include name="help_toc.xml" />
<include name="build.properties" />
<include name="**/ServiceResources.properties" />
</fileset>
</copy>
<!-- copy the help directory-->
<copy todir="${codegen.plugin.output.dir}/help">
<fileset dir="${codegen.output.dir}/help" />
</copy>
<!-- copy the icons directory-->
<copy todir="${codegen.plugin.output.dir}/icons">
<fileset dir="${codegen.output.dir}/icons" />
</copy>
<!-- copy the libraries to the plugin-->
<copy todir="${codegen.plugin.output.dir}/${lib.dir.name}">
<fileset refid="codegen.libs" />
</copy>
<!-- copy the sources to the plugin-->
<copy todir="${codegen.plugin.output.dir}/${source.dir.name}">
<fileset dir="${codegen.output.dir}/${source.dir.name}">
<include name="org/**" />
</fileset>
</copy>
<!-- compile the plugin java files -->
<delete dir="${codegen.plugin.output.dir}/class"></delete>
<mkdir dir="${codegen.plugin.output.dir}/class"></mkdir>
<javac srcdir="${codegen.output.dir}/${source.dir.name}"
destdir="${codegen.plugin.output.dir}/class"
includes="org/apache/axis2/**">
<classpath>
<fileset dir="${codegen.plugin.output.dir}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${eclipse.home}/plugins/">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>
<!-- create the Axis2CodegenWizard.jar -->
<copy todir="${codegen.plugin.output.dir}/class">
<fileset dir="${codegen.output.dir}/${source.dir.name}" >
<include name="**/Codegen.properties" />
</fileset>
</copy>
<jar destfile="${codegen.plugin.output.dir}/Axis2CodegenWizard.jar"
basedir="${codegen.plugin.output.dir}/class"
includes="org/apache/**"
/>
</target>
<!--Install the codegen plugin -->
<target name="install-codegen-plugin" depends="init,generate-codegen-project,generate-codegen-plugin">
<delete dir="${eclipse.home}/plugins/${codegen.plugin.version}"></delete>
<copy todir="${eclipse.home}/plugins">
<fileset dir="${plugin.output.dir}"/>
</copy>
</target>
<!-- Service Archiver Project -->
<!-- generate the service archiver project -->
<target name="generate-service-project" depends="init">
<!-- copy the source -->
<copy todir="${service.output.dir}/${source.dir.name}">
<fileset dir="${service.src.dir}/" excludes="**/codegen/**/*.java"/>
</copy>
<!-- Copy the other stuff -->
<copy todir="${service.output.dir}" filtering="on">
<fileset dir="${service.resource.dir}" excludes="**/*.gif"></fileset>
</copy>
<!-- Copy the icons folder -->
<copy todir="${service.output.dir}">
<fileset dir="${service.resource.dir}" includes="**/*.gif" ></fileset>
</copy>
<!-- create bin directory -->
<mkdir dir="${service.output.dir}/${bin.dir.name}"></mkdir>
<!-- create the help directory -->
<mkdir dir="${service.output.dir}/${help.dir.name}"></mkdir>
<!-- copy the help directory -->
<copy todir="${service.output.dir}/${help.dir.name}">
<fileset file="${service.help.resource.file}"></fileset>
</copy>
<!-- copy the libraries to the plugin-->
<copy todir="${service.output.dir}/${lib.dir.name}">
<fileset refid="service.libs" />
</copy>
<available property="images.dir"
file="${service.help.images.dir}"
type="dir"
value="${service.help.images.dir}"/>
<copy todir="${service.output.dir}/${help.dir.name}/images">
<fileset dir="${images.dir}"/>
</copy>
</target>
<!--Generate the service plugin -->
<target name="generate-service-plugin" depends="init,generate-service-project">
<mkdir dir="${service.plugin.output.dir}"></mkdir>
<!-- copy the plugin.xml,build.properties and help_toc.xml -->
<copy todir="${service.plugin.output.dir}">
<fileset dir="${service.output.dir}" >
<include name="plugin.xml" />
<include name="help_toc.xml" />
<include name="build.properties" />
<include name="**/ServiceResources.properties" />
</fileset>
</copy>
<!-- copy the help directory-->
<copy todir="${service.plugin.output.dir}/help">
<fileset dir="${service.output.dir}/help" />
</copy>
<!-- copy the icons directory-->
<copy todir="${service.plugin.output.dir}/icons">
<fileset dir="${service.output.dir}/icons" />
</copy>
<!-- copy the libraries to the plugin-->
<copy todir="${service.plugin.output.dir}/${lib.dir.name}">
<fileset refid="service.libs" />
</copy>
<!-- copy the sources to the plugin-->
<copy todir="${service.plugin.output.dir}/${source.dir.name}">
<fileset dir="${service.output.dir}/${source.dir.name}">
<include name="org/**" />
</fileset>
</copy>
<!-- compile the plugin java files -->
<delete dir="${service.plugin.output.dir}/class"></delete>
<mkdir dir="${service.plugin.output.dir}/class"></mkdir>
<javac srcdir="${service.output.dir}/${source.dir.name}"
destdir="${service.plugin.output.dir}/class"
includes="org/apache/axis2/**">
<classpath>
<fileset dir="${service.plugin.output.dir}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${eclipse.home}/plugins/">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>
<!-- create the Axis_Service_Archiver.jar -->
<copy todir="${service.plugin.output.dir}/class">
<fileset dir="${service.output.dir}/${source.dir.name}" >
<include name="**/ServiceResources.properties" />
</fileset>
</copy>
<jar destfile="${service.plugin.output.dir}/Axis_Service_Archiver.jar"
basedir="${service.plugin.output.dir}/class"
includes="org/apache/**"
/>
</target>
<!--Install the service plugin -->
<target name="install-service-plugin" depends="init,generate-service-project,generate-service-plugin">
<delete dir="${eclipse.home}/plugins/${service.plugin.version}"></delete>
<copy todir="${eclipse.home}/plugins">
<fileset dir="${plugin.output.dir}"/>
</copy>
</target>
<!--Relese the plugins (this will install the plugins and build the zip version)-->
<target name="release-plugins">
<delete dir="${output.target}" />
<mkdir dir="${output.target}" />
<mkdir dir="${output.target}/service/${service.plugin.version}" />
<mkdir dir="${output.target}/codegen/${codegen.plugin.version}" />
<antcall target="install-service-plugin"/>
<antcall target="install-codegen-plugin"/>
<copy todir="${output.target}/service/${service.plugin.version}">
<fileset dir="${plugin.output.dir}/${service.plugin.version}"/>
</copy>
<copy todir="${output.target}/codegen/${codegen.plugin.version}">
<fileset dir="${plugin.output.dir}/${codegen.plugin.version}"/>
</copy>
<!--Copy the readme.txt files -->
<copy todir="${output.target}/codegen">
<fileset file="${codegen.resource.dir}/${readme.file.name}"/>
</copy>
<copy todir="${output.target}/service">
<fileset file="${service.resource.dir}/${readme.file.name}"/>
</copy>
<!--Zip the eclipse plugins to eclipse_plugins/target -->
<zip destfile="${output.target}/${codegen.plugin.zip.name}"
basedir="${output.target}/codegen"
update="true"
/>
<zip destfile="${output.target}/${service.plugin.zip.name}"
basedir="${output.target}/service"
update="true"
/>
<delete dir="${output.target}/service" />
<delete dir="${output.target}/codegen" />
</target>
<!-- Clean the directory -->
<target name="clean">
<delete dir="${output}"></delete>
</target>
<!-- help, list of targets -->
<target name="help">
<echo message="****************************************************************************" />
<echo message="** Eclipse Plugin Build **" />
<echo message="** pre-requisit : env.ECLIPSE_HOME **" />
<echo message="** **" />
<echo message="** **" />
<echo message="** build eclipse projects : generate-service-project **" />
<echo message="** generate-codegen-project **" />
<echo message="** **" />
<echo message="** build eclipse plugins : generate-service-plugin **" />
<echo message="** generate-codegen-plugin **" />
<echo message="** **" />
<echo message="** install plugins : install-service-plugin **" />
<echo message="** install-codegen-plugin **" />
<echo message="** **" />
<echo message="** release eclipse plugins : release-plugins **" />
<echo message="** **" />
<echo message="** **" />
<echo message="** **" />
<echo message="** **" />
<echo message="** **" />
<echo message="** **" />
<echo message="****************************************************************************" />
</target>
</project>