17 changed files with 210 additions and 23 deletions
			
			
		@ -0,0 +1,46 @@
				@@ -0,0 +1,46 @@
					 | 
				
			||||
// SharpDevelop samples
 | 
				
			||||
// Copyright (c) 2006, AlphaSierraPapa
 | 
				
			||||
// All rights reserved.
 | 
				
			||||
//
 | 
				
			||||
// Redistribution and use in source and binary forms, with or without modification, are
 | 
				
			||||
// permitted provided that the following conditions are met:
 | 
				
			||||
//
 | 
				
			||||
// - Redistributions of source code must retain the above copyright notice, this list
 | 
				
			||||
//   of conditions and the following disclaimer.
 | 
				
			||||
//
 | 
				
			||||
// - 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.
 | 
				
			||||
//
 | 
				
			||||
// - Neither the name of the SharpDevelop team nor the names of its contributors may be used to
 | 
				
			||||
//   endorse or promote products derived from this software without specific prior written
 | 
				
			||||
//   permission.
 | 
				
			||||
//
 | 
				
			||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &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 COPYRIGHT OWNER OR
 | 
				
			||||
// CONTRIBUTORS 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.
 | 
				
			||||
 | 
				
			||||
using System; | 
				
			||||
 | 
				
			||||
namespace Mono.Build.Tasks | 
				
			||||
{ | 
				
			||||
	/// <summary>
 | 
				
			||||
	/// MSBuild task for Mono's DMCS.
 | 
				
			||||
	/// </summary>
 | 
				
			||||
	public class Dmcs : MonoCSharpCompilerTask | 
				
			||||
	{ | 
				
			||||
		protected override string ToolName { | 
				
			||||
			get { return "Dmcs.exe"; } | 
				
			||||
		} | 
				
			||||
		 | 
				
			||||
		protected override string GenerateFullPathToTool() | 
				
			||||
		{ | 
				
			||||
			return MonoToolLocationHelper.GetPathToTool(ToolName); | 
				
			||||
		} | 
				
			||||
	} | 
				
			||||
} | 
				
			||||
@ -0,0 +1,113 @@
				@@ -0,0 +1,113 @@
					 | 
				
			||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> | 
				
			||||
 | 
				
			||||
 	<UsingTask TaskName="Mono.Build.Tasks.Dmcs" | 
				
			||||
	           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||
 	<UsingTask TaskName="Mono.Build.Tasks.GetMonoFrameworkPath" | 
				
			||||
	           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||
 	<UsingTask TaskName="Mono.Build.Tasks.GetMonoFrameworkSdkPath" | 
				
			||||
	           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||
 	<UsingTask TaskName="Mono.Build.Tasks.AddMonoAssemblySearchPaths" | 
				
			||||
	           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||
 | 
				
			||||
   <PropertyGroup> | 
				
			||||
        <MSBuildAllProjects>$(MSBuildAllProjects);$(MonoBuildTasksPath)\SharpDevelop.Build.Mono.Dmcs.targets</MSBuildAllProjects> | 
				
			||||
        <DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension> | 
				
			||||
        <Language>C#</Language> | 
				
			||||
    </PropertyGroup> | 
				
			||||
	 | 
				
			||||
	<!-- Override AssemblySearchPaths property and remove Microsoft specific search paths --> | 
				
			||||
	<PropertyGroup> | 
				
			||||
		<AssemblySearchPaths> | 
				
			||||
			{CandidateAssemblyFiles}; | 
				
			||||
			$(ReferencePath); | 
				
			||||
			{HintPathFromItem}; | 
				
			||||
			{TargetFrameworkDirectory}; | 
				
			||||
			{MonoGAC}; | 
				
			||||
			{RawFileName}; | 
				
			||||
			$(OutputPath) | 
				
			||||
		</AssemblySearchPaths>  | 
				
			||||
	</PropertyGroup> | 
				
			||||
	 | 
				
			||||
	<Target	Name="GetFrameworkPaths"> | 
				
			||||
		<!-- Get the path to the target Mono Framework directory. --> | 
				
			||||
		<GetMonoFrameworkPath TargetFrameworkVersion="$(MonoTargetFrameworkVersion)"> | 
				
			||||
			<Output TaskParameter="Path" PropertyName="TargetFrameworkDirectory"/> | 
				
			||||
			<Output TaskParameter="Path" ItemName="_TargetFrameworkDirectoryItem"/> | 
				
			||||
		</GetMonoFrameworkPath> | 
				
			||||
	 | 
				
			||||
		<!-- Get the path to the target the Mono SDK directory. --> | 
				
			||||
		<GetMonoFrameworkSDKPath> | 
				
			||||
			<Output TaskParameter="Path" PropertyName="TargetFrameworkSDKDirectory"/> | 
				
			||||
			<Output TaskParameter="Path" ItemName="_TargetFrameworkSDKDirectoryItem"/> | 
				
			||||
		</GetMonoFrameworkSDKPath> | 
				
			||||
	</Target> | 
				
			||||
	 | 
				
			||||
	<!-- Modify what the ResolveAssemblyReferences tasks depends on so the | 
				
			||||
	     AssemblySearchPaths can be modified to use the Mono GAC --> | 
				
			||||
	<PropertyGroup> | 
				
			||||
		<ResolveAssemblyReferencesDependsOn> | 
				
			||||
			GetFrameworkPaths; | 
				
			||||
            GetReferenceAssemblyPaths; | 
				
			||||
			PrepareForBuild; | 
				
			||||
			AddMonoAssemblySearchPaths | 
				
			||||
		</ResolveAssemblyReferencesDependsOn> | 
				
			||||
	</PropertyGroup> | 
				
			||||
	<Target Name="AddMonoAssemblySearchPaths"> | 
				
			||||
		<AddMonoAssemblySearchPaths  | 
				
			||||
			Assemblies="@(Reference)" | 
				
			||||
			Paths="$(AssemblySearchPaths)"> | 
				
			||||
			 | 
				
			||||
			<Output TaskParameter="Paths" PropertyName="AssemblySearchPaths"/> | 
				
			||||
		</AddMonoAssemblySearchPaths> | 
				
			||||
	</Target> | 
				
			||||
	 | 
				
			||||
    <Target | 
				
			||||
        Name="CoreCompile" | 
				
			||||
        Inputs="$(MSBuildAllProjects); | 
				
			||||
                @(Compile); | 
				
			||||
                @(ManifestResourceWithNoCulture); | 
				
			||||
                $(ApplicationIcon); | 
				
			||||
                $(AssemblyOriginatorKeyFile); | 
				
			||||
                @(ManifestNonResxWithNoCultureOnDisk); | 
				
			||||
                @(ReferencePath); | 
				
			||||
                @(CompiledLicenseFile)" | 
				
			||||
        Outputs="@(DocFileItem); | 
				
			||||
                 @(IntermediateAssembly); | 
				
			||||
                 $(NonExistentFile)" | 
				
			||||
        DependsOnTargets="$(CoreCompileDependsOn)" | 
				
			||||
    > | 
				
			||||
        | 
				
			||||
        <Dmcs | 
				
			||||
              AdditionalLibPaths="$(AdditionalLibPaths)" | 
				
			||||
              AddModules="@(AddModules)" | 
				
			||||
              AllowUnsafeBlocks="$(AllowUnsafeBlocks)" | 
				
			||||
              CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)" | 
				
			||||
              CodePage="$(CodePage)" | 
				
			||||
              DebugType="$(DebugType)" | 
				
			||||
              DefineConstants="$(DefineConstants)" | 
				
			||||
              DelaySign="$(DelaySign)" | 
				
			||||
              DisabledWarnings="$(NoWarn)" | 
				
			||||
              DocumentationFile="@(DocFileItem)" | 
				
			||||
              EmitDebugInformation="$(DebugSymbols)" | 
				
			||||
              KeyContainer="$(KeyContainerName)" | 
				
			||||
              KeyFile="$(KeyOriginatorFile)" | 
				
			||||
              LangVersion="$(LangVersion)" | 
				
			||||
              MainEntryPoint="$(StartupObject)" | 
				
			||||
              NoConfig="true" | 
				
			||||
              NoLogo="$(NoLogo)" | 
				
			||||
              NoStandardLib="$(NoStdLib)" | 
				
			||||
              Optimize="$(Optimize)" | 
				
			||||
              OutputAssembly="@(IntermediateAssembly)" | 
				
			||||
              References="@(ReferencePath)" | 
				
			||||
              Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)" | 
				
			||||
              ResponseFiles="$(CompilerResponseFile)" | 
				
			||||
              Sources="@(Compile)" | 
				
			||||
              TargetType="$(OutputType)" | 
				
			||||
              ToolPath="$(GmcsToolPath)" | 
				
			||||
              TreatWarningsAsErrors="$(TreatWarningsAsErrors)" | 
				
			||||
              WarningLevel="$(WarningLevel)" | 
				
			||||
              Win32Icon="$(ApplicationIcon)" | 
				
			||||
              Win32Resource="$(Win32Resource)" /> | 
				
			||||
    </Target>	 | 
				
			||||
 | 
				
			||||
</Project> | 
				
			||||
					Loading…
					
					
				
		Reference in new issue