From 47f1794d87c3bf3a71b316d57a4e3a8331b10abf Mon Sep 17 00:00:00 2001
From: davidely <davidely@localhost>
Date: Tue, 11 Sep 2007 05:28:08 +0000
Subject: [PATCH] As a way to speed up an incremental build, I've updated the compileadmin target to only generate the config java source if the definition files have changed.
---
opends/build.xml | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/opends/build.xml b/opends/build.xml
index d3af905..aaf1a13 100644
--- a/opends/build.xml
+++ b/opends/build.xml
@@ -134,6 +134,7 @@
<property name="admin.defn.dir" location="src/admin/defn" />
<property name="admin.src.dir" location="src/admin/generated" />
<property name="admin.rules.dir" location="resource/admin" />
+ <property name="admin.gen.marker" location="${admin.src.dir}/.generated-successfully-marker" />
<!-- Properties for generating messages. -->
<property name="msg.prop.dir" location="src/messages/messages" />
@@ -1722,7 +1723,9 @@
<!-- Code generation for core administration components. -->
- <target name="compileadmin" depends="validateadmin" description="Code generation for configuration Object.">
+ <target name="compileadmin" depends="checkadminuptodate,validateadmin"
+ description="Code generation for configuration Object."
+ unless="generatedAdmin.upToDate">
<!-- The XSLT task creates a lot of noise.
I can't find any other way to shut it up. -->
@@ -1742,6 +1745,11 @@
<arg value="-quiet" />
<arg value="compileadminsubtask" />
</exec>
+
+ <!-- Keeps track of the last time that we successfully generated
+ the admin files so we only have to do it again if any of the
+ source files are out of date. -->
+ <touch file="${admin.gen.marker}" />
</target>
@@ -1818,8 +1826,21 @@
</delete>
</target>
+
+ <!-- Keeps track of the last time that we successfully generated
+ the admin files so we only have to do it again if any of the
+ source files are out of date. -->
+ <target name="checkadminuptodate">
+ <uptodate property="generatedAdmin.upToDate">
+ <srcfiles dir="${admin.defn.dir}" includes="**/*.xml" />
+ <mapper type="merge" to="${admin.gen.marker}"/>
+ </uptodate>
+ </target>
+
<!-- Validate core administration component XML definition files. -->
- <target name="validateadmin" description="Validate core administration component XML definition files.">
+ <target name="validateadmin" depends="checkadminuptodate"
+ description="Validate core administration component XML definition files."
+ unless="generatedAdmin.upToDate">
<schemavalidate>
<fileset dir="${admin.defn.dir}" includes="**/*.xml" />
<schema namespace="http://www.opends.org/admin" file="${admin.rules.dir}/admin.xsd"/>
--
Gitblit v1.10.0