11 changed files with 5170 additions and 0 deletions
@ -0,0 +1,209 @@ |
|||
$Id: DevelopersGuide.txt 279 2006-12-11 22:43:40Z iko $ |
|||
|
|||
Developer's Guide for http://msbuildtasks.tigris.org/ |
|||
===================================================== |
|||
|
|||
Build Environment Prerequisites |
|||
------------------------------ |
|||
|
|||
- .NET2.0 |
|||
|
|||
- MSBuild; typically already installed as part of .NET2.0, |
|||
for example in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe |
|||
|
|||
- NUnit 2.2.X (http://www.nunit.org/); |
|||
necessary to run the tests |
|||
|
|||
- Microsoft Visual SourceSafe(R) 2005; |
|||
the library Microsoft.VisualStudio.SourceSafe.Interop gets referenced |
|||
|
|||
- NDoc 1.3 (http://ndoc.sourceforge.net/) |
|||
additionally configure NDoc to use .NET2; see |
|||
http://ndoc.sourceforge.net/wiki/dotNet_2.0_Support |
|||
|
|||
- Microsoft Visual Studio 2005 as IDE |
|||
|
|||
Optional Services |
|||
----------------- |
|||
|
|||
- Subversion client (http://subversion.tigris.org/); |
|||
typically in C:\Program Files\Subversion |
|||
|
|||
- IIS |
|||
|
|||
- Email |
|||
|
|||
- ILMerge (http://research.microsoft.com/~mbarnett/ILMerge.aspx) |
|||
|
|||
- FxCop (http://www.gotdotnet.com/Team/FxCop/) |
|||
|
|||
|
|||
Before writing your own task |
|||
---------------------------- |
|||
|
|||
1. Checkout/Update the svn repository |
|||
http://msbuildtasks.tigris.org/svn/msbuildtasks/trunk |
|||
with your tigris user/password |
|||
to a local working copy <msbuildtasks> of your choice. |
|||
|
|||
2. Check that you can build the project on the command line: |
|||
** Important ** You must run the build from the command line before attempting to |
|||
open the Visual Studio solution file, in order to create some required files. |
|||
|
|||
- Add the directory of MSBuild.exe to your PATH environment variable, e.g. |
|||
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727. |
|||
|
|||
- Open cmd.exe in the top directory of the local working copy |
|||
where MSBuildTasks.proj is located. |
|||
|
|||
- Run "msbuild MSBuildTasks.proj"; |
|||
the default target "build" is executed |
|||
and should yield "Build succeeded". |
|||
|
|||
- Run "msbuild MSBuildTasks.proj /p:devel=true /p:nunitpath=c:\tools\nunit\bin /t:test" to run the NUnit test suite; |
|||
"Build succeeded." indicates that the tests have been executed successfully. |
|||
/p:devel=true is necessary when you want to work with |
|||
the assemblies of your own build, for example because |
|||
you did not run the installer of MSBuildCommunityTasks yet. |
|||
/p:nunitpath must point to the bin folder of your local installation of NUnit 2.2.x |
|||
|
|||
- Open <msbuildtasks>\Debug\test\TestReport.html |
|||
and check the test results. |
|||
Tests must be either successful |
|||
or ignored because an optional service |
|||
such as FTP server or Email server is missing |
|||
on your machine. |
|||
|
|||
3. Check that you can build the project in VS2005: |
|||
|
|||
- Open <msbuildtasks>\Source\MSBuild.Community.Tasks.sln. |
|||
|
|||
- Set MSBuild.Community.Tasks.Tests as startup project. |
|||
|
|||
- Open the properties of MSBuild.Community.Tasks.Tests; |
|||
in Debug/Start Action, set the external program to NUnit, |
|||
e.g. "C:\Program Files\NUnit 2.2.5\bin\nunit-gui.exe"; |
|||
in Debug/Start Options, set command line arguments to |
|||
"MSBuild.Community.Tasks.Tests.dll". |
|||
|
|||
- If you work with another version of NUnit, |
|||
it may be necessary to the NUnit library |
|||
from your NUnit's installation folder to |
|||
<msbuildtasks>\Libaries\NUnit\<version>\nunit.framework.dll |
|||
and to re-import it to the test project. |
|||
|
|||
- Run the project in debugging mode (F5); |
|||
NUnit starts up with the test suite; |
|||
Tests can be executed in interaction |
|||
with the debugger (breakpoints etc.) |
|||
|
|||
|
|||
Writing your own task |
|||
---------------------- |
|||
|
|||
1. Add a folder |
|||
<msbuildtasks>\Source\MSBuild.Community.Task\<MyTask> |
|||
and place <MyTask>.cs and related files in there; |
|||
always add a folder, even if you want to add just one file. |
|||
|
|||
2. Add third party libraries that you are allowed to redistribute to |
|||
<msbuildtasks>\Libraries\<ThirdParyTool>\<ReleaseNumber>\ |
|||
(e.g. <msbuildtasks>\Libraries\NUnit\2.2.5\nunit.framework.dll). |
|||
|
|||
3. For third party libraries that you are not allowed to redistribute, |
|||
add an entry in the prerequisits section of this document |
|||
together with information where to get it. |
|||
|
|||
4. Implement your task |
|||
|
|||
- Insert the character sequence '$', 'Id', '$' |
|||
(not concatenated here to avoid expansion by svn in this text itself) |
|||
somewhere in the fileheader comment. |
|||
|
|||
- When adding source files to the repository, set the metadata "svn:keywords" to "Id". |
|||
|
|||
From the command line: svn ps svn:keywords "Id" myNewTask.cs |
|||
|
|||
With TortoiseSVN: Right-click the myNewTask.cs in Explorer, choose Properties, change |
|||
to Subversion tab, choose svn-keywords from dropdown in Properties section, |
|||
enter "Id" in the text box, and press the Set button. |
|||
|
|||
- Avoid Console.WriteLine, use Log.LogMessage instead. |
|||
|
|||
- For log messages in your task, |
|||
use resource strings instead of hard coded strings, |
|||
e.g. "Log.LogError(Properties.Resources.XsltNoInputFiles);". |
|||
|
|||
- Recommended Tab width is 4. |
|||
|
|||
5. For your NUnit tests, add a folder |
|||
<msbuildtasks>\Source\MSBuild.Community.Task.Test\<MyTask> |
|||
and place <MyTask>Test.cs, <MyTask>Test.proj and related files in there; |
|||
always add a folder, even if you want to add just one file. |
|||
|
|||
6. Implement NUnit tests for your task in <MyTask>Test.cs; |
|||
this is important to have something for debugging. |
|||
|
|||
- Provide a description to every test, e.g. |
|||
[Test(Description = "Test the weather forecast task in rainy season")]. |
|||
|
|||
- From within your NUnit test, |
|||
check for the availability of an optional service |
|||
that your task depends on (such as FTP, IIS, Email); |
|||
when not available, it's good style to |
|||
Assert.Ignore("<MyTask> test needs <FancyService> to be executed") |
|||
instead of having the test just fail. |
|||
|
|||
- Also for optional services that a test depends on, |
|||
it's good style to have server access data |
|||
such as URLs, logins and paths |
|||
located in a config file |
|||
rather than hard coded in the test code. |
|||
|
|||
7. Add an entry to |
|||
<msbuildtasks>\Source\MSBuild.Community.Tasks\MSBuild.Community.Tasks.Targets |
|||
|
|||
8. Implement <MyTask>Test.proj |
|||
and add an entry in MSBuildTasks.proj so that it gets executed |
|||
as part of the "test-proj" target there; |
|||
this is important to test and demonstrate your task in action. |
|||
|
|||
- It's good style to have tests work only below |
|||
<msbuildtasks>\Build\<Configuration>\test\<TestSuite>\ |
|||
and to avoid having them creating any folders or files |
|||
in the source tree below |
|||
<msbuildtasks>\Source\ |
|||
|
|||
- If your test depend on an optional service or tool, |
|||
it's good style to have the test skipped by default |
|||
and to provide an extra switch like "/p:withILMerge=true" |
|||
to execute the test. |
|||
|
|||
9. Test your task |
|||
|
|||
- Run NUnit test interactively. |
|||
|
|||
- Run NUnit test on the command line. |
|||
|
|||
- Run "msbuild MSBuildTasks.proj /p:devel=true /p:nunitpath=c:\tools\nunit\bin /t:test", |
|||
which should include calling <MyTask>Test.proj |
|||
|
|||
10. Document your task |
|||
|
|||
- Provide all xml code comments for your task |
|||
(no need to do so for private members and for NUnit test code). |
|||
|
|||
- Provide an <example> section in the xml code comment |
|||
of your task class. |
|||
|
|||
- Make an entry for your task in |
|||
<msbuildtasks>\Documentation\Overview.html |
|||
|
|||
11. Before commiting your task, |
|||
- run "msbuild MSBuildTasks.proj /p:configuration=Release", |
|||
which treats warnings as errors. |
|||
|
|||
- run "msbuild Master.proj" to validate the nightly build |
|||
still works. You can also verify the documentation for your task |
|||
was included correctly in Documentation\MSBuild.Community.Tasks.chm |
|||
|
|||
Binary file not shown.
@ -0,0 +1,104 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<!-- $Id: MSBuild.Community.Tasks.Targets 303 2007-02-23 15:49:46Z pwelter34 $ --> |
|||
|
|||
<PropertyGroup> |
|||
<MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath> |
|||
<MSBuildCommunityTasksLib>$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll</MSBuildCommunityTasksLib> |
|||
</PropertyGroup> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AspNet.InstallAspNet" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AssemblyInfo" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Attrib" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlExecute" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FileUpdate" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FtpUpload" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FxCop" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.GacUtil" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.GetSolutionProjects" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ILMerge" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Mail" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Move" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Add" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Divide" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Modulo" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Multiple" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Subtract" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NDoc" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NUnit" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Prompt" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegistryRead" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegistryWrite" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexMatch" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexReplace" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Script" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ServiceController" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ServiceQuery" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sleep" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolController" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolCreate" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolDelete" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryCreate" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryDelete" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectorySetting" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Install.InstallAssembly" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Install.UninstallAssembly" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Schema.TaskSchema" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlServer.ExecuteDDL" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssAdd" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssCheckin" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssCheckout" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssClean" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssDiff" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssGet" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssHistory" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssLabel" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssUndoCheckout" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCheckout" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnClient" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCopy" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCommit" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnExport" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnInfo" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnUpdate" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnVersion" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Tfs.TfsVersion" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.TemplateFile" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Time" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Unzip" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Version" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.WebDownload" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xml.XmlMassUpdate" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xml.XmlQuery" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.XmlRead" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.XmlUpdate" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xslt" /> |
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Zip" /> |
|||
|
|||
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.JavaScript.JSCompress" /> |
|||
|
|||
<ItemGroup> |
|||
<FxCopRuleAssemblies Include="UsageRules.dll"/> |
|||
<FxCopRuleAssemblies Include="SecurityRules.dll"/> |
|||
<FxCopRuleAssemblies Include="PortabilityRules.dll"/> |
|||
<FxCopRuleAssemblies Include="PerformanceRules.dll"/> |
|||
<FxCopRuleAssemblies Include="MobilityRules.dll"/> |
|||
<FxCopRuleAssemblies Include="InteroperabilityRules.dll"/> |
|||
<FxCopRuleAssemblies Include="GlobalizationRules.dll"/> |
|||
<FxCopRuleAssemblies Include="DesignRules.dll"/> |
|||
</ItemGroup> |
|||
</Project> |
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
@ -0,0 +1,504 @@ |
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|||
<html xmlns="http://www.w3.org/1999/xhtml"> |
|||
<head> |
|||
<meta http-equiv="Content-Language" content="en-us" /> |
|||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" /> |
|||
<title>MSBuild Community Tasks Project</title> |
|||
<style type="text/css"> |
|||
body, input, select { |
|||
font-family: Verdana, Helvetica, Arial, sans-serif; |
|||
} |
|||
|
|||
code, pre { |
|||
font-family: 'Andale Mono', Courier, monospace; |
|||
} |
|||
|
|||
body, pre, code { |
|||
font-size: 10pt; |
|||
} |
|||
</style> |
|||
</head> |
|||
<body> |
|||
<h2> |
|||
The MSBuild Community Tasks Project</h2> |
|||
<h3> |
|||
Mission</h3> |
|||
<p> |
|||
The MSBuild Community Tasks Project is an open source project for MSBuild tasks. |
|||
The goal of the project is to provide a collection of open source tasks for MSBuild. |
|||
</p> |
|||
<h3> |
|||
Join Project</h3> |
|||
<p> |
|||
Please join the MSBuild Community Tasks Project and help contribute in building |
|||
the tasks. |
|||
</p> |
|||
<p> |
|||
<a href="http://msbuildtasks.tigris.org/">http://msbuildtasks.tigris.org/</a></p> |
|||
<h3> |
|||
Current Community Tasks</h3> |
|||
<table border="0" cellpadding="3" cellspacing="0" width="90%" id="tasksTable"> |
|||
<tr> |
|||
<th align="left" width="190"> |
|||
Task</th> |
|||
<th align="left"> |
|||
Description</th> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
AppPoolController</td> |
|||
<td> |
|||
Allows control for an application pool on a local or remote machine with IIS installed.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
AppPoolCreate</td> |
|||
<td> |
|||
Creates a new application pool on a local or remote machine.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
AppPoolDelete</td> |
|||
<td> |
|||
Deletes an existing application pool on a local or remote machine.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
AssemblyInfo</td> |
|||
<td> |
|||
Generates an AssemblyInfo file using the attributes given.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Attrib</td> |
|||
<td> |
|||
Changes the attributes of files and/or directories</td> |
|||
</tr> |
|||
<tr> |
|||
<td>ExecuteDDL</td> |
|||
<td>Executes SqlServer batch scripts.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
FileUpdate</td> |
|||
<td> |
|||
Replace text in file(s) using a Regular Expression.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
FtpUpload</td> |
|||
<td> |
|||
Uploads a file using File Transfer Protocol (FTP).</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
FxCop</td> |
|||
<td> |
|||
Uses FxCop to analyze managed code assemblies and reports on their design best-practice |
|||
compliance.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
GetSolutionProjects</td> |
|||
<td> |
|||
Returns a list of projects within a solution</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
InstallAspNet</td> |
|||
<td> |
|||
Installs and register script mappings for ASP.NET</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
InstallAssembly</td> |
|||
<td> |
|||
Uses InstallUtil.exe to execute the Install method on Installer classes within assemblies.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
JSCompress</td> |
|||
<td> |
|||
Compresses JavaScript source files by removing comments and unnecessary whitespace, |
|||
which typically reduces the size by half and results in faster downloads |
|||
and code that is harder to read.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Mail</td> |
|||
<td> |
|||
Sends an email message.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Math.Add</td> |
|||
<td> |
|||
Add numbers.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Math.Divide</td> |
|||
<td> |
|||
Divide numbers.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Math.Modulo</td> |
|||
<td> |
|||
Performs the modulo operation on numbers.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Math.Multiple</td> |
|||
<td> |
|||
Multiple numbers.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Math.Subtract</td> |
|||
<td> |
|||
Subtract numbers.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Move</td> |
|||
<td> |
|||
Moves files on the filesystem to a new location.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
NDoc</td> |
|||
<td> |
|||
Runs NDoc to create documentation.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
NUnit</td> |
|||
<td> |
|||
Runs tests using the NUnit.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Prompt</td> |
|||
<td> |
|||
Displays a message on the console and waits for user input.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
RegexMatch</td> |
|||
<td> |
|||
Filters an item group with a regular expression</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
RegexReplace</td> |
|||
<td> |
|||
Replaces strings within items from an item group with a regular expression</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
RegistryRead</td> |
|||
<td> |
|||
Reads a value from the Registry.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
RegistryWrite</td> |
|||
<td> |
|||
Writes a value to the Registry.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Script</td> |
|||
<td> |
|||
Executes code contained within the task.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
ServiceController</td> |
|||
<td> |
|||
Task that can control a Windows service.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
ServiceQuery</td> |
|||
<td> |
|||
Task that can determine the status of a service.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Sleep</td> |
|||
<td> |
|||
A task for sleeping for a specified period of time.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SqlExecute</td> |
|||
<td> |
|||
Executes a SQL command</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnCheckout</td> |
|||
<td> |
|||
Checkout files from Subversion</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnClient</td> |
|||
<td> |
|||
Subversion Client</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnCommit</td> |
|||
<td> |
|||
Commit files to Subversion</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnCopy</td> |
|||
<td> |
|||
Copies a file or path within Subversion</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnExport</td> |
|||
<td> |
|||
Export files from Subversion</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnInfo</td> |
|||
<td> |
|||
Get Subversion information for a file or directory.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnUpdate</td> |
|||
<td> |
|||
Update files from Subversion</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
SvnVersion</td> |
|||
<td> |
|||
Get Subversion revision number of a local copy</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
TaskSchema</td> |
|||
<td> |
|||
Generates a XSD schema of the MSBuild tasks in an assembly.</td> |
|||
</tr> |
|||
<tr> |
|||
<td>TemplateFile</td> |
|||
<td>Replaces tokens in a file.</td> |
|||
</tr> |
|||
|
|||
<tr> |
|||
<td> |
|||
TfsVersion</td> |
|||
<td> |
|||
Determines the changeset in a local Team Foundation Server workspace (In progress)</td> |
|||
</tr> |
|||
|
|||
<tr> |
|||
<td> |
|||
Time</td> |
|||
<td> |
|||
Gets the current date and time.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
UninstallAssembly</td> |
|||
<td> |
|||
Uses InstallUtil.exe to execute the Uninstall method on Installer classes within assemblies.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Unzip</td> |
|||
<td> |
|||
Unzip a file to a target directory.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Version</td> |
|||
<td> |
|||
Generates version information based on various algorithms</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssAdd</td> |
|||
<td> |
|||
Adds files to a Visual SourceSafe database.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssCheckin</td> |
|||
<td> |
|||
Checks in files to a Visual SourceSafe database.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssCheckout</td> |
|||
<td> |
|||
Checks out files from a Visual SourceSafe database.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssClean</td> |
|||
<td> |
|||
Removes Visual SourceSafe binding information and status files from a Visual Studio |
|||
solution tree.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssDiff</td> |
|||
<td> |
|||
Generates a diff between two versions of an item in a Visual SourceSafe database.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssGet</td> |
|||
<td> |
|||
Gets the latest version of a file or project from a Visual SourceSafe database.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssHistory</td> |
|||
<td> |
|||
Generates an XML file containing the history of an item in a Visual SourceSafe database |
|||
between two dates or labels.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssLabel</td> |
|||
<td> |
|||
Labels an item in a Visual SourceSafe database.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
VssUndoCheckout</td> |
|||
<td> |
|||
Cancels a checkout of an item from a Visual SourceSafe database.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
WebDirectoryCreate</td> |
|||
<td> |
|||
Creates a new web directory on a local or remote machine.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
WebDirectoryDelete</td> |
|||
<td> |
|||
Deletes a web directory on a local or remote machine</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
WebDirectoryScriptMap</td> |
|||
<td> |
|||
Sets an application mapping for a filename extension on an existing web directory.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
WebDirectorySetting</td> |
|||
<td> |
|||
Reads or modifies a configuration setting on an existing web directory</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
WebDownload</td> |
|||
<td> |
|||
Downloads a resource with the specified URI to a local file.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Xml.XmlMassUpdate</td> |
|||
<td> |
|||
Performs multiple updates on an XML file</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Xml.XmlQuery</td> |
|||
<td> |
|||
Reads a value or values from lines of XML</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
XmlRead</td> |
|||
<td> |
|||
Reads a value from a XML document using a XPath.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
XmlWrite</td> |
|||
<td> |
|||
Updates a XML document using a XPath.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Xslt</td> |
|||
<td> |
|||
Merge and transform a set of xml files.</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Zip</td> |
|||
<td> |
|||
Create a zip file with the files specified. |
|||
</td> |
|||
</tr> |
|||
</table> |
|||
<h3> |
|||
Getting Started</h3> |
|||
<p> |
|||
In order to use the tasks in this project, you need to import the MSBuild.Community.Tasks.Targets |
|||
files. If you installed the project with the msi installer, you can use the |
|||
following.<br /> |
|||
<span style="font-size: 10pt; color: blue; font-family: 'Courier New'"></span></p> |
|||
<p> |
|||
<span style="font-size: 10pt; color: blue; font-family: 'Courier New'"><</span><span |
|||
style="font-size: 10pt; color: maroon; font-family: 'Courier New'">Import</span><span |
|||
style="font-size: 10pt; color: blue; font-family: 'Courier New'"> </span> |
|||
<span style="font-size: 10pt; color: red; font-family: 'Courier New'">Project</span><span |
|||
style="font-size: 10pt; color: blue; font-family: 'Courier New'">=</span><span style="font-size: 10pt; |
|||
font-family: 'Courier New'">"<span style="color: blue">$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets</span>"<span |
|||
style="color: blue">/></span></span></p><h3> |
|||
Related resources</h3> |
|||
<ul> |
|||
<li>MSBuild Community Tasks - <a href="http://msbuildtasks.tigris.org/">http://msbuildtasks.tigris.org/</a></li> |
|||
<li>MSBuild Tasks - <a href="http://msbuildtasks.com/default.aspx">http://msbuildtasks.com/default.aspx</a></li> |
|||
<li>MSBuild Team Blog - <a href="http://blogs.msdn.com/msbuild/default.aspx">http://blogs.msdn.com/msbuild/default.aspx</a></li> |
|||
<li>MSBuild Reference - <a href="http://msdn2.microsoft.com/en-us/library/0k6kkbsd.aspx"> |
|||
http://msdn2.microsoft.com/en-us/library/0k6kkbsd.aspx</a></li> |
|||
</ul> |
|||
<h3> |
|||
License</h3> |
|||
<pre>Copyright © 2005-2007 Paul Welter. 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 author may not be used to endorse or promote products |
|||
derived from this software without specific prior written permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 AUTHOR 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.</pre> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,18 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
|||
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> |
|||
<id>MathNet.Numerics</id> |
|||
<version>2011.2.18.1097</version> |
|||
<title>Math.NET Numerics</title> |
|||
<description>Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use.</description> |
|||
<authors>Marcus Cuda, Christoph Ruegg, Jurgen Van Gael</authors> |
|||
<owners>Christoph Ruegg</owners> |
|||
<projectUrl>http://numerics.mathdotnet.com/</projectUrl> |
|||
<licenseUrl>http://mathnetnumerics.codeplex.com/license</licenseUrl> |
|||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|||
<tags>Math Mathematics Numerics</tags> |
|||
<dependencies> |
|||
<dependency id="zlib.net" version="1.0" /> |
|||
</dependencies> |
|||
</metadata> |
|||
</package> |
|||
@ -0,0 +1,42 @@ |
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="BuildPackages" ToolsVersion="4.0"> |
|||
<UsingTask AssemblyFile="$(MSBuildProjectDirectory)/../MSBuild.Community.Tasks.v1.2.0.306/MSBuild.Community.Tasks.dll" TaskName="MSBuild.Community.Tasks.XmlUpdate" /> |
|||
<UsingTask AssemblyFile="$(MSBuildProjectDirectory)/../MSBuild.ExtensionPack.4.0.2.0/MSBuild.ExtensionPack.dll" TaskName="MSBuild.ExtensionPack.FileSystem.RoboCopy" /> |
|||
|
|||
<PropertyGroup> |
|||
<OutLib>$(MSBuildProjectDirectory)/../../out/lib</OutLib> |
|||
<OutNuGetPackages>$(MSBuildProjectDirectory)/../../out/packages/NuGet</OutNuGetPackages> |
|||
<NumericsPack>$(MSBuildProjectDirectory)/Numerics</NumericsPack> |
|||
<NuGetExe>$(MSBuildProjectDirectory)/../../tools/NuGet-1.2/NuGet.exe</NuGetExe> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<NumericsNet40 Include=" |
|||
$(OutLib)/Net40/MathNet.Numerics.dll;$(OutLib)/Net40/MathNet.Numerics.pdb;$(OutLib)/Net40/MathNet.Numerics.xml" /> |
|||
<NumericsSL4 Include=" |
|||
$(OutLib)/SL4/MathNet.Numerics.dll;$(OutLib)/SL4/MathNet.Numerics.pdb;$(OutLib)/SL4/MathNet.Numerics.xml;" /> |
|||
</ItemGroup> |
|||
|
|||
<Target Name="CopyContentFiles"> |
|||
<RemoveDir Directories="$(NumericsPack)/lib" /> |
|||
<Copy SourceFiles="@(NumericsNet40)" DestinationFolder="$(NumericsPack)/lib/Net40" /> |
|||
<Copy SourceFiles="@(NumericsSL4)" DestinationFolder="$(NumericsPack)/lib/SL4" /> |
|||
<!-- <RoboCopy Source="$(MSBuildProjectDirectory)/../../out/lib/" Destination="$(MSBuildProjectDirectory)/Numerics/lib" Files="*.*" Options="/MIR" /> --> |
|||
</Target> |
|||
|
|||
<Target Name="UpdateNuspec" DependsOnTargets="CopyContentFiles"> |
|||
<GetAssemblyIdentity AssemblyFiles="$(NumericsPack)/lib/Net40/MathNet.Numerics.dll"> |
|||
<Output TaskParameter="Assemblies" ItemName="MathNetNumericsAssemblyInfo"/> |
|||
</GetAssemblyIdentity> |
|||
<XmlUpdate |
|||
Prefix="n" |
|||
Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" |
|||
XmlFileName="$(NumericsPack)/MathNet.Numerics.nuspec" |
|||
XPath="//package/n:metadata/n:version" |
|||
Value="%(MathNetNumericsAssemblyInfo.Version)"/> |
|||
</Target> |
|||
|
|||
<Target Name="BuildPackages" DependsOnTargets="UpdateNuspec"> |
|||
<Exec Command="$(NuGetExe) pack $(NumericsPack)/MathNet.Numerics.nuspec /v /o $(OutNuGetPackages)" /> |
|||
</Target> |
|||
|
|||
</Project> |
|||
Binary file not shown.
Loading…
Reference in new issue