Skip to content

Commit

Permalink
Merge branch 'release/2.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
cwensley committed Dec 29, 2015
2 parents e60874c + 0b4c173 commit 4e1518e
Show file tree
Hide file tree
Showing 667 changed files with 18,185 additions and 7,186 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ UpgradeLog*.htm
Source/Components
AppPackages
packages/
.vs/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Links
-----

* Join the [forums](http://groups.google.com/group/eto-forms)
* Chat in [#eto.forms](http://chat.mibbit.com/?server=irc.gimp.org&channel=%23eto.forms) on irc.gimp.org
* Chat in [#eto.forms](https://kiwiirc.com/client/irc.gimp.org/eto.forms) on irc.gimp.org
* Browse the [wiki](https://github.com/picoe/Eto/wiki) for quick start, tutorials, and API
* Download binaries using NuGet [![NuGet](http://img.shields.io/nuget/v/Eto.Forms.svg?style=flat)](https://www.nuget.org/packages/Eto.Forms.Sample/) with Visual Studio or Xamarin Studio.
* For bleeding edge nuget packages, add the MyGet development feed [![MyGet](http://img.shields.io/myget/eto/vpre/Eto.Forms.svg?style=flat)](https://www.myget.org/F/eto/) to your sources list.
Expand Down
185 changes: 141 additions & 44 deletions Resources/Build.targets → Resources/Build.proj

Large diffs are not rendered by default.

11 changes: 6 additions & 5 deletions Resources/BuildXSAddin.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
<BuildVersion>2.1.0</BuildVersion>
</PropertyGroup>
<Import Project="Build.targets" />
<Import Project="Build.proj" />

<Target Name="PreBuild">
<!-- need this to download packages from nuget through https -->
<Exec Command="mozroots --import --sync" Condition="'$(Platform)' == 'Linux'" />
</Target>

<Target Name="Build" DependsOnTargets="PreBuild;BuildUtilities;UpdateAssemblyInfo">
<Target Name="Build" DependsOnTargets="PreBuild;BuildUtilities;UpdateVersion">
<!-- this builds the Xamarin Studio addin specifically for addins.monodevelop.com -->

<PropertyGroup>
Expand All @@ -21,7 +21,7 @@
<XamarinStudioAddinProject>$(SourceDir)\Addins\Eto.Addin.XamarinStudio\Eto.Addin.XamarinStudio - nuget.csproj</XamarinStudioAddinProject>
</PropertyGroup>

<Exec Command="xbuild /t:'RestorePackages' /p:'PackagesDir=$(MSBuildThisFileDirectory);PackagesConfig=$(AllPackagesConfig)' '$(MSBuildProjectFile)'" Condition="$(Platform) != 'Windows'"/>
<Exec Command='nuget restore -PackagesDirectory "$(MSBuildThisFileDirectory)\packages" -ConfigFile $(AllPackagesConfig)' />

<ItemGroup>
<SourceNupkg Include="$(MSBuildThisFileDirectory)\packages\Eto.*\*.nupkg" />
Expand All @@ -30,12 +30,13 @@
<MakeDir Directories="$(NugetOutputDir)" />
<Copy SourceFiles="%(SourceNupkg.Identity)" DestinationFiles="$(NugetOutputDir)\%(Filename)%(Extension)" />

<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="RestorePackages" Properties="Configuration=$(Configuration)" />
<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="Build" Properties="Configuration=$(Configuration)" />
<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="RestorePackages" Properties="Configuration=$(Configuration)"/>
<MSBuild Projects="$(XamarinStudioAddinProject)" Targets="Build" Properties="Configuration=$(Configuration)"/>
</Target>
<Target Name="Clean">
<!-- clean output from previous builds -->
<Exec Command="rm -rf $(BaseDir)\BuildOutput" />
<Exec Command="rm -rf $(MSBuildThisFileDirectory)\packages\Eto.*" />
<Exec Command="rm -rf $(SourceDir)\Addins\Eto.Addin.XamarinStudio\packages" />
</Target>
</Project>
179 changes: 151 additions & 28 deletions Resources/Utilities.targets
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project InitialTargets="BuildUtilities" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="BuildUtilities" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UtilitiesImported>true</UtilitiesImported>
<UtilitiesBasePath Condition="$(UtilitiesBasePath) == ''">packages</UtilitiesBasePath>
<UtilitiesAssemblyPath Condition="$(UtilitiesAssemblyPath) == ''">$(UtilitiesBasePath)\Eto.UtilitiesTasks</UtilitiesAssemblyPath>
<UtilitiesAssemblyPath Condition="$(UtilitiesAssemblyPath) == ''">$(UtilitiesBasePath)\UtilitiesTasks</UtilitiesAssemblyPath>
</PropertyGroup>
<UsingTask AssemblyFile="$(UtilitiesAssemblyPath)\Utilities.dll" TaskName="GetAssemblyInfo" />
<UsingTask AssemblyFile="$(UtilitiesAssemblyPath)\Utilities.dll" TaskName="FileUpdate" />
<UsingTask AssemblyFile="$(UtilitiesAssemblyPath)\Utilities.dll" TaskName="FileExtract" />
<UsingTask AssemblyFile="$(UtilitiesAssemblyPath)\Utilities.dll" TaskName="IncrementVersion" />
<Target Name="BuildUtilities" Condition="!Exists('$(UtilitiesAssemblyPath)\Utilities.dll')" >
<MakeDir Directories="$(UtilitiesAssemblyPath)" />

<!-- UsingTask is not implemented in mono -->
<ItemGroup>
<GetAssemblyInfo Include="GetAssemblyInfo"><Text><![CDATA[
<Utilities Include="GetAssemblyInfo"><Text><![CDATA[
using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Reflection;
using System.Diagnostics;
using System.Linq;
Expand All @@ -31,8 +35,21 @@ public static class Extensions
return null;
return attributes.OfType<T>().SingleOrDefault();
}
}
public static bool IsMono
{
get { return Type.GetType("Mono.Runtime", false) != null; }
}
public static string FixParameter(string value)
{
if (IsMono)
return value.Replace("//", @"\");
else
return value.Replace(@"\\", @"\");
}
}]]></Text></Utilities>
<Utilities Include="GetAssemblyInfo"><Text><![CDATA[
public class GetAssemblyInfo : Task
{
public string AssemblyFileName { get; set; }
Expand Down Expand Up @@ -62,7 +79,7 @@ public class GetAssemblyInfo : Task
{
AssemblyFileName = Path.GetFullPath(AssemblyFileName);
Log.LogMessage("Getting assembly info...");
Log.LogMessage("Getting assembly info...", null);
AssemblyInformationalVersion = FileVersionInfo.GetVersionInfo(AssemblyFileName).ProductVersion;
var assembly = Assembly.LoadFrom(AssemblyFileName);
Expand Down Expand Up @@ -90,34 +107,28 @@ public class GetAssemblyInfo : Task
return false;
}
}
}]]></Text></GetAssemblyInfo>
<FileUpdate Include="FileUpdate"><Text><![CDATA[
using System;
using System.IO;
using System.Reflection;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
}]]></Text></Utilities>
<Utilities Include="FileUpdate"><Text><![CDATA[
public class FileUpdate : Task
{
public ITaskItem[] Files { get; set; }
public string Regex { get; set; }
public string Pattern { get; set; }
public string ReplacementText { get; set; }
public string Replacement { get; set; }
public bool WarnOnNoUpdate { get; set; }
public FileUpdate()
{
WarnOnNoUpdate = true;
}
public override bool Execute()
{
try
{
var regex = new Regex(Regex, RegexOptions.None);
var regex = new Regex(Extensions.FixParameter(Pattern), RegexOptions.None);
foreach (var item in Files)
{
Expand All @@ -128,13 +139,13 @@ public class FileUpdate : Task
if (!regex.IsMatch(text))
{
if (WarnOnNoUpdate)
Log.LogWarning(string.Format("File '{0}' not updated", fileName));
Log.LogWarning("File '{0}' not updated. Pattern: '{1}'", fileName, Pattern);
continue;
}
else
Log.LogMessage("Updating file '{0}'", fileName);
var updatedText = regex.Replace(text, ReplacementText);
var updatedText = regex.Replace(text, Replacement);
File.WriteAllText(fileName, updatedText);
}
Expand All @@ -146,14 +157,126 @@ public class FileUpdate : Task
}
return true;
}
}]]></Text></FileUpdate>
}]]></Text></Utilities>
<Utilities Include="IncrementVersion"><Text><![CDATA[
public class IncrementVersion : Task
{
public string Version { get; set; }
public string Increment { get; set; }
public bool RemovePrerelease { get; set; }
[Output]
public string AssemblyVersion { get; set; }
[Output]
public string AssemblyInformationalVersion { get; set; }
public override bool Execute()
{
try
{
var input = Version;
var suffix = string.Empty;
var idx = input.IndexOf ("-");
if (idx >= 0) {
suffix = input.Substring (idx);
input = input.Substring (0, idx );
}
var num = input.Count (r => r == '.');
var version = System.Version.Parse (input);
if (!string.IsNullOrEmpty(Increment))
{
var inc = System.Version.Parse(Increment);
version = new Version (
Math.Max(0, version.Major) + Math.Max(0, inc.Major),
Math.Max(0, version.Minor) + Math.Max(0, inc.Minor),
Math.Max(0, version.Build) + Math.Max(0, inc.Build),
Math.Max(0, version.Revision) + Math.Max(0, inc.Revision)
);
}
var assemblyVersion = version;
if (!string.IsNullOrEmpty(suffix))
assemblyVersion = new Version (version.Major, version.Minor - 1, Math.Max(0, version.Build), Math.Max(0, version.Revision));
var assemblyString = new StringBuilder(string.Format("{0}.{1}", assemblyVersion.Major, assemblyVersion.Minor));
if (!string.IsNullOrEmpty (suffix))
assemblyString.Append (".*");
else
assemblyString.Append (".0.0");
var infoString = new StringBuilder(string.Format("{0}.{1}", version.Major, version.Minor));
if (num > 1)
infoString.AppendFormat (".{0}", version.Build);
if (num > 2)
infoString.AppendFormat (".{0}", version.Revision);
if (!RemovePrerelease)
infoString.Append (suffix);
else if (string.IsNullOrEmpty(suffix))
{
Log.LogError("Version is not a prerelease but RemovePrerelease was specified", null);
return false;
}
AssemblyVersion = assemblyString.ToString();
AssemblyInformationalVersion = infoString.ToString();
}
catch (Exception ex)
{
Log.LogErrorFromException(ex);
return false;
}
return true;
}
}
]]></Text></Utilities>
<Utilities Include="FileExtract"><Text><![CDATA[
public class FileExtract : Task
{
public ITaskItem File { get; set; }
public string Pattern { get; set; }
[Output]
public string Output { get; set; }
public override bool Execute()
{
try
{
var regex = new Regex(Extensions.FixParameter(Pattern), RegexOptions.None);
var fileName = File.ItemSpec;
var text = System.IO.File.ReadAllText(fileName);
var match = regex.Match (text);
if (match.Success) {
Output = match.Value;
return true;
}
Log.LogError("Could not extract from '{0}'", fileName);
}
catch (Exception ex)
{
Log.LogErrorFromException(ex);
return false;
}
return false;
}
}]]></Text></Utilities>
</ItemGroup>

<WriteLinesToFile File="$(UtilitiesAssemblyPath)\GetAssemblyInfo.cs" Lines="@(GetAssemblyInfo->'%(Text)')" Overwrite="true" />
<WriteLinesToFile File="$(UtilitiesAssemblyPath)\FileUpdate.cs" Lines="@(FileUpdate->'%(Text)')" Overwrite="true" />
<WriteLinesToFile File="$(UtilitiesAssemblyPath)\Utilities.cs" Lines="@(Utilities->'%(Text)')" Overwrite="true" />

<Csc
Sources="$(UtilitiesAssemblyPath)\GetAssemblyInfo.cs;$(UtilitiesAssemblyPath)\FileUpdate.cs"
Sources="$(UtilitiesAssemblyPath)\Utilities.cs"
OutputAssembly="$(UtilitiesAssemblyPath)\Utilities.dll"
References="Microsoft.Build.Framework.dll;Microsoft.Build.Utilities.v4.0.dll;"
TargetType="library"
Expand Down
2 changes: 1 addition & 1 deletion Resources/build-addin.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ echo off
rem set MSBUILD=c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
set MSBUILD="%ProgramFiles(x86)%\MSBuild\14.0\bin\MSBuild.exe"

%MSBUILD% -t:BuildAddins Build.targets
%MSBUILD% -t:BuildAddins Build.proj

pause
2 changes: 1 addition & 1 deletion Resources/build-addin.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

xbuild /t:BuildAddins /p:Platform=Mac Build.targets
xbuild /t:BuildAddins /p:Platform=Mac Build.proj
2 changes: 1 addition & 1 deletion Resources/build-help-shfb.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ echo off
rem set MSBUILD=c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
set MSBUILD="%ProgramFiles(x86)%\MSBuild\12.0\bin\MSBuild.exe"

%MSBUILD% -t:BuildHelpShfb -p:BuildVersion=%1 Build.targets
%MSBUILD% -t:BuildHelpShfb -p:BuildVersion=%1 Build.proj

pause
2 changes: 1 addition & 1 deletion Resources/build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ echo off
rem set MSBUILD=c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
set MSBUILD="%ProgramFiles(x86)%\MSBuild\12.0\bin\MSBuild.exe"

%MSBUILD% -t:Package -p:BuildVersion=%1 Build.targets
%MSBUILD% -t:Package -p:BuildVersion=%1 Build.proj

pause
2 changes: 1 addition & 1 deletion Resources/build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

xbuild /t:Package /p:BuildVersion=$1 Build.targets
xbuild /t:Package /p:BuildVersion=$1 Build.proj
2 changes: 1 addition & 1 deletion Resources/nuspec/Eto.Serialization.Json.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ https://github.com/picoe/Eto/wiki
<dependencies>
<group>
<dependency id="Eto.Forms" version="[$version$]" />
<dependency id="Newtonsoft.Json" version="6.0.6" />
<dependency id="Newtonsoft.Json" version="7.0.1" />
</group>
</dependencies>
</metadata>
Expand Down
7 changes: 2 additions & 5 deletions Resources/nuspec/Eto.Serialization.Xaml.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,16 @@ https://github.com/picoe/Eto/wiki
</description>
<copyright>$copyright$</copyright>
<tags>cross platform gui ui framework desktop xaml eto.forms</tags>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Xaml" targetFramework="net40" />
<frameworkAssembly assemblyName="System.Xaml" targetFramework="net45" />
</frameworkAssemblies>
<dependencies>
<group>
<dependency id="Eto.Forms" version="[$version$]" />
<dependency id="Portable.Xaml" version="0.6.1" />
</group>
</dependencies>
</metadata>
<files>
<file src="BuildOutput/pcl/$configuration$/Eto.Serialization.Xaml.dll" target="lib\portable-win8+net45+wp8+wpa81+monotouch+monoandroid+xamarin.mac" />
<file src="BuildOutput/net45/$configuration$/Eto.Serialization.Xaml.dll" target="lib\net45" />
<file src="BuildOutput/pcl/$configuration$/Eto.Serialization.Xaml.dll" target="lib\net45" />
<file src="BuildOutput/net40/$configuration$/Eto.Serialization.Xaml.dll" target="lib\net40" />
<file src="BuildOutput/net40/$configuration$/LICENSE.txt" target="LICENSE.txt" />
</files>
Expand Down

0 comments on commit 4e1518e

Please sign in to comment.