NAnt: concatenate filenames

I'm currently constructing some NAnt build scripts for our continuous integration build environment for SharePoint development. One thing  I want to do is that on the development server is that I want to install compiled web part assemblies and their references assemblies using the InstallAssemblies tool. This tool has in the command line version the option to install a set of assemblies using the "assembly:x,y,z" parameter. This parameter needs to have the assembly files separated by ','. I concatenate those filenames using the following code:

<project name="concat.test" default="concat.filenames" basedir=".">
 <target name="concat.filenames" description="concatenate filenames">
  <property name="concatenated.filenames" value=""/>
  <foreach item="File" property="filename">
     <include name="files\*.*" />
    <property name="concatenated.filenames" value="${concatenated.filenames}${filename},"/>
   <!-- now remove the trailing ',' -->
  <property name="concatenated.filenames" value="${string::substring(concatenated.filenames, 0, string::get-length(concatenated.filenames) - 1)}"/>
  <echo message="${concatenated.filenames}"/>

Result: [echo] C:\projects\NantTest\files\file1.txt,C:\projects\NantTest\files\file2.txt,C:\projects\NantTest\files\file3.txt

Published Thursday, December 16, 2004 12:40 AM by svdoever
Filed under: ,


No Comments