> Nope, I have heard nothing about supporting SharpDevelop. Does anyone if
> they use nant already? I think I saw nant.exe bundled with their
> installation.
They use NAnt to build SharpDevelop (there are *.build files in the source,
anyway) but don't appear to have a task that runs *.prjx files.

I've written a primitive stylesheet(below) that works for me (both C# and VB
projects).  Replacing the hard-coded bits would probably make it general
enough for anyone to use.  It converts a prjx file into a build file.  Just
run it as a nant <style> task before the build proper, and you're set.

Now, if I could just figure out how to produce a nant logfile, my daily
build routine would be completely automated.

John C Barstow
-----------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">

<xsl:output method="xml" version="1.0" encoding="UTF-8" />

<xsl:template match="Project">
   <project name="{@name}" default="build">
   <xsl:apply-templates select="Configurations" />
   </project>
</xsl:template>

<xsl:template match="Contents">
<sources>
   <xsl:apply-templates select="File[@buildaction='Compile']" />
</sources>
</xsl:template>

<xsl:template match="File">
   <includes name="{@name}" />
</xsl:template>


<xsl:template match="CodeGeneration[@compiler='Csc']">
   <csc target="{translate(@target,'EL', 'el')}"
output="{concat(../Output/@directory,  ../Output/@assembly, '.dll')}">
        <xsl:apply-templates select="/Project/Contents" />
        <xsl:apply-templates select="/Project/References" />
        <arg value="/lib:../../../Infrastructure/LibraryClasses" />
   </csc>
</xsl:template>

<xsl:template match="CodeGeneration[/Project/@projecttype='VBNET']">
   <vbc target="{translate(@target,'EL', 'el')}"
output="{concat('..\build\',  ../Output/@assembly, '.dll')}"
imports="{@imports}" rootnamespace="{@rootnamespace}">
        <xsl:apply-templates select="/Project/Contents" />
        <xsl:apply-templates select="/Project/References" />
        <arg value="/libpath:../../../Infrastructure/LibraryClasses" />
   </vbc>
</xsl:template>

<xsl:template match="References">
<xsl:apply-templates select="Reference[@type='Gac']" />
<references>
   <xsl:apply-templates select="Reference[@type!='Gac']" />
</references>
</xsl:template>

<xsl:template match="Reference[@type='Gac']">
   <arg value="/reference:{concat(substring-before(@refto, ','), '.dll')}"
/>
</xsl:template>

<xsl:template match="Reference[@type='Assembly']">
   <includes name="{@refto}" />
</xsl:template>

<xsl:template match="Configurations">
   <xsl:apply-templates select="Configuration[@name=current()/@active]" />
</xsl:template>

<xsl:template match="Configuration">
   <target name="build" description="Compile {@name}">
   <xsl:apply-templates select="CodeGeneration" />
   </target>
</xsl:template>

</xsl:stylesheet>



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to