[svn] r7585: nemerle/trunk: Nemerle.MSBuild.Tasks.nproj misc/packages/wix misc/packages/wix/CompilerAndToo...

pbludov svnadmin at nemerle.org
Tue Apr 10 05:17:42 CEST 2007


Log:
Wix package related changes.

Author: pbludov
Date: Tue Apr 10 05:17:34 2007
New Revision: 7585

Added:
   nemerle/trunk/misc/packages/wix/nemerle.wixproj
   nemerle/trunk/tools/msbuild-task/MSBuildTask.build
Removed:
   nemerle/trunk/misc/packages/wix/CompilerAndTools.wixobj
Modified:
   nemerle/trunk/Nemerle.MSBuild.Tasks.nproj
   nemerle/trunk/misc/packages/wix/   (props changed)
   nemerle/trunk/misc/packages/wix/src/CompilerAndTools.wxs
   nemerle/trunk/misc/packages/wix/src/NemerleRuntime.wxs
   nemerle/trunk/misc/packages/wix/src/Product.wxs
   nemerle/trunk/misc/packages/wix/src/Version.wxi
   nemerle/trunk/misc/packages/wix/src/vs-plugin.wxs
   nemerle/trunk/tools/msbuild-task/MSBuildTask.n
   nemerle/trunk/tools/nant-task/NantTask.n
   nemerle/trunk/tools/nemerlish/nemerlish.build

Modified: nemerle/trunk/Nemerle.MSBuild.Tasks.nproj
==============================================================================
--- nemerle/trunk/Nemerle.MSBuild.Tasks.nproj	(original)
+++ nemerle/trunk/Nemerle.MSBuild.Tasks.nproj	Tue Apr 10 05:17:34 2007
@@ -13,6 +13,7 @@
     <NoStdLib>true</NoStdLib>
     <!--NoStdMacros>true</NoStdMacros-->
     <GreedyReferences>false</GreedyReferences>
+    <KeyOriginatorFile>misc\keys\Nemerle.Compiler.snk</KeyOriginatorFile>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
     <OutputPath>bin\Debug\</OutputPath>

Added: nemerle/trunk/misc/packages/wix/nemerle.wixproj
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/packages/wix/nemerle.wixproj	Tue Apr 10 05:17:34 2007
@@ -0,0 +1,84 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <ProductVersion>3.0</ProductVersion>
+    <ProjectGuid>{043f1aec-0396-4498-9cfe-ae8f12b9d5f2}</ProjectGuid>
+    <SchemaVersion>2.0</SchemaVersion>
+    <OutputName>nemerle</OutputName>
+    <OutputType>Package</OutputType>
+    <WixToolPath>C:\Program Files\Windows Installer XML v3\bin\</WixToolPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+    <OutputPath>bin\Debug\</OutputPath>
+    <IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
+    <DefineConstants>Debug;Type=Debug</DefineConstants>
+    <IncludeSearchPaths>
+    </IncludeSearchPaths>
+    <Pedantic>False</Pedantic>
+    <ShowSourceTrace>False</ShowSourceTrace>
+    <SuppressSchemaValidation>False</SuppressSchemaValidation>
+    <SuppressSpecificWarnings>
+    </SuppressSpecificWarnings>
+    <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
+    <VerboseOutput>False</VerboseOutput>
+    <AllowIdenticalRows>False</AllowIdenticalRows>
+    <CabinetCachePath>
+    </CabinetCachePath>
+    <CabinetCreationThreadCount>-1</CabinetCreationThreadCount>
+    <Cultures>
+    </Cultures>
+    <LeaveTemporaryFiles>False</LeaveTemporaryFiles>
+    <LinkerPedantic>False</LinkerPedantic>
+    <ReuseCabinetCache>False</ReuseCabinetCache>
+    <SetMsiAssemblyNameFileVersion>False</SetMsiAssemblyNameFileVersion>
+    <SuppressAclReset>False</SuppressAclReset>
+    <SuppressAssemblies>False</SuppressAssemblies>
+    <SuppressDefaultAdminSequenceActions>False</SuppressDefaultAdminSequenceActions>
+    <SuppressDefaultAdvSequenceActions>False</SuppressDefaultAdvSequenceActions>
+    <SuppressDefaultUISequenceActions>False</SuppressDefaultUISequenceActions>
+    <SuppressDroppingUnrealTables>False</SuppressDroppingUnrealTables>
+    <SuppressFileHashAndInfo>False</SuppressFileHashAndInfo>
+    <SuppressFiles>False</SuppressFiles>
+    <SuppressIces>
+    </SuppressIces>
+    <LinkerSuppressIntermediateFileVersionMatching>False</LinkerSuppressIntermediateFileVersionMatching>
+    <SuppressLayout>False</SuppressLayout>
+    <SuppressMsiAssemblyTableProcessing>False</SuppressMsiAssemblyTableProcessing>
+    <LinkerSuppressSchemaValidation>False</LinkerSuppressSchemaValidation>
+    <LinkerSuppressSpecificWarnings>
+    </LinkerSuppressSpecificWarnings>
+    <SuppressValidation>False</SuppressValidation>
+    <LinkerTreatWarningsAsErrors>False</LinkerTreatWarningsAsErrors>
+    <LinkerVerboseOutput>False</LinkerVerboseOutput>
+    <WixVariables>
+    </WixVariables>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <OutputPath>bin\Release\</OutputPath>
+    <IntermediateOutputPath>obj\Release\</IntermediateOutputPath>
+    <DefineConstants>Type=Release</DefineConstants>
+    <IncludeSearchPaths>
+    </IncludeSearchPaths>
+    <Pedantic>False</Pedantic>
+    <ShowSourceTrace>False</ShowSourceTrace>
+    <SuppressSchemaValidation>False</SuppressSchemaValidation>
+    <SuppressSpecificWarnings>
+    </SuppressSpecificWarnings>
+    <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
+    <VerboseOutput>False</VerboseOutput>
+  </PropertyGroup>
+  <ItemGroup>
+    <Folder Include="src" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="src\Product.wxs" />
+    <Compile Include="src\Integration.wxs" />
+    <Compile Include="src\NemerleRuntime.wxs" />
+    <Compile Include="src\CompilerAndTools.wxs" />
+    <Compile Include="src\Documentation.wxs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="src\Version.wxi" />
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\WiX\v3.0\Wix.targets" />
+</Project>
\ No newline at end of file

Modified: nemerle/trunk/misc/packages/wix/src/CompilerAndTools.wxs
==============================================================================
--- nemerle/trunk/misc/packages/wix/src/CompilerAndTools.wxs	(original)
+++ nemerle/trunk/misc/packages/wix/src/CompilerAndTools.wxs	Tue Apr 10 05:17:34 2007
@@ -33,9 +33,13 @@
   <Fragment>
     <ComponentGroup Id="CompGroup_NemerleBinaries">
 
+      <!-- All CAG rleated stuff were commented out till release. -->
+
       <!-- Nemerle compiler (GAC folder) -->
-      <ComponentRef Id="Comp_NemerleCompilerGAC" />
-      <ComponentRef Id="Comp_NemerleMacrosGAC" />
+      <!--<ComponentRef Id="Comp_NemerleCompilerGAC" />-->
+      <!--<ComponentRef Id="Comp_NemerleMacrosGAC" />-->
+      <!-- Nemerle evaluation (GAC folder) -->
+      <!--<ComponentRef Id="Comp_NemereEvaluationGAC" />-->
 
       <!-- Nemerle compiler (bin folder) -->
       <ComponentRef Id="Comp_NemerleCompiler" />
@@ -51,16 +55,14 @@
 
     <ComponentGroup Id="CompGroup_Nemerlish">
 
-      <!-- Nemerle evaluation (GAC folder) -->
-      <ComponentRef Id="Comp_NemereEvaluationGAC" />
-
       <!-- Nemerlish (bin folder) -->
       <ComponentRef Id="Comp_Nemerlish" />
       <ComponentRef Id="Comp_NemereEvaluation" />
 
     </ComponentGroup>
 
-    <DirectoryRef Id="BINDIR">
+    <!--<DirectoryRef Id="BINDIR">-->
+    <DirectoryRef Id="INSTALLDIR">
 
       <Component Id="Comp_NemerleCompiler" DiskId="1" Guid="3BAACF13-4B0D-4ea8-997A-E80560807100">
         <File Id="File_Nemerle.Compiler.dll" Name="Nemerle.Compiler.dll"  Source="dist\bin\">
@@ -78,7 +80,7 @@
         <File Id="File_Nemerle.Evaluation.dll" Name="Nemerle.Evaluation.dll" Source="dist\bin\">
            <netfx:NativeImage Id="Image_Nemerle.Evaluation.dll" Dependencies="no" />
         </File>
-        <File Id="File_Nemerle.Evaluation.xml" Name="Nemerle.Evaluation.xml"  Source="dist\bin\"/>
+        <!--<File Id="File_Nemerle.Evaluation.xml" Name="Nemerle.Evaluation.xml"  Source="dist\bin\"/>-->
       </Component>      
 
       <Component Id="Comp_NemerleCompilerFrontEnd" DiskId="1" Guid="27D56AC6-EEFC-4d63-ADFC-0E9C50B30DC4">
@@ -96,7 +98,7 @@
         <File Id="File_nemish.exe" Name="nemish.exe" Source="dist\bin\" >
            <netfx:NativeImage Id="Image_nemish.exe" />
         </File>
-        <File Id="File_nemish.xml" Name="nemish.xml" Source="dist\bin\" />
+        <!--<File Id="File_nemish.xml" Name="nemish.xml" Source="dist\bin\" />-->
         <RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nemish.exe"
          Value="[#File_nemish.exe]" Type="string"/>
         <File Id="File_nemish.exe.config" Name="nemish.exe.config" Source="dist\bin\" />
@@ -118,12 +120,12 @@
            -->
            <!-- <netfx:NativeImage Id="Image_Nemerle.NAnt.Tasks.dll" Dependencies="no" /> -->
         </File>
-        <File Id="File_Nemerle.NAnt.Tasks.xml" Name="Nemerle.NAnt.Tasks.xml"       Source="dist\bin\" />
+        <!--<File Id="File_Nemerle.NAnt.Tasks.xml" Name="Nemerle.NAnt.Tasks.xml"       Source="dist\bin\" />-->
       </Component>
 
     </DirectoryRef>
 
-    <DirectoryRef Id="INSTALLDIR">
+    <!--<DirectoryRef Id="INSTALLDIR">
 
       <Component Id="Comp_NemerleCompilerGAC" DiskId="1" Guid="A4697AB3-4FA6-4e80-A675-375185D8D958">
         <File Id="Gac_Nemerle.Compiler.dll" Name="Nemerle.Compiler.dll" Source="dist\bin\" Assembly=".net" KeyPath="yes" />
@@ -135,7 +137,7 @@
         <File Id="Gac_Nemerle.Evaluation.dll" Name="Nemerle.Evaluation.dll" Source="dist\bin\" Assembly=".net" KeyPath="yes" />
       </Component>      
 
-    </DirectoryRef>
+    </DirectoryRef>-->
 
   </Fragment>
 </Wix>
\ No newline at end of file

Modified: nemerle/trunk/misc/packages/wix/src/NemerleRuntime.wxs
==============================================================================
--- nemerle/trunk/misc/packages/wix/src/NemerleRuntime.wxs	(original)
+++ nemerle/trunk/misc/packages/wix/src/NemerleRuntime.wxs	Tue Apr 10 05:17:34 2007
@@ -34,11 +34,15 @@
     <ComponentGroup Id="CompGroup_NemerleRuntime">
 
       <ComponentRef Id="Comp_Nemerle" />
-      <ComponentRef Id="Comp_NemerleGAC" />
+
+      <!-- All CAG rleated stuff were commented out till release. -->
+      <!-- Nemerle core runtime components (GAC folder). -->
+      <!--<ComponentRef Id="Comp_NemerleGAC" />-->
 
     </ComponentGroup>
 
-    <DirectoryRef Id="BINDIR">
+    <DirectoryRef Id="INSTALLDIR">
+    <!--<DirectoryRef Id="BINDIR">-->
       <Component Id="Comp_Nemerle" DiskId="1" Guid="23793E61-6BBE-444a-87D8-E86E54F7BFC3">
         <!-- Nemerle core runtime components (bin folder). -->
         <File Id="File_Nemerle.dll" Name="Nemerle.dll" Source="dist\bin\">
@@ -48,12 +52,11 @@
       </Component>
     </DirectoryRef>
 
-    <DirectoryRef Id="INSTALLDIR">
+    <!--<DirectoryRef Id="INSTALLDIR">
       <Component Id="Comp_NemerleGAC" DiskId="1" Guid="1FD9F582-5437-4223-AB0F-CE2946D3AFD1">
-        <!-- Nemerle core runtime components (GAC folder). -->
         <File Id="Gac_Nemerle.dll" Name="Nemerle.dll" Source="dist\bin\" Assembly=".net" KeyPath="yes" />
       </Component>
-    </DirectoryRef>
+    </DirectoryRef>-->
 
   </Fragment>
 </Wix>
\ No newline at end of file

Modified: nemerle/trunk/misc/packages/wix/src/Product.wxs
==============================================================================
--- nemerle/trunk/misc/packages/wix/src/Product.wxs	(original)
+++ nemerle/trunk/misc/packages/wix/src/Product.wxs	Tue Apr 10 05:17:34 2007
@@ -89,9 +89,9 @@
     <Directory Id="TARGETDIR" Name="SourceDir">
       <Directory Id="ProgramFilesFolder" Name="PFILES">
         <Directory Id="INSTALLDIR" Name="Nemerle">
-          <Directory Id="BINDIR" Name="bin" />
+          <!--<Directory Id="BINDIR" Name="bin" />-->
           <Directory Id="Dir_Docs" Name="docs" />
-          <Directory Id="VSINTEGRATIONDIR" Name="VSIntegration" />
+          <!--<Directory Id="VSINTEGRATIONDIR" Name="VSIntegration" />-->
         </Directory>
       </Directory>
       <Directory Id="DEVENV_DIR_2005" Name="VS2005">
@@ -103,14 +103,16 @@
     <!-- Root feature -->
     <Feature Id="Feature_Root" ConfigurableDirectory="INSTALLDIR" Display="expand" Absent="disallow" AllowAdvertise="yes" Title="Nemerle" Description="Complete installation." Level="1">
       <ComponentGroupRef Id="CompGroup_NemerleRuntime" />
-      <Feature Id="Feature_Compiler" ConfigurableDirectory="BINDIR" Title="Compiler and tools" Description="Nemerle Compiler (ncc.exe) and additional tools." Level="1">
+      <!--<Feature Id="Feature_Compiler" ConfigurableDirectory="BINDIR" Title="Compiler and tools" Description="Nemerle Compiler (ncc.exe) and additional tools." Level="1">-->
+      <Feature Id="Feature_Compiler" Title="Compiler and tools" Description="Nemerle Compiler (ncc.exe) and additional tools." Level="1">
         <ComponentGroupRef Id="CompGroup_NemerleBinaries" />
         <ComponentGroupRef Id="CompGroup_Nemerlish" />
       </Feature>
       <Feature Id="Feature_Docs" Title="Documentation" Description="HTML and PDF files." Level="1">
         <ComponentGroupRef Id="CompGroup_Documentation" />
       </Feature>
-      <Feature Id="Feature_VS" ConfigurableDirectory="VSINTEGRATIONDIR" Title="VS Integration" Description="Microsoft Visual Studio integration for Nemerle." Level="1">
+      <!--<Feature Id="Feature_VS" ConfigurableDirectory="VSINTEGRATIONDIR" Title="VS Integration" Description="Microsoft Visual Studio integration for Nemerle." Level="1">-->
+      <Feature Id="Feature_VS" Title="VS Integration" Description="Microsoft Visual Studio integration for Nemerle." Level="1">
         <ComponentGroupRef Id="CompGroup_vsplugin" />
       </Feature>
     </Feature>

Modified: nemerle/trunk/misc/packages/wix/src/Version.wxi
==============================================================================
--- nemerle/trunk/misc/packages/wix/src/Version.wxi	(original)
+++ nemerle/trunk/misc/packages/wix/src/Version.wxi	Tue Apr 10 05:17:34 2007
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='windows-1252'?>
+<?xml version='1.0' encoding='utf-8'?>
 <!--
 Copyright (c) 2003-2007 The University of Wroclaw.
 All rights reserved.
@@ -30,8 +30,8 @@
 <Include>
 
 <?define ProductShortName   = "Nemerle" ?>
-<?define ProductVersion     = "0.9.3.7550" ?>
-<?define ProductVersionText = "0.9.3 (MAR 2007 CTP)" ?>
+<?define ProductVersion     = "0.9.3.7579" ?>
+<?define ProductVersionText = "0.9.3 (APR 2007 CTP)" ?>
 <?define Manufacturer       = "Nemerle.org" ?>
 <?define ProductCode        = "A55CE804-9111-4F23-B499-E9DAD3D4DFAD" ?>
 <?define UpgradeCode        = "A87511AC-0F24-4144-8211-99183084A71A" ?>

Modified: nemerle/trunk/misc/packages/wix/src/vs-plugin.wxs
==============================================================================
--- nemerle/trunk/misc/packages/wix/src/vs-plugin.wxs	(original)
+++ nemerle/trunk/misc/packages/wix/src/vs-plugin.wxs	Tue Apr 10 05:17:34 2007
@@ -42,9 +42,12 @@
 
       <!-- Project templates (%DevStudio%\Common7\IDE\ProjectTemplates\Nemerle folder). -->
       <ComponentRef Id="Comp_ProjectTemplates" />
+      <!-- Item templates (%DevStudio%\Common7\IDE\ItemTemplates\Nemerle folder). -->
+      <ComponentRef Id="Comp_ItemTemplates" />
     </ComponentGroup>
     
-    <DirectoryRef Id="VSINTEGRATIONDIR">
+    <DirectoryRef Id="INSTALLDIR">
+    <!--<DirectoryRef Id="VSINTEGRATIONDIR">-->
       <Component Id="ComponentPath" DiskId="1" Guid="86C2D7DF-AA48-4f24-9EC0-FBC54B9D0395">
         <File Id="File_Nemerle.Compiler.Utils.dll" Name="Nemerle.Compiler.Utils.dll" Source="dist\vs-plugin\" >
            <netfx:NativeImage Id="Image_Nemerle.Compiler.Utils.dll" Dependencies="no" />
@@ -54,10 +57,13 @@
            <netfx:NativeImage Id="Image_Nemerle.VisualStudio.dll" Dependencies="no" />
         </File>
         <File Id="File_Nemerle.VisualStudio.xml" Name="Nemerle.VisualStudio.xml"     Source="dist\vs-plugin\" />
+        <File Id="File_Nemerle.VisualStudio.dll.config" Name="Nemerle.VisualStudio.dll.config"     Source="dist\vs-plugin\" />
+
         <!-- This file is generated by
 			RegPkg.exe" /root:Software\Microsoft\VisualStudio\8.0 "/wixfile:generated.wxi" /codebase "dist\vs-plugin\"
         -->
         <?include generated.wxi ?>
+
       </Component>
       <Directory Id="Dir_CodeSnippets" Name="CodeSnippets" FileSource="dist\vs-plugin\CodeSnippets">
         <Component Id="Comp_CodeSnippets" DiskId="1" Guid="DC07EA7C-A365-4b68-8FF8-E576F4AA515D">
@@ -65,11 +71,22 @@
 	    </Component>
         <Directory Id="Dir_Snippets" Name="Snippets" FileSource="dist\vs-plugin\CodeSnippets\Snippets">
           <Component Id="Comp_Snippets" DiskId="1" Guid="7DA646FC-A0E1-4ef5-A05C-6827DFEE0472">
-            <File Id="File_SnippetClass" Name="class.snippet" />
-            <File Id="File_SnippetCtor"  Name="ctor.snippet" />
-            <File Id="File_SnippetFor"   Name="for.snippet" />
-            <File Id="File_SnippetIf"    Name="if.snippet" />
-            <File Id="File_SnippetWhile" Name="while.snippet" />
+            <File Id="File_class.snippet"     Name="class.snippet" />
+            <File Id="File_ctor.snippet"      Name="ctor.snippet" />
+            <File Id="File_enum.snippet"      Name="enum.snippet" />
+            <File Id="File_for.snippet"       Name="for.snippet" />
+            <File Id="File_foreach.snippet"   Name="foreach.snippet" />
+            <File Id="File_if.snippet"        Name="if.snippet" />
+
+            <File Id="File_interface.snippet" Name="interface.snippet" />
+            <File Id="File_lock.snippet"      Name="lock.snippet" />
+            <File Id="File_match.snippet"     Name="match.snippet" />
+            <File Id="File_namespace.snippet" Name="namespace.snippet" />
+            <File Id="File_struct.snippet"    Name="struct.snippet" />
+            <File Id="File_unless.snippet"    Name="unless.snippet" />
+            <File Id="File_using.snippet"     Name="using.snippet" />
+            <File Id="File_when.snippet"      Name="when.snippet" />
+            <File Id="File_while.snippet"     Name="while.snippet" />
           </Component>
           </Directory>
         </Directory>
@@ -86,5 +103,16 @@
       </Directory>
     </DirectoryRef>
 
+    <DirectoryRef Id="Dir_ItemTemplatesRoot">
+      <Directory Id="Dir_ItemTemplates" Name="Nemerle" FileSource="dist\vs-plugin\ItemTemplates">
+        <Component Id="Comp_ItemTemplates" DiskId="1" Guid="F3762AF1-8B79-435a-942D-395FA3D49CC5">
+          <File Id="File_Class.zip" Name="Class.zip" />
+          <File Id="File_Form.zip" Name="Form.zip" />
+          <File Id="ResX.zip" Name="ResX.zip" />
+          <File Id="Text.zip" Name="Text.zip" />
+        </Component>
+      </Directory>
+    </DirectoryRef>
+
   </Fragment>
 </Wix>
\ No newline at end of file

Added: nemerle/trunk/tools/msbuild-task/MSBuildTask.build
==============================================================================
--- (empty file)
+++ nemerle/trunk/tools/msbuild-task/MSBuildTask.build	Tue Apr 10 05:17:34 2007
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<project name="MSBuildTask" default="build" xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd">
+  <description>
+    Copyright (c) 2003-2007 The University of Wroclaw.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+       1. Redistributions of source code must retain the above copyright
+          notice, this list of conditions and the following disclaimer.
+       2. Redistributions in binary form must reproduce the above copyright
+          notice, this list of conditions and the following disclaimer in the
+          documentation and/or other materials provided with the distribution.
+       3. The name of the University may not be used to endorse or promote
+          products derived from this software without specific prior
+          written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY ``AS IS'' AND ANY EXPRESS OR
+    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
+    NO EVENT SHALL THE UNIVERSITY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    
+    You must not remove this notice, or any other, from this software.
+
+  </description>
+
+  <include buildfile="../../Nemerle.include" unless="${property::exists('dir.top')}" />
+
+  <target name="build">
+    <mkdir dir="${dir.out}" />
+    <ncc
+     output  ="${dir.out}/Nemerle.MSBuild.Tasks.dll" target="library"
+     define  ="${ncc.defines}"
+     debug   ="${ncc.debug}"
+     keyfile ="${ncc.keyfile}"
+     >
+      <sources>
+        <include name="MSBuildTask.n" />
+      </sources>
+      <references>
+        <include name="${assembly::get-location(assembly::load('Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'))}" />
+      </references>
+    </ncc>
+  </target>
+
+</project>

Modified: nemerle/trunk/tools/msbuild-task/MSBuildTask.n
==============================================================================
--- nemerle/trunk/tools/msbuild-task/MSBuildTask.n	(original)
+++ nemerle/trunk/tools/msbuild-task/MSBuildTask.n	Tue Apr 10 05:17:34 2007
@@ -36,6 +36,7 @@
 using Microsoft.Build.Framework;
 using Microsoft.Build.Tasks;
 using Microsoft.Build.Utilities;
+using Microsoft.Win32;
 
 using Nemerle.Utility;
 
@@ -59,10 +60,44 @@
       get { "ncc.exe"; }
     }
     
-    protected override GenerateFullPathToTool () : string {
+    private static FindExecutable(toolName : string) : string
+    {
       def my_file = Uri(typeof(Ncc).Assembly.CodeBase).LocalPath;
-      def ncc_file = Path.Combine (Path.GetDirectoryName(my_file), ToolName);
-      ncc_file
+      def ncc_file = Path.Combine (Path.GetDirectoryName(my_file), toolName);
+
+      if (File.Exists(ncc_file))
+      {
+        // The tool found in the same folder.
+        //
+        ncc_file;
+      }
+      else
+      {
+        // Query the shell association.
+        //
+
+        def regKey = Registry.LocalMachine.OpenSubKey(
+            $@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\$toolName");
+
+        if (regKey != null)
+        {
+           // The tool is registered with the Shell API.
+           //
+           regKey.GetValue(null) :> string;
+        }
+        else
+        {
+          // Return the tool name itself.
+          // The environment will search common paths for the tool.
+          //
+          toolName;
+        }
+      }
+    }
+    
+    protected override GenerateFullPathToTool () : string
+    {
+      FindExecutable(ToolName);
     } 
   
     protected override AddResponseFileCommands(commandLine : CommandLineBuilderExtension) : void
@@ -165,5 +200,6 @@
  
     [Accessor (flags = WantSetter)]
     mutable _indentation_syntax : bool = false;
+
   }
 }

Modified: nemerle/trunk/tools/nant-task/NantTask.n
==============================================================================
--- nemerle/trunk/tools/nant-task/NantTask.n	(original)
+++ nemerle/trunk/tools/nant-task/NantTask.n	Tue Apr 10 05:17:34 2007
@@ -2,6 +2,8 @@
 using System.IO;
 using System.Text.RegularExpressions;
 
+using Microsoft.Win32;
+
 using NAnt.Core.Attributes;
 using NAnt.Core.Types;
 using NAnt.DotNet.Tasks;
@@ -23,6 +25,54 @@
 			SupportsKeyFile = true;
 		}
 
+		private static FindExecutable(toolName : string) : string
+		{
+			def my_file = Uri(typeof(NccTask).Assembly.CodeBase).LocalPath;
+			def ncc_file = Path.Combine (Path.GetDirectoryName(my_file), toolName);
+
+			if (File.Exists(ncc_file))
+			{
+				// The tool found in the same folder.
+				//
+				ncc_file;
+			}
+			else
+			{
+				// Query the shell association.
+				//
+
+				def regKey = Registry.LocalMachine.OpenSubKey(
+					$@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\$toolName.exe");
+
+				if (regKey != null)
+				{
+					// The tool is registered with the Shell API.
+					//
+					regKey.GetValue(null) :> string;
+				}
+				else
+				{
+					// Return the tool name itself.
+					// The environment will search common paths for the tool.
+					//
+					toolName;
+				}
+			}
+		}
+
+		public override ExeName : string
+		{
+			get
+			{
+				when (base.ExeName == Name)
+					base.ExeName = FindExecutable(Name);
+
+				base.ExeName;
+			}
+
+			set { base.ExeName = value; }
+		}
+
 		protected override ClassNameRegex : Regex
 		{
 			get

Modified: nemerle/trunk/tools/nemerlish/nemerlish.build
==============================================================================
--- nemerle/trunk/tools/nemerlish/nemerlish.build	(original)
+++ nemerle/trunk/tools/nemerlish/nemerlish.build	Tue Apr 10 05:17:34 2007
@@ -9,7 +9,13 @@
 
     <target name="build.eval">
 	    <mkdir dir="${dir.out}" />
-        <ncc output="${dir.out}/Nemerle.Evaluation.dll" target="library">
+        
+      <ncc
+       output  ="${dir.out}/Nemerle.Evaluation.dll" target="library"
+       define  ="${ncc.defines}"
+       debug   ="${ncc.debug}"
+       keyfile ="${ncc.keyfile}"
+      >
 			<references basedir="${dir.boot}">
                 <include name="Nemerle.Compiler.dll" />
 			</references>
@@ -21,7 +27,12 @@
 
     <target name="build.nemish" depends="build.eval">
 	    <mkdir dir="${dir.out}" />
-        <ncc output="${dir.out}/nemish.exe" target="exe">
+      <ncc
+       output  ="${dir.out}/nemish.exe" target="exe"
+       define  ="${ncc.defines}"
+       debug   ="${ncc.debug}"
+       keyfile ="${ncc.keyfile}"
+      >
 			<references basedir="${dir.boot}">
 				<lib>
 	    	        <include name="${dir.out}" />



More information about the svn mailing list