| <!-- |
| - |
| - Licensed to the Apache Software Foundation (ASF) under one |
| - or more contributor license agreements. See the NOTICE file |
| - distributed with this work for additional information |
| - regarding copyright ownership. The ASF licenses this file |
| - to you 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="JMX Management Console Binary Release" default="release-bin"> |
| |
| <!-- check properties that must be set by caller --> |
| <target name="check" description="ensure all required properties are set"> |
| <condition property="properties.set"> |
| <and> |
| <!-- common properties --> |
| <isset property ="mcplugin.filename"/> |
| <isset property ="jmxremote.sasl.manifest"/> |
| <!-- platform specific properties --> |
| <isset property ="qpidmc.ini"/> |
| <isset property ="qpidmc.executable"/> |
| <isset property ="release.name"/> |
| <isset property ="release.subdir"/> |
| <isset property ="rcp.libs"/> |
| <isset property ="rcp.configuration.dir"/> |
| <or> |
| <isset property ="release.zip"/> |
| <isset property ="release.tar.gz"/> |
| </or> |
| </and> |
| <!-- Optional Properties: |
| |
| For linux libcairo-swt.so file: |
| qpidmc.companion.library |
| |
| For solaris .xpm files: |
| qpidmc.solaris.xpm.files |
| |
| --> |
| </condition> |
| |
| <fail unless="properties.set" message="some required properties were not set"/> |
| </target> |
| |
| <target name="release-bin-prepare"> |
| <mkdir dir="${release.subdir}"/> |
| </target> |
| |
| <target name="release-bin-qpid-mc-plugin"> |
| <available file="${build.lib}/qpid-management-eclipse-plugin-${project.version}.jar" property="management-eclipse-plugin.jar.present"/> |
| <fail unless="management-eclipse-plugin.jar.present" message="Please run ant build for the management-eclipse-plugin module"/> |
| |
| <!-- Copy the qpid management-eclipse-plugin module jar --> |
| <copy tofile="${release.subdir}/plugins/${mcplugin.filename}.jar" flatten="true" failonerror="true"> |
| <fileset file="${build.lib}/qpid-management-eclipse-plugin-${project.version}.jar"/> |
| </copy> |
| </target> |
| |
| <target name="release-bin-jmxremote-plugin"> |
| <!-- Copy the jmxremote.sasl plugin's manifest, creating its plugin directory --> |
| <copy todir="${release.subdir}/plugins/jmxremote.sasl_1.0.1/META-INF" flatten="true" failonerror="true"> |
| <fileset file="${jmxremote.sasl.manifest}"/> |
| </copy> |
| </target> |
| |
| <target name="release-bin-qpid-management-common-plugin"> |
| <available file="${build.lib}/qpid-management-common_${project.version}.0.osgi.jar" property="management-common.jar.present"/> |
| <fail unless="management-common.jar.present" message="Please run ant bundle for the management-common module"/> |
| |
| <!-- Copy the qpid-management-common module osgi jar --> |
| <copy todir="${release.subdir}/plugins" failonerror="true"> |
| <fileset file="${build.lib}/qpid-management-common_${project.version}.0.osgi.jar"/> |
| </copy> |
| </target> |
| |
| <target name="release-bin-executable-companion-library" if="qpidmc.companion.library"> |
| <!-- Copy the rcp executable companion library file --> |
| <copy todir="${release.subdir}" flatten="true" failonerror="true"> |
| <fileset file="${qpidmc.companion.library}"/> |
| </copy> |
| </target> |
| |
| <target name="release-bin-executable-solaris-xpm-files" if="qpidmc.solaris.xpm.files"> |
| <!-- Copy the solaris xpm files --> |
| <copy todir="${release.subdir}" flatten="true" failonerror="true"> |
| <fileset dir="${basedir}" includes="${qpidmc.solaris.xpm.files}"/> |
| </copy> |
| </target> |
| |
| <target name="release-bin-rcp-deps" description="copy eclipse-rcp dependencies into module release" |
| depends="release-bin-executable-companion-library, release-bin-executable-solaris-xpm-files"> |
| |
| <!-- Copy the rcp executable file --> |
| <copy todir="${release.subdir}" flatten="true" failonerror="true"> |
| <fileset file="${qpidmc.executable}"/> |
| </copy> |
| <chmod dir="${release.subdir}" perm="u+rx" includes="qpidmc*"/> |
| |
| <!-- Copy remaining startup & license files --> |
| <copy todir="${release.subdir}" flatten="true" failonerror="true"> |
| <fileset file="${qpidmc.ini}"/> |
| </copy> |
| |
| <!-- Copy the rcp module libs --> |
| <copy todir="${release.subdir}/plugins" failonerror="true"> |
| <fileset dir="${project.root}" includes="${rcp.libs}"/> |
| <globmapper from="lib${file.separator}*" to="*"/> |
| </copy> |
| |
| <!-- Copy the relevant configuration dir --> |
| <copy todir="${release.subdir}/configuration" failonerror="true"> |
| <fileset dir="${rcp.configuration.dir}"/> |
| </copy> |
| <chmod dir="${release.subdir}/configuration" perm="ugo+r" includes="**/*"/> |
| </target> |
| |
| <target name="release-bin-zip" if="release.zip" description="build mc zip archive"> |
| <zip destfile="${release.zip}"> |
| <zipfileset dir="${release.subdir}" prefix="${release.name}" filemode="755"> |
| <include name="qpidmc*"/> |
| <exclude name="qpidmc.ini"/> |
| </zipfileset> |
| |
| <zipfileset dir="${release.subdir}" prefix="${release.name}" filemode="644"> |
| <include name="qpidmc.ini"/> |
| </zipfileset> |
| |
| <zipfileset dir="${release.subdir}" prefix="${release.name}" filemode="644" dirmode="755"> |
| <exclude name="qpidmc*"/> |
| </zipfileset> |
| </zip> |
| </target> |
| |
| <target name="release-bin-gzip" if="release.tar.gz" description="build mc tar.gz archive"> |
| <tar destfile="${release.tar.gz}" longfile="gnu" compression="gzip"> |
| <tarfileset dir="${release.subdir}" prefix="${release.name}" filemode="755"> |
| <include name="qpidmc*"/> |
| <exclude name="qpidmc.ini"/> |
| </tarfileset> |
| |
| <tarfileset dir="${release.subdir}" prefix="${release.name}" filemode="644"> |
| <include name="qpidmc.ini"/> |
| </tarfileset> |
| |
| <tarfileset dir="${release.subdir}" prefix="${release.name}" filemode="644" dirmode="755"> |
| <exclude name="qpidmc*"/> |
| </tarfileset> |
| </tar> |
| </target> |
| |
| <target name="release-bin-resources" description="copy project resources into module release"> |
| <copy todir="${release.subdir}" failonerror="false" flatten="true"> |
| <fileset dir="${resources}" excludes="META-INF"/> |
| </copy> |
| </target> |
| |
| <!-- override imported module.xml release-bin target --> |
| <target name="release-bin" depends="check,release-bin-prepare,release-bin-rcp-deps,release-bin-resources, |
| release-bin-qpid-mc-plugin,release-bin-qpid-management-common-plugin,release-bin-jmxremote-plugin,release-bin-zip,release-bin-gzip"/> |
| |
| </project> |