Browse Source

Added package for GTK3 and "fixed" platform detector for .NET Core

pull/875/head
Nikita Tsukanov 10 years ago
parent
commit
d0e6915542
  1. 25
      build.cake
  2. 13
      src/Avalonia.DotNetCoreRuntime/AppBuilder.cs
  3. 8
      src/Avalonia.DotNetCoreRuntime/Avalonia.DotNetCoreRuntime.csproj

25
build.cake

@ -500,6 +500,23 @@ var nuspecNuGetSettingsDesktop = new []
OutputDirectory = nugetRoot
},
///////////////////////////////////////////////////////////////////////////////
// Avalonia.Gtk3
///////////////////////////////////////////////////////////////////////////////
new NuGetPackSettings()
{
Id = "Avalonia.Gtk3",
Dependencies = new []
{
new NuSpecDependency() { Id = "Avalonia", Version = version }
},
Files = new []
{
new NuSpecContent { Source = "Avalonia.Gtk3.dll", Target = "lib/netstandard1.1" }
},
BasePath = Directory("./src/Gtk/Avalonia.Gtk3/bin/" + dirSuffix),
OutputDirectory = nugetRoot
},
///////////////////////////////////////////////////////////////////////////////
// Avalonia.Cairo
///////////////////////////////////////////////////////////////////////////////
new NuGetPackSettings()
@ -630,7 +647,13 @@ Task("Clean")
Task("Prepare-XBuild-Solution")
.Does(() =>
{
var blacklistedProjects = new[]{"Avalonia.Win32.NetStandard", "Avalonia.DotNetCoreRuntime", "Avalonia.Skia.Desktop.NetStandard"};
var blacklistedProjects = new[]
{
"Avalonia.Win32.NetStandard",
"Avalonia.DotNetCoreRuntime",
"Avalonia.Skia.Desktop.NetStandard",
"Avalonia.Gtk3"
};
var blacklistedGuids = System.IO.File.ReadAllLines(MSBuildSolution)
.Where(l=>l.StartsWith("Project") && blacklistedProjects.Any(p=>l.Contains(p)))
.Select(l => l.Split(',').Select(part => part.Trim()).FirstOrDefault(part => part.StartsWith("\"{")))

13
src/Avalonia.DotNetCoreRuntime/AppBuilder.cs

@ -36,15 +36,18 @@ namespace Avalonia
{
//We don't have the ability to load every assembly right now, so we are
//stuck with manual configuration here
//Helpers are extracted to separate methods to take the advantage of the fact
//that CLR doesn't try to load dependencies before referencing method is jitted
if (RuntimePlatform.GetRuntimeInfo().OperatingSystem == OperatingSystemType.WinNT)
this.UseWin32();
LoadWin32();
else
{
//TODO: Register GTK3
}
//TODO: Register Skia#
LoadGtk3();
this.UseSkia();
return this;
}
void LoadWin32() => this.UseWin32();
void LoadGtk3() => this.UseGtk3();
}
}

8
src/Avalonia.DotNetCoreRuntime/Avalonia.DotNetCoreRuntime.csproj

@ -61,6 +61,14 @@
<Project>{eb582467-6abb-43a1-b052-e981ba910e3a}</Project>
<Name>Avalonia.Visuals</Name>
</ProjectReference>
<ProjectReference Include="..\Gtk\Avalonia.Gtk3\Avalonia.Gtk3.csproj">
<Project>{bb1f7bb5-6ad4-4776-94d9-c09d0a972658}</Project>
<Name>Avalonia.Gtk3</Name>
</ProjectReference>
<ProjectReference Include="..\Skia\Avalonia.Skia.Desktop.NetStandard\Avalonia.Skia.Desktop.NetStandard.csproj">
<Project>{7d2d3083-71dd-4cc9-8907-39a0d86fb322}</Project>
<Name>Avalonia.Skia.Desktop.NetStandard</Name>
</ProjectReference>
<ProjectReference Include="..\Windows\Avalonia.Win32.NetStandard\Avalonia.Win32.NetStandard.csproj">
<Project>{40759a76-d0f2-464e-8000-6ff0f5c4bd7c}</Project>
<Name>Avalonia.Win32.NetStandard</Name>

Loading…
Cancel
Save