broker-core/build-generate-sources.xml (59 lines of code) (raw):

<!-- - - 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="${minimum-java-version}" target="${minimum-java-version}" 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>