You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by rh...@apache.org on 2010/10/08 21:19:35 UTC

svn commit: r1005976 - /db/derby/code/trunk/build.xml

Author: rhillegas
Date: Fri Oct  8 19:19:35 2010
New Revision: 1005976

URL: http://svn.apache.org/viewvc?rev=1005976&view=rev
Log:
DERBY-2573: Don't build a release if there are outstanding edits still hanging around in your docs or code clients.

Modified:
    db/derby/code/trunk/build.xml

Modified: db/derby/code/trunk/build.xml
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/build.xml?rev=1005976&r1=1005975&r2=1005976&view=diff
==============================================================================
--- db/derby/code/trunk/build.xml (original)
+++ db/derby/code/trunk/build.xml Fri Oct  8 19:19:35 2010
@@ -1836,6 +1836,35 @@
      </exec>
    </target>
 
+   <!-- Verify that both the code and docs clients have no in-flight edits -->
+   <target name="checksvnclientsclean" unless="debug.release.build">
+
+      <antcall target="checksvnclean">
+         <param name="client.root" value="${docs.root}"/>
+      </antcall>
+
+      <antcall target="checksvnclean">
+         <param name="client.root" value="${basedir}"/>
+      </antcall>
+
+   </target>
+
+   <!-- Check that a subversion client has no files checked out -->
+   <target name="checksvnclean">
+     <exec executable="svn"
+           outputproperty="svnstatusoutput"
+     >
+       <arg value="status"/>
+       <arg value="${client.root}"/>
+     </exec>
+
+     <fail message="Cannot build a release. The ${client.root} subversion client is not clean: ${svnstatusoutput}">
+         <condition>
+             <not><equals arg1="${svnstatusoutput}" arg2="" trim="true"/></not>
+         </condition>
+     </fail>     
+   </target>
+
    <!-- Checkin the generated error documentation to the docs client -->
    <target name="copyerrordocs">
 
@@ -2457,11 +2486,8 @@ you should not have to do this.
     </target>
 
     <!-- do most of the ant calls to prepare a release -->
-    <target name="prepareforrelease" depends="checkdocsroot,promptforreleaseproperties,checkstateremoved,checksanenotset,cleanalljars,cleandocs,clobber,cleanreleasefiles">
+    <target name="prepareforrelease" depends="checkdocsroot,checksvnclientsclean,promptforreleaseproperties,checkstateremoved,checksanenotset,cleanalljars,cleandocs,clobber,cleanreleasefiles">
 
-        <!-- other possible checks? maybe no checked out files? -->
-        <!-- maybe try to force a doc build? call to ant release will check for docs out -->
-        <!-- assume svn update has been done to the desired level -->
         <!-- we should already be squeeky clean, depends removed jars, javadoc, snapshot, classes, and old release artifacts -->
         <antcall target="updatesvnclients"/>