On Jun 24, 2006, at 11:03 AM, P T Withington wrote:

> That sounds like exactly what I want.  How can I get that value  
> into build.id from ant?  Is there an ant task that will run shell  
> commands?

I was doing this in the nightly build's build.xml for a while, but I  
switched to doing it in bash because I needed to be able to dictate  
the rev number from a script, not just use whatever the HEAD is. But  
something like this will do what you want. You will need subversion  
1.3.1 -- that is the first client which supports svn info --xml.  
Also, it would be a good idea to remove the repository.xml file after  
you get what you need from it.

     <target name="get-rev-number" unless="done.get-rev-number">
         <sequential>
             <!-- Get the current repository information -->
             <exec executable="svn" output="repository-info.xml">
                 <arg value="info" />
                 <arg value="--xml" />
                 <arg value="http://svn.openlaszlo.org/$ 
{build.project}/${build.branch}" />
             </exec>
             <property name="done.get-rev-number" value="true" />
         </sequential>
     </target>

     <target name="setup-names" depends="get-rev-number"  
unless="done.setup-names">
         <!-- Load repository information into properties -->
         <xmlproperty file="repository-info.xml"/>
         <property name="revision" value="${info.entry(revision)}" />
         <property name="build.name"
             value="build-${info.entry(path)}-${revision}" />
         <property name="path.tag"
             value="http://svn.openlaszlo.org/${build.project}/builds/ 
${build.name}"    />

         <!-- print a lot of diagnostic information -->
         <echo message="revision is ${revision}" />
         <echo message="build.name is ${build.name}" />
         <echo message="path.tag is ${path.tag}" />

         <property name="done.setup-names" value="true" />
     </target>


>
> I like your metadata idea.  I suppose what you really want to know  
> is if there are un-checked-in changes in the tree, but that would  
> be too slow in svn.

I think checking for local changes doesn't require network access. It  
*shouldn't* at least. Aha:
"With no args, print only locally modified items (no network access)."
So the slowness comes from our gigantor tree. It could be fast if you  
list the top-level directories you actually care about...

svn status lps WEB-INF| sed -e /.lzl$/d -e/.class$/d > localchanges.txt

then do something creative with localchanges.txt to make it visible  
in the canvas...
I'm liking this. Go Tucker!


benjamin shine
software engineer
[EMAIL PROTECTED]



_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to