350386 - BUILD_CVS_WRITE_USER used too much
diff --git a/releng.wtpbuilder/scripts/build/maptasks.xml b/releng.wtpbuilder/scripts/build/maptasks.xml
index a5704a7..988b62f 100644
--- a/releng.wtpbuilder/scripts/build/maptasks.xml
+++ b/releng.wtpbuilder/scripts/build/maptasks.xml
@@ -18,12 +18,12 @@
         properties will be used.
     -->
     <property file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
+
+    <!-- if not otherwise set, assume "yes, do tag map files" ... but, to tag also requires correct write id, etc. -->
     <property
-        name="cvsProtocol"
-        value="${env.BUILD_CVS_WRITE_PROTOCOL}"/>
-    <property
-        name="cvsUser"
-        value="${env.BUILD_CVS_WRITE_USER}"/>
+        name="build.donottagmaps"
+        value="false"/>
+    
     <property
         name="cvsServer"
         value="${env.BUILD_CVS_SERVER}"/>
@@ -61,19 +61,13 @@
                   -->
 
 
-    <!-- ***  assign repo info -->
-    <property
-        name="mapCvsRoot"
-        value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}"/>
-    <echo
-        level="debug"
-        message="mapCvsRoot: ${mapCvsRoot}"/>
     <!--
         fetchAllMaps is pure convenience. If you are tempted to modify
         fetchAllMaps, chances are you should just use more specific
         calls to map util in your own code
     -->
-    <target name="fetchAllMaps">
+    <target name="fetchAllMaps"
+        depends="init">
         <ant
             antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
             target="maputil">
@@ -230,7 +224,7 @@
     -->
     <target
         name="checkOutMaps"
-        depends="checkLocal"
+        depends="checkLocal, init"
         unless="mapsLocal">
         <echo
             level="debug"
@@ -260,7 +254,7 @@
     -->
     <target
         name="tagMapFiles"
-        depends="checktagMaps"
+        depends="checktagMaps, init"
         if="tagMaps">
         <cvs
             cvsRoot="${mapCvsRoot}"
@@ -282,7 +276,9 @@
     <target
         name="rewriteMaps"
         if="rewriteMapsLine">
-        <echo level="debug" message="rewriteMapsLine: ${rewriteMapsLine}"/>
+        <echo
+            level="debug"
+            message="rewriteMapsLine: ${rewriteMapsLine}"/>
          <!-- we have to check for existence, since in some builds, such as maintenance, 
               we check out all maps, but not all maps have been branched. -->
         <available
@@ -293,7 +289,9 @@
     <target
         name="unrewriteMaps"
         if="unrewriteMapsLine">
-        <echo level="debug" message="unrewriteMapsLine: ${unrewriteMapsLine}"/>
+        <echo
+            level="debug"
+            message="unrewriteMapsLine: ${unrewriteMapsLine}"/>
             <!-- we have to check for existence, since in some builds, such as maintenance, 
                    we check out all maps, but not all maps have been branched. -->
         <!-- <available
@@ -304,7 +302,9 @@
     <target
         name="rewriteMapsHttp"
         if="rewriteHttpLines">
-        <echo level="debug" message="rewriteHttpLines: ${rewriteHttpLines}"/>
+        <echo
+            level="debug"
+            message="rewriteHttpLines: ${rewriteHttpLines}"/>
             <!-- we have to check for existence, since in some builds, such as maintenance, 
                    we check out all maps, but not all maps have been branched. -->
         <available
@@ -357,15 +357,30 @@
         </replace>
     </target>
 
+<!-- to summarize, tag maps files, if WRITE USER is set to something other than 'anonymous' and donottagmaps hasn't been explicitly set to true -->
     <target name="checktagMaps">
         <condition property="tagMaps">
-            <equals
-                arg1="${build.donottagmaps}"
-                arg2="false"/>
+            <and>
+                <equals
+                    arg1="${build.donottagmaps}"
+                    arg2="false"/>
+                <isset property="env.BUILD_CVS_WRITE_USER"/>
+                <not>
+                    <equals
+                        arg1="${env.BUILD_CVS_WRITE_USER}"
+                        arg2="anonymous"/>
+                </not>
+            </and>
         </condition>
+        <echo 
+            level="info"
+            message="build.donottagmaps: ${build.donottagmaps} " />
         <echo
-            level="debug"
+            level="info"
             message="tagMaps: ${tagMaps}"/>
+        <echo
+            level="info"
+            message="BUILD_CVS_WRITE_USER: {env.BUILD_CVS_WRITE_USER}"/>
     </target>
     <target name="checkLocal">
         <condition property="mapsLocal">
@@ -375,6 +390,39 @@
             level="debug"
             message="mapsLocal: ${mapsLocal}"/>
     </target>
+    <target
+        name="init"
+        depends="checktagMaps, initWriteValues"
+        unless="tagMaps">
+        <property
+            name="cvsProtocol"
+            value="${env.BUILD_CVS_READ_PROTOCOL}"/>
+        <property
+            name="cvsUser"
+            value="${env.BUILD_CVS_READ_USER}"/>
+        <property
+            name="mapCvsRoot"
+            value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}"/>
+        <echo
+            level="info"
+            message="no tag mapCvsRoot: ${mapCvsRoot}"/>
+    </target>
+    <target
+        name="initWriteValues"
+        if="tagMaps">
+        <property
+            name="cvsProtocol"
+            value="${env.BUILD_CVS_WRITE_PROTOCOL}"/>
+        <property
+            name="cvsUser"
+            value="${env.BUILD_CVS_WRITE_USER}"/>
+        <property
+            name="mapCvsRoot"
+            value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}"/>
+        <echo
+            level="info"
+            message="taggable mapCvsRoot: ${mapCvsRoot}"/>
+    </target>
     <!-- 
         Default target
     -->
diff --git a/releng.wtpbuilder/scripts/build/runbuild.xml b/releng.wtpbuilder/scripts/build/runbuild.xml
index 8812507..9d2a134 100644
--- a/releng.wtpbuilder/scripts/build/runbuild.xml
+++ b/releng.wtpbuilder/scripts/build/runbuild.xml
@@ -379,8 +379,8 @@
             name="JavaSE-1.6"
             value="${env.JAVA_6_HOME}/jre/lib/rt.jar:${env.JAVA_6_HOME}/jre/lib/vm.jar:${env.JAVA_6_HOME}/jre/lib/java.util.jar:${env.JAVA_6_HOME}/jre/lib/xml.jar:${env.JAVA_6_HOME}/jre/lib/ibmorbapi.jar:${env.JAVA_6_HOME}/jre/lib/security.jar:${env.JAVA_6_HOME}/jre/lib/ibmpkcs.jar:${env.JAVA_6_HOME}/jre/lib/ibmjcefw.jar:${env.JAVA_6_HOME}/jre/lib/beans.jar:${env.JAVA_6_HOME}/jre/lib/logging.jar"/>
         <!--
-            local builds must set build.donottagmaps to true, in
-            runbuild.properties, to avoid erroneous time stamps
+            local builds should set build.donottagmaps to true, in
+            runbuild.properties, to avoid erroneous time stamps, though also requires "cvs write user" to be set to valid committer id, etc.
         -->
         <property
             name="build.donottagmaps"