| <!-- |
| - |
| - 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="QpidBrokerCoreGenerateSources" default="generate-logmessages"> |
| |
| <!-- Additions to perform LogMessage generation. To enable for a given |
| module using the Ant build, add the following to the build.xml: |
| |
| <import file="${project.root}/broker-core/build-generate-sources.xml"/> |
| |
| <target name="precompile" depends="generate-logmessages"/> --> |
| |
| <dirname property="QpidBrokerCoreGenerateSources.basedir" file="${ant.file.QpidBrokerCoreGenerateSources}"/> |
| |
| <property name="generated-logmessages-dir" location="${module.src}" /> |
| <property name="velocity.classes" value="${build.scratch}/broker-core/velocity"/> |
| <property name="velocity.timestamp" location="${generated-logmessages-dir}/velocity.timestamp" /> |
| <property name="velocity.src.dir" value="${QpidBrokerCoreGenerateSources.basedir}/src/velocity/java"/> |
| <property name="velocity.template.dir" value="${QpidBrokerCoreGenerateSources.basedir}/src/velocity/templates/org/apache/qpid/server/logging/messages"/> |
| |
| <path id="source.generation.classpathref"> |
| <pathelement path="${project.root}/${velocity.jar}" /> |
| <pathelement path="${project.root}/${velocity-dep.jar}" /> |
| </path> |
| |
| <condition property="generate.logmessage.sources" value="true"> |
| <istrue value="${generate}"/> |
| </condition> |
| |
| <target name="compile-logmessages-generator" > |
| <mkdir dir="${velocity.classes}" /> |
| <!-- Compile LogMessages Velocity Generator --> |
| <javac source="${java.source}" target="${java.target}" |
| destdir="${velocity.classes}" debug="on" includeantruntime="false" |
| srcdir="${velocity.src.dir}" > |
| <classpath> |
| <path refid="source.generation.classpathref"/> |
| </classpath> |
| </javac> |
| </target> |
| |
| <target name="check-logmessages-generation-required"> |
| <uptodate property="logmessages-generation-not-required" targetfile="${velocity.timestamp}"> |
| <srcfiles dir="${module.src}" includes="**/*_logmessages.properties" /> |
| <srcfiles dir="${velocity.src.dir}" includes="**/*.java **/*.vm" /> |
| </uptodate> |
| </target> |
| |
| <target name="generate-logmessages" depends="compile-logmessages-generator" if="generate.logmessage.sources"> |
| <mkdir dir="${generated-logmessages-dir}"/> |
| |
| <path id="logmessages.path"> |
| <fileset dir="${module.src}"> |
| <include name="**/*_logmessages.properties"/> |
| </fileset> |
| </path> |
| |
| <pathconvert property="logmessages" |
| refid="logmessages.path" |
| pathsep="' '"/> |
| |
| <echo message="logmessages is ${logmessages}"/> |
| |
| <java classname="org.apache.qpid.server.logging.GenerateLogMessages" fork="true" failonerror="true"> |
| <arg line="'${logmessages}'"/> |
| <arg value="-j"/> |
| <arg value="-o"/> |
| <arg value="${generated-logmessages-dir}"/> |
| <arg value="-t"/> |
| <arg value="${velocity.template.dir}"/> |
| <arg value="-s"/> |
| <arg value="${module.src}"/> |
| |
| <classpath> |
| <pathelement path="${module.src}"/> |
| <pathelement path="${velocity.classes}" /> |
| <path refid="source.generation.classpathref"/> |
| </classpath> |
| </java> |
| <touch file="${velocity.timestamp}" /> |
| </target> |
| |
| </project> |