<commit_before><?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Package" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<PropertyGroup>
		<Configuration Condition="$(Configuration) == ''">Release</Configuration>
        <BaseDir Condition="$(BaseDir) == ''">..</BaseDir>
        <SourceDir Condition="$(SourceDir) == ''">$(BaseDir)\Source</SourceDir>
        <NugetDir Condition="$(NugetDir) == ''">$(SourceDir)</NugetDir>
		<BuildOutputNet40Dir Condition="$(BuildOutputNet40Dir) == ''">$(BaseDir)\BuildOutput\net40\$(Configuration)</BuildOutputNet40Dir>
		<BuildOutputPCLDir Condition="$(BuildOutputPCLDir) == ''">$(BaseDir)\BuildOutput\pcl\$(Configuration)</BuildOutputPCLDir>
		<BuildOutputNet45Dir Condition="$(BuildOutputNet45Dir) == ''">$(BaseDir)\BuildOutput\net45\$(Configuration)</BuildOutputNet45Dir>
		<TargetDir Condition="$(TargetDir) == ''">$(BaseDir)\BuildOutput\Nuget\$(Configuration)</TargetDir>
		<PackageTargets Condition="$(PackageTargets) == ''">Build</PackageTargets>
        <PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
        <Platform Condition="$(Platform) == '' and '$(OS)' == 'Unix' and !Exists('/Library/Frameworks')">Linux</Platform>
        <Platform Condition="$(Platform) == '' and '$(OS)' == 'Unix' and Exists('/Library/Frameworks')">Mac</Platform>
        <Platform Condition="$(Platform) == '' and '$(OS)' != 'Unix'">Windows</Platform>
        <MSBuildCommunityVersion>1.4.0.78</MSBuildCommunityVersion>
		<MSBuildCommunityTasksPath>$(MSBuildThisFileDirectory)\packages\MSBuildTasks.$(MSBuildCommunityVersion)\tools</MSBuildCommunityTasksPath>
	    <MSBuildCommunityTasksLib>$([MSBUILD]::Unescape($(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll))</MSBuildCommunityTasksLib>
		<BuildVersion Condition="$(BuildVersion) == ''"></BuildVersion>
		<XamarinStudioAddinProject>$(SourceDir)\Addins\Eto.Addin.XamarinStudio\Eto.Addin.XamarinStudio.csproj</XamarinStudioAddinProject>
		<VisualStudioAddinProject>$(SourceDir)\Addins\Eto.Addin.VisualStudio\Eto.Addin.VisualStudio.sln</VisualStudioAddinProject>
		<mdtool Condition="$(mdtool) == '' and $(Platform) == 'Linux'">"mdtool"</mdtool>
		<mdtool Condition="$(mdtool) == '' and $(Platform) == 'Mac'">"/Applications/Xamarin Studio.app/Contents/MacOS/mdtool"</mdtool>
		<mdtool Condition="$(mdtool) == '' and $(Platform) == 'Windows'">"c:\Program Files (x86)\Xamarin Studio\bin\mdtool.exe"</mdtool>
	</PropertyGroup>
	<Import Project="Utilities.targets" Condition="$(UtilitiesImported) == ''" />
	<Import Project="$(NugetDir)\.nuget\NuGet.targets" Condition="Exists('$(NugetDir)\.nuget\NuGet.targets')" />
	<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FileUpdate" />
	
	<Target Name="UpdateAssemblyInfo" Condition="$(BuildVersion) != ''">
		<Exec Command="$(NuGetCommand) install MSBuildTasks -Version $(MSBuildCommunityVersion) -OutputDirectory packages"
			Condition="! Exists('$(MSBuildCommunityTasksPath)')" />

		<FileUpdate Files="$(SourceDir)\Shared\GlobalAssemblyInfo.cs"
            Regex='AssemblyInformationalVersion[(]&quot;.*&quot;[)]'
            Encoding="utf-8-without-bom"
            ReplacementText='AssemblyInformationalVersion(&quot;$(BuildVersion)&quot;)' />
            
		<FileUpdate Files="$(SourceDir)\Shared\GlobalAssemblyInfo.cs"
            Regex='AssemblyFileVersion[(]&quot;.*&quot;[)]'
            Encoding="utf-8-without-bom"
            ReplacementText='AssemblyFileVersion(&quot;$(BuildVersion)&quot;)' />
        
        <ItemGroup>
        	<VSTemplateFiles Include="$(SourceDir)\Addins\Eto.Addin.VisualStudio\**\*.vstemplate" />
        	<XSProjFile Include="$(XamarinStudioAddinProject)" />
        	<AllPackagesFile Include="$(MSBuildThisFileDirectory)\packages.config" />
        	
        	<!-- Using ItemGroup with text to prevent messing up backslashes in xbuild -->
        	<NupkgReg Include="1"><Text><![CDATA[(?<=Eto.[\w\.]+?)(\.\d+)*([-]\w+\d*)?\.nupkg]]></Text></NupkgReg>
        	<VSTemplateReg Include="1"><Text><![CDATA[(?<=id\s*[=]\s*"Eto\.[\w\.]+"\s+)version\s*=\s*"[^"]+"]]></Text></VSTemplateReg>
        </ItemGroup>
        
		<FileUpdate Files="@(XSProjFile)"
			WarnOnNoUpdate="true"
            Regex="@(NupkgReg->'%(Text)')"
            ReplacementText='.$(BuildVersion).nupkg' />
            
		<FileUpdate Files="@(VSTemplateFiles)"
            Encoding="utf-8-without-bom"
            Regex="@(VSTemplateReg->'%(Text)')"
            ReplacementText='version=&quot;$(BuildVersion)&quot;' />

		<FileUpdate Files="@(AllPackagesFile)"
			WarnOnNoUpdate="true"
            Regex="@(VSTemplateReg->'%(Text)')"
            ReplacementText='version=&quot;$(BuildVersion)&quot;' />
	</Target>

	<Target Name="BuildHelpShfb" DependsOnTargets="Build">
		<PropertyGroup>
        	<SHFBVersion>2014.11.22</SHFBVersion>
			<SHFBPath>$(MSBuildThisFileDirectory)\packages\EWSoftware.SHFB.$(SHFBVersion)\tools</SHFBPath>
		    <SHFBLib>$([MSBUILD]::Unescape($(SHFBPath)\MSBuild.Community.Tasks.dll))</SHFBLib>
			<SHFBROOT Condition=" '$(SHFBROOT)' == '' ">$(SHFBPath)</SHFBROOT>
		</PropertyGroup>
  		<Exec Command="$(NuGetCommand) install EWSoftware.SHFB -OutputDirectory packages" Condition="! Exists('$(SHFBPath)')" />

    	<MSBuild Projects="$(MSBuildThisFileDirectory)\help\Help.shfbproj" Properties="Configuration=$(Configuration)" />
	</Target>
	
	<Target Name="Build" DependsOnTargets="UpdateAssemblyInfo">
    	<!-- using exec since xbuild messes up properties when using msbuild task -->
    	<Exec Command="xbuild /t:'$(PackageTargets)' /p:'Configuration=$(Configuration);Platform=$(Platform)' '$(SourceDir)\Eto - net40.sln'" Condition="$(Platform) != 'Windows'"/>
    	<Exec Command="xbuild /t:'$(PackageTargets)' /p:'Configuration=$(Configuration);Platform=$(Platform)' '$(SourceDir)\Eto - net45.sln'" Condition="$(Platform) != 'Windows'"/>
    	<Exec Command="xbuild /t:'$(PackageTargets)' /p:'Configuration=$(Configuration)' '$(SourceDir)\Eto.iOS\Eto.iOS.csproj'" Condition="$(Platform) != 'Windows'"/>
    	
    	<MSBuild Projects="$(SourceDir)\Eto - net40.sln" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);Platform=$(Platform)" Condition="$(Platform) == 'Windows'"/>
    	<MSBuild Projects="$(SourceDir)\Eto - net45.sln" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);Platform=$(Platform)" Condition="$(Platform) == 'Windows'"/>
    	
		<!-- build XamMac separately if it hasn't been built on mac -->
    	<MSBuild Projects="$(SourceDir)\Eto.Mac\Eto.XamMac.csproj" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);BuildProjectReferences=false" Condition="! Exists('$(BuildOutputNet40Dir)\Eto.XamMac.dll')" />
    	<MSBuild Projects="$(SourceDir)\Eto.Mac\Eto.XamMac - net45.csproj" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);BuildProjectReferences=false" Condition="! Exists('$(BuildOutputNet45Dir)\Eto.XamMac.dll')" />
	
	</Target>
	
	
    <Target Name="Package" DependsOnTargets="Build">
		<!-- Nuget has problems with files that have no extension -->
		<Copy SourceFiles="$(BuildOutputNet40Dir)\LICENSE" DestinationFiles="$(BuildOutputNet40Dir)\LICENSE.txt" />

    	<ItemGroup>
			<Package Include="Eto">
				<Assembly>$(BuildOutputNet45Dir)\Eto.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Gtk">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Gtk2.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Gtk3">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Gtk3.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Mac">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Mac.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Mac64">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Mac64.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.XamMac">
				<Assembly>$(BuildOutputNet45Dir)\Eto.XamMac.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.XamMac2">
				<Assembly>$(BuildOutputPCLDir)\Eto.XamMac2.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Windows">
				<Assembly>$(BuildOutputNet45Dir)\Eto.WinForms.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Direct2D">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Direct2D.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Wpf" Condition="$(Platform) == 'Windows'">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Wpf.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.WinRT" Condition="$(Platform) == 'Windows'">
				<Assembly>$(BuildOutputPCLDir)\Eto.WinRT.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.iOS">
				<Assembly>$(BuildOutputPCLDir)\Eto.iOS.dll</Assembly>
			</Package>
			<Package Include="Eto.Serialization.Json">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Serialization.Json.dll</Assembly>
			</Package>
			<Package Include="Eto.Serialization.Xaml">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Serialization.Xaml.dll</Assembly>
			</Package>
		</ItemGroup>
		
    	<Exec Command="xbuild /t:'BuildPackage' /p:'ProjectPath=$(BaseDir);ProjectFile=nuspec/%(Package.Identity).nuspec;TargetDir=$(TargetDir);NuspecInfoAssembly=%(Assembly)' '$(MSBuildProjectFile)'" Condition="$(Platform) != 'Windows' and Exists('%(Assembly)')"/>
    	<MSBuild Targets="BuildPackage" Properties="ProjectPath=$(BaseDir);ProjectFile=nuspec/%(Package.Identity).nuspec;NuspecInfoAssembly=%(Assembly);TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)" Condition="$(Platform) == 'Windows' and Exists('%(Assembly)')"/>

		<GetAssemblyInfo AssemblyFileName="$(BuildOutputNet40Dir)\Eto.dll">
			<Output TaskParameter="AssemblyInformationalVersion" PropertyName="AssemblyVersion" />
		</GetAssemblyInfo>
		
		<ItemGroup>
			<StandalonePackage Include="Eto.Platform.MacAppTemplate\Eto.Platform.Mac.Template"/>
			<StandalonePackage Include="Eto.Forms.Sample\Eto.Forms.Sample"/>
		</ItemGroup>
		
    	<Exec Command="xbuild /t:'BuildPackage' /p:'ProjectPath=nuspec/%(StandalonePackage.RelativeDir);ProjectFile=nuspec/%(StandalonePackage.Identity).nuspec;TargetDir=$(TargetDir);NugetBuildOptions=-Version $(AssemblyVersion)' '$(MSBuildProjectFile)'" Condition="$(Platform) != 'Windows'"/>
    	<MSBuild Targets="BuildPackage" Properties="ProjectPath=nuspec\%(StandalonePackage.RelativeDir)\;ProjectFile=nuspec/%(StandalonePackage.Identity).nuspec;TargetDir=$(TargetDir);NugetBuildOptions=-Version $(AssemblyVersion)" Projects="$(MSBuildProjectFile)" Condition="$(Platform) == 'Windows'"/>
    </Target>
    <Target Name="BuildAddins" DependsOnTargets="Package">
    	<!-- addins -->
    	<Exec Command="xbuild /t:'RestorePackages' /p:'Configuration=$(Configuration)' '$(XamarinStudioAddinProject)'" Condition="$(Platform) != 'Windows'"/>
    	<Exec Command="xbuild /t:'Build' /p:'Configuration=$(Configuration)' '$(XamarinStudioAddinProject)'" Condition="$(Platform) != 'Windows'"/>
    	<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="RestorePackages" Properties="Configuration=$(Configuration)" Condition="$(Platform) == 'Windows'" />
    	<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="Build" Properties="Configuration=$(Configuration)" Condition="$(Platform) == 'Windows'" />

    	<Exec Command="$(mdtool) setup pack $(BaseDir)/BuildOutput/Addins/$(Configuration)/XamarinStudio/Eto.Addin.XamarinStudio.dll -d:$(BaseDir)/BuildOutput/Addins/$(Configuration)" Condition="$(Platform) != 'Windows'"/>

		<!-- Visual Studio Addin -->
    	<MSBuild Projects="$(VisualStudioAddinProject)" Targets="Build" Properties="Configuration=$(Configuration)" Condition="$(Platform) == 'Windows'" />
    </Target>
    <Target Name="Publish">
		<GetAssemblyInfo AssemblyFileName="$(BuildOutputNet40Dir)\Eto.dll">
			<Output TaskParameter="AssemblyInformationalVersion" PropertyName="AssemblyVersion" />
		</GetAssemblyInfo>

    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Forms.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Gtk.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Gtk3.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Mac.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<!--MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Mac64.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/-->
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Windows.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Direct2D.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Wpf.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.XamMac.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.XamMac2.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<!--MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.WinRT.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/-->
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Serialization.Json.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Serialization.Xaml.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Mac.Template.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Forms.Sample.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.iOS.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    </Target>
    
	<Target Name="Clean">
		<!-- placeholder -->
	</Target>
</Project><commit_msg>Only build iOS on Mac<commit_after><?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Package" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<PropertyGroup>
		<Configuration Condition="$(Configuration) == ''">Release</Configuration>
        <BaseDir Condition="$(BaseDir) == ''">..</BaseDir>
        <SourceDir Condition="$(SourceDir) == ''">$(BaseDir)\Source</SourceDir>
        <NugetDir Condition="$(NugetDir) == ''">$(SourceDir)</NugetDir>
		<BuildOutputNet40Dir Condition="$(BuildOutputNet40Dir) == ''">$(BaseDir)\BuildOutput\net40\$(Configuration)</BuildOutputNet40Dir>
		<BuildOutputPCLDir Condition="$(BuildOutputPCLDir) == ''">$(BaseDir)\BuildOutput\pcl\$(Configuration)</BuildOutputPCLDir>
		<BuildOutputNet45Dir Condition="$(BuildOutputNet45Dir) == ''">$(BaseDir)\BuildOutput\net45\$(Configuration)</BuildOutputNet45Dir>
		<TargetDir Condition="$(TargetDir) == ''">$(BaseDir)\BuildOutput\Nuget\$(Configuration)</TargetDir>
		<PackageTargets Condition="$(PackageTargets) == ''">Build</PackageTargets>
        <PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
        <Platform Condition="$(Platform) == '' and '$(OS)' == 'Unix' and !Exists('/Library/Frameworks')">Linux</Platform>
        <Platform Condition="$(Platform) == '' and '$(OS)' == 'Unix' and Exists('/Library/Frameworks')">Mac</Platform>
        <Platform Condition="$(Platform) == '' and '$(OS)' != 'Unix'">Windows</Platform>
        <MSBuildCommunityVersion>1.4.0.78</MSBuildCommunityVersion>
		<MSBuildCommunityTasksPath>$(MSBuildThisFileDirectory)\packages\MSBuildTasks.$(MSBuildCommunityVersion)\tools</MSBuildCommunityTasksPath>
	    <MSBuildCommunityTasksLib>$([MSBUILD]::Unescape($(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll))</MSBuildCommunityTasksLib>
		<BuildVersion Condition="$(BuildVersion) == ''"></BuildVersion>
		<XamarinStudioAddinProject>$(SourceDir)\Addins\Eto.Addin.XamarinStudio\Eto.Addin.XamarinStudio.csproj</XamarinStudioAddinProject>
		<VisualStudioAddinProject>$(SourceDir)\Addins\Eto.Addin.VisualStudio\Eto.Addin.VisualStudio.sln</VisualStudioAddinProject>
		<mdtool Condition="$(mdtool) == '' and $(Platform) == 'Linux'">"mdtool"</mdtool>
		<mdtool Condition="$(mdtool) == '' and $(Platform) == 'Mac'">"/Applications/Xamarin Studio.app/Contents/MacOS/mdtool"</mdtool>
		<mdtool Condition="$(mdtool) == '' and $(Platform) == 'Windows'">"c:\Program Files (x86)\Xamarin Studio\bin\mdtool.exe"</mdtool>
	</PropertyGroup>
	<Import Project="Utilities.targets" Condition="$(UtilitiesImported) == ''" />
	<Import Project="$(NugetDir)\.nuget\NuGet.targets" Condition="Exists('$(NugetDir)\.nuget\NuGet.targets')" />
	<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FileUpdate" />
	
	<Target Name="UpdateAssemblyInfo" Condition="$(BuildVersion) != ''">
		<Exec Command="$(NuGetCommand) install MSBuildTasks -Version $(MSBuildCommunityVersion) -OutputDirectory packages"
			Condition="! Exists('$(MSBuildCommunityTasksPath)')" />

		<FileUpdate Files="$(SourceDir)\Shared\GlobalAssemblyInfo.cs"
            Regex='AssemblyInformationalVersion[(]&quot;.*&quot;[)]'
            Encoding="utf-8-without-bom"
            ReplacementText='AssemblyInformationalVersion(&quot;$(BuildVersion)&quot;)' />
            
		<FileUpdate Files="$(SourceDir)\Shared\GlobalAssemblyInfo.cs"
            Regex='AssemblyFileVersion[(]&quot;.*&quot;[)]'
            Encoding="utf-8-without-bom"
            ReplacementText='AssemblyFileVersion(&quot;$(BuildVersion)&quot;)' />
        
        <ItemGroup>
        	<VSTemplateFiles Include="$(SourceDir)\Addins\Eto.Addin.VisualStudio\**\*.vstemplate" />
        	<XSProjFile Include="$(XamarinStudioAddinProject)" />
        	<AllPackagesFile Include="$(MSBuildThisFileDirectory)\packages.config" />
        	
        	<!-- Using ItemGroup with text to prevent messing up backslashes in xbuild -->
        	<NupkgReg Include="1"><Text><![CDATA[(?<=Eto.[\w\.]+?)(\.\d+)*([-]\w+\d*)?\.nupkg]]></Text></NupkgReg>
        	<VSTemplateReg Include="1"><Text><![CDATA[(?<=id\s*[=]\s*"Eto\.[\w\.]+"\s+)version\s*=\s*"[^"]+"]]></Text></VSTemplateReg>
        </ItemGroup>
        
		<FileUpdate Files="@(XSProjFile)"
			WarnOnNoUpdate="true"
            Regex="@(NupkgReg->'%(Text)')"
            ReplacementText='.$(BuildVersion).nupkg' />
            
		<FileUpdate Files="@(VSTemplateFiles)"
            Encoding="utf-8-without-bom"
            Regex="@(VSTemplateReg->'%(Text)')"
            ReplacementText='version=&quot;$(BuildVersion)&quot;' />

		<FileUpdate Files="@(AllPackagesFile)"
			WarnOnNoUpdate="true"
            Regex="@(VSTemplateReg->'%(Text)')"
            ReplacementText='version=&quot;$(BuildVersion)&quot;' />
	</Target>

	<Target Name="BuildHelpShfb" DependsOnTargets="Build">
		<PropertyGroup>
        	<SHFBVersion>2014.11.22</SHFBVersion>
			<SHFBPath>$(MSBuildThisFileDirectory)\packages\EWSoftware.SHFB.$(SHFBVersion)\tools</SHFBPath>
		    <SHFBLib>$([MSBUILD]::Unescape($(SHFBPath)\MSBuild.Community.Tasks.dll))</SHFBLib>
			<SHFBROOT Condition=" '$(SHFBROOT)' == '' ">$(SHFBPath)</SHFBROOT>
		</PropertyGroup>
  		<Exec Command="$(NuGetCommand) install EWSoftware.SHFB -OutputDirectory packages" Condition="! Exists('$(SHFBPath)')" />

    	<MSBuild Projects="$(MSBuildThisFileDirectory)\help\Help.shfbproj" Properties="Configuration=$(Configuration)" />
	</Target>
	
	<Target Name="Build" DependsOnTargets="UpdateAssemblyInfo">
    	<!-- using exec since xbuild messes up properties when using msbuild task -->
    	<Exec Command="xbuild /t:'$(PackageTargets)' /p:'Configuration=$(Configuration);Platform=$(Platform)' '$(SourceDir)\Eto - net40.sln'" Condition="$(Platform) != 'Windows'"/>
    	<Exec Command="xbuild /t:'$(PackageTargets)' /p:'Configuration=$(Configuration);Platform=$(Platform)' '$(SourceDir)\Eto - net45.sln'" Condition="$(Platform) != 'Windows'"/>
    	<Exec Command="xbuild /t:'$(PackageTargets)' /p:'Configuration=$(Configuration)' '$(SourceDir)\Eto.iOS\Eto.iOS.csproj'" Condition="$(Platform) == 'Mac'"/>
    	
    	<MSBuild Projects="$(SourceDir)\Eto - net40.sln" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);Platform=$(Platform)" Condition="$(Platform) == 'Windows'"/>
    	<MSBuild Projects="$(SourceDir)\Eto - net45.sln" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);Platform=$(Platform)" Condition="$(Platform) == 'Windows'"/>
    	
		<!-- build XamMac separately if it hasn't been built on mac -->
    	<MSBuild Projects="$(SourceDir)\Eto.Mac\Eto.XamMac.csproj" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);BuildProjectReferences=false" Condition="! Exists('$(BuildOutputNet40Dir)\Eto.XamMac.dll')" />
    	<MSBuild Projects="$(SourceDir)\Eto.Mac\Eto.XamMac - net45.csproj" Targets="$(PackageTargets)" Properties="Configuration=$(Configuration);BuildProjectReferences=false" Condition="! Exists('$(BuildOutputNet45Dir)\Eto.XamMac.dll')" />
	
	</Target>
	
	
    <Target Name="Package" DependsOnTargets="Build">
		<!-- Nuget has problems with files that have no extension -->
		<Copy SourceFiles="$(BuildOutputNet40Dir)\LICENSE" DestinationFiles="$(BuildOutputNet40Dir)\LICENSE.txt" />

    	<ItemGroup>
			<Package Include="Eto">
				<Assembly>$(BuildOutputNet45Dir)\Eto.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Gtk">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Gtk2.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Gtk3">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Gtk3.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Mac">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Mac.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Mac64">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Mac64.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.XamMac">
				<Assembly>$(BuildOutputNet45Dir)\Eto.XamMac.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.XamMac2">
				<Assembly>$(BuildOutputPCLDir)\Eto.XamMac2.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Windows">
				<Assembly>$(BuildOutputNet45Dir)\Eto.WinForms.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Direct2D">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Direct2D.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.Wpf" Condition="$(Platform) == 'Windows'">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Wpf.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.WinRT" Condition="$(Platform) == 'Windows'">
				<Assembly>$(BuildOutputPCLDir)\Eto.WinRT.dll</Assembly>
			</Package>
			<Package Include="Eto.Platform.iOS" Condition="$(Platform) == 'Mac'">
				<Assembly>$(BuildOutputPCLDir)\Eto.iOS.dll</Assembly>
			</Package>
			<Package Include="Eto.Serialization.Json">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Serialization.Json.dll</Assembly>
			</Package>
			<Package Include="Eto.Serialization.Xaml">
				<Assembly>$(BuildOutputNet45Dir)\Eto.Serialization.Xaml.dll</Assembly>
			</Package>
		</ItemGroup>
		
    	<Exec Command="xbuild /t:'BuildPackage' /p:'ProjectPath=$(BaseDir);ProjectFile=nuspec/%(Package.Identity).nuspec;TargetDir=$(TargetDir);NuspecInfoAssembly=%(Assembly)' '$(MSBuildProjectFile)'" Condition="$(Platform) != 'Windows' and Exists('%(Assembly)')"/>
    	<MSBuild Targets="BuildPackage" Properties="ProjectPath=$(BaseDir);ProjectFile=nuspec/%(Package.Identity).nuspec;NuspecInfoAssembly=%(Assembly);TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)" Condition="$(Platform) == 'Windows' and Exists('%(Assembly)')"/>

		<GetAssemblyInfo AssemblyFileName="$(BuildOutputNet40Dir)\Eto.dll">
			<Output TaskParameter="AssemblyInformationalVersion" PropertyName="AssemblyVersion" />
		</GetAssemblyInfo>
		
		<ItemGroup>
			<StandalonePackage Include="Eto.Platform.MacAppTemplate\Eto.Platform.Mac.Template"/>
			<StandalonePackage Include="Eto.Forms.Sample\Eto.Forms.Sample"/>
		</ItemGroup>
		
    	<Exec Command="xbuild /t:'BuildPackage' /p:'ProjectPath=nuspec/%(StandalonePackage.RelativeDir);ProjectFile=nuspec/%(StandalonePackage.Identity).nuspec;TargetDir=$(TargetDir);NugetBuildOptions=-Version $(AssemblyVersion)' '$(MSBuildProjectFile)'" Condition="$(Platform) != 'Windows'"/>
    	<MSBuild Targets="BuildPackage" Properties="ProjectPath=nuspec\%(StandalonePackage.RelativeDir)\;ProjectFile=nuspec/%(StandalonePackage.Identity).nuspec;TargetDir=$(TargetDir);NugetBuildOptions=-Version $(AssemblyVersion)" Projects="$(MSBuildProjectFile)" Condition="$(Platform) == 'Windows'"/>
    </Target>
    <Target Name="BuildAddins" DependsOnTargets="Package">
    	<!-- addins -->
    	<Exec Command="xbuild /t:'RestorePackages' /p:'Configuration=$(Configuration)' '$(XamarinStudioAddinProject)'" Condition="$(Platform) != 'Windows'"/>
    	<Exec Command="xbuild /t:'Build' /p:'Configuration=$(Configuration)' '$(XamarinStudioAddinProject)'" Condition="$(Platform) != 'Windows'"/>
    	<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="RestorePackages" Properties="Configuration=$(Configuration)" Condition="$(Platform) == 'Windows'" />
    	<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="Build" Properties="Configuration=$(Configuration)" Condition="$(Platform) == 'Windows'" />

    	<Exec Command="$(mdtool) setup pack $(BaseDir)/BuildOutput/Addins/$(Configuration)/XamarinStudio/Eto.Addin.XamarinStudio.dll -d:$(BaseDir)/BuildOutput/Addins/$(Configuration)" Condition="$(Platform) != 'Windows'"/>

		<!-- Visual Studio Addin -->
    	<MSBuild Projects="$(VisualStudioAddinProject)" Targets="Build" Properties="Configuration=$(Configuration)" Condition="$(Platform) == 'Windows'" />
    </Target>
    <Target Name="Publish">
		<GetAssemblyInfo AssemblyFileName="$(BuildOutputNet40Dir)\Eto.dll">
			<Output TaskParameter="AssemblyInformationalVersion" PropertyName="AssemblyVersion" />
		</GetAssemblyInfo>

    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Forms.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Gtk.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Gtk3.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Mac.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<!--MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Mac64.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/-->
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Windows.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Direct2D.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Wpf.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.XamMac.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.XamMac2.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<!--MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.WinRT.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/-->
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Serialization.Json.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Serialization.Xaml.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.Mac.Template.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Forms.Sample.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    	<MSBuild Targets="PublishPackage" Properties="NupkgName=Eto.Platform.iOS.$(AssemblyVersion).nupkg;TargetDir=$(TargetDir)" Projects="$(MSBuildProjectFile)"/>
    </Target>
    
	<Target Name="Clean">
		<!-- placeholder -->
	</Target>
</Project>
{'fraction_non_alphanumeric': 0.18885205563719626, 'fraction_numerical': 0.0071767882163972525, 'mean_word_length': 6.275484833416211, 'pattern_counts': {'":': 0, '<': 423, '<?xml version=': 2, '>': 425, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2813564', 'n_tokens_mistral': 9716, 'n_tokens_neox': 8835, 'n_words': 1011}