| <project basedir="." default="help"> | |
| <!--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="codegen.plugin.zip.name" value="axis2-eclipse-codegen-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="output" value="../target/eclipse_plugins"></property> | |
| <property name="output.target" value="${output}/release"></property> | |
| <property name="plugin.output.dir" value="${output}/plugin"></property> | |
| <property name="codegen.output.dir" value="${output}/code-gen"></property> | |
| <property name="codegen.plugin.output.dir" value="${plugin.output.dir}/${codegen.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="plugin.project.file.name" value=".project"></property> | |
| <property name="plugin.classpath.file.name" value=".classpath"></property> | |
| <property name="plugin.help.file.name" value="help_toc.xml"></property> | |
| <property name="codegen.resource.dir" value="../conf/codegen"></property> | |
| <property name="codegen.help.resource.file" value="../../../xdocs/tools/1_1/eclipse/wsdl2java-plugin.html"></property> | |
| <property name="codegen.help.images.dir" value="../../../xdocs/tools/1_1/eclipse/images"></property> | |
| <property name="axis2.lib.dir" value="../../../target/lib"></property> | |
| <!--Filter tockens for the copy command to filter the versions of external dependencies --> | |
| <filter token="version_number" value="${version_number}" /> | |
| <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-${version_number}.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> | |
| <!-- Default target to generate all the services --> | |
| <target name="all"> | |
| <antcall target="clean" /> | |
| <antcall target="generate-codegen-plugin"/> | |
| <antcall target="release-plugin"/> | |
| </target> | |
| <!-- init--> | |
| <target name="init"> | |
| <mkdir dir="${output}"></mkdir> | |
| <mkdir dir="${codegen.output.dir}"></mkdir> | |
| </target> | |
| <!-- Codegen Project --> | |
| <!-- Generete the Codegen Project that can be imported as a readymade eclipse project in to workspace --> | |
| <target name="generate-codegen-project"> | |
| <delete file="plugin.xml" /> | |
| <delete file="build.properties" /> | |
| <delete file=".project" /> | |
| <delete file=".classpath" /> | |
| <delete dir="icons" /> | |
| <delete dir="help" /> | |
| <delete dir="lib" /> | |
| <!-- Copy to the same position with the filtering on--> | |
| <copy todir="." filtering="on" > | |
| <fileset dir="${codegen.resource.dir}"> | |
| <include name="plugin.xml" /> | |
| <include name="build.properties" /> | |
| <include name="${plugin.classpath.file.name}" /> | |
| </fileset> | |
| </copy> | |
| <!-- copy the libs --> | |
| <mkdir dir="${lib.dir.name}" /> | |
| <copy todir="${lib.dir.name}"> | |
| <fileset refid="codegen.libs" /> | |
| </copy> | |
| <!-- copy the icons--> | |
| <mkdir dir="${icons.dir.name}" /> | |
| <copy todir="${icons.dir.name}"> | |
| <fileset dir="${codegen.resource.dir}/${icons.dir.name}" /> | |
| </copy> | |
| <!-- copy the other project files--> | |
| <copy todir="."> | |
| <fileset file="${codegen.resource.dir}/${plugin.project.file.name}" /> | |
| <fileset file="${codegen.resource.dir}/${plugin.help.file.name}" /> | |
| </copy> | |
| </target> | |
| <!--create the codegen project--> | |
| <target name="create-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="create-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> | |
| <!--Relese the plugins (this will install the plugins and build the zip version)--> | |
| <target name="release-plugin"> | |
| <mkdir dir="${output.target}" /> | |
| <mkdir dir="${output.target}/codegen/${codegen.plugin.version}" /> | |
| <antcall target="generate-codegen-plugin"/> | |
| <copy todir="${output.target}/codegen/${codegen.plugin.version}"> | |
| <fileset dir="${plugin.output.dir}/${codegen.plugin.version}"/> | |
| </copy> | |
| <!--Zip the eclipse plugins to eclipse_plugins/target --> | |
| <zip destfile="${output.target}/${codegen.plugin.zip.name}" | |
| basedir="${output.target}/codegen" | |
| update="true" | |
| /> | |
| <delete dir="${output.target}/codegen" /> | |
| </target> | |
| <!-- Clean the directory --> | |
| <target name="clean"> | |
| <delete dir="${codegen.output.dir}"></delete> | |
| <delete dir="${plugin.output.dir}/${codegen.plugin.version}"></delete> | |
| <delete file="${output.taget}/${codegen.file.zip.name}"></delete> | |
| </target> | |
| <!-- help, list of targets --> | |
| <target name="help"> | |
| <echo message="****************************************************************************" /> | |
| <echo message="** Eclipse Codegen Plugin Build **" /> | |
| <echo message="** pre-requisit : env.ECLIPSE_HOME **" /> | |
| <echo message="** **" /> | |
| <echo message="** **" /> | |
| <echo message="** build eclipse projecti : generate-codegen-project **" /> | |
| <echo message="** **" /> | |
| <echo message="** build eclipse plugin : generate-codegen-plugin **" /> | |
| <echo message="** **" /> | |
| <echo message="** install plugin : install-codegen-plugin **" /> | |
| <echo message="** **" /> | |
| <echo message="** release eclipse plugin : release-plugin **" /> | |
| <echo message="** **" /> | |
| <echo message="** **" /> | |
| <echo message="****************************************************************************" /> | |
| </target> | |
| </project> | |