-sudo: required
-dist: trusty
+
language: csharp
-solution: Crow.sln
-before_install:
- - sudo apt-get -qq update
- - sudo apt-get install -y libcairo1.10-cil libgio3.0-cil libgdk3.0-cil libglib3.0-cil
-install:
- - nuget restore Crow.sln
-script:
- - xbuild /p:Configuration=Release Crow.sln
+dist: xenial
+
+dotnet: 3.1
+
+env:
+ - FrameworkPathOverride=/usr/lib/mono/4.5/
+
+script:
+ - dotnet build /p:Configuration=Release
\ No newline at end of file
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrowIDE", "CrowIDE\CrowIDE.csproj", "{1E5C7065-28F9-4A1A-A2FB-DB5E03A63CB3}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "unitTests", "unitTests\unitTests.csproj", "{0CC6DFAB-2E4A-4786-976C-89053D5EA6A2}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
{91F1CE07-EECE-4F1D-A3EE-7239B563654A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E5C7065-28F9-4A1A-A2FB-DB5E03A63CB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E5C7065-28F9-4A1A-A2FB-DB5E03A63CB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0CC6DFAB-2E4A-4786-976C-89053D5EA6A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CC6DFAB-2E4A-4786-976C-89053D5EA6A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
- <AssemblyName>Crow</AssemblyName>
- <Copyright>
- </Copyright>
- <AssemblyVersion>0.8.7</AssemblyVersion>
- <Description>C.R.O.W. is a widget toolkit and rendering engine entirely developed in C# with templates, styles, compositing, and bindings.</Description>
- <EnableDefaultItems>false</EnableDefaultItems>
- <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
+
+ <ReleaseVersion>0.8.0</ReleaseVersion>
+ <AssemblyVersion>$(ReleaseVersion)</AssemblyVersion>
+
<Title>C# Rapid Open Widget Toolkit</Title>
+ <Description>C.R.O.W. is a widget toolkit and rendering engine developed in C# with templates, styles, compositing, and bindings.</Description>
<License>MIT</License>
- <PackageId>Crow</PackageId>
+ <Authors>Jean-Philippe Bruyère</Authors>
+
+ <RepositoryUrl>https://github.com/jpbruyere/Crow</RepositoryUrl>
+
<PackageTags>GUI Widget toolkit Interface C# .Net Mono</PackageTags>
<PackageVersion>$(AssemblyVersion)-beta</PackageVersion>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
- <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
+ <GenerateDocumentationFile>true</GenerateDocumentationFile>
+ <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
<PackageProjectUrl>https://github.com/jpbruyere/Crow/wiki</PackageProjectUrl>
<PackageLicense>https://opensource.org/licenses/MIT</PackageLicense>
<PackageIconUrl>https://jpbruyere.github.io/Crow/images/crow.png</PackageIconUrl>
<PackageCopyright>Copyright 2013-2019</PackageCopyright>
- <PackageReleaseNotes></PackageReleaseNotes>
- <DefineConstants>DESIGN_MODE</DefineConstants>
- <ReleaseVersion>0.8.0</ReleaseVersion>
+ <PackageReleaseNotes>
+ </PackageReleaseNotes>
+
+ <DefineConstants>DESIGN_MODE</DefineConstants>
+
+ <EnableDefaultItems>false</EnableDefaultItems>
+ <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
+
</PropertyGroup>
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugType>full</DebugType>
- <DefineConstants>_DEBUG_DISPOSE;TRACE;_DEBUG_BINDING;DESIGN_MODE;_DEBUG_CLIP_RECTANGLE;_DEBUG_FOCUS;_DEBUG_DRAGNDROP;NET471;NET461;NETFRAMEWORK;NET472;DEBUG;NETSTANDARD;NETSTANDARD2_0</DefineConstants>
+ <DefineConstants>DEBUG;TRACE;_DEBUG_DISPOSE;_DEBUG_BINDING;DESIGN_MODE;_DEBUG_CLIP_RECTANGLE;_DEBUG_FOCUS;_DEBUG_DRAGNDROP</DefineConstants>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
</PropertyGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('netstandard'))">
<PackageReference Include="System.Reflection.Emit.Lightweight" Version="4.6.0" />
</ItemGroup>
<ItemGroup>
- <Compile Include="src\**\*.cs" Exclude="src\Mono.Cairo\NativeMethods-internal.cs" />
+ <Compile Include="src\**\*.cs" Exclude="src\Mono.Cairo\NativeMethods-internal.cs;src\backends\win32\User32\Structs\RawInputDevice.cs" />
<EmbeddedResource Include="Templates\*.*">
<LogicalName>Crow.%(Filename).template</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="Default.style" />
<EmbeddedResource Include="Icons\*.*" />
</ItemGroup>
- <ItemGroup>
- <Compile Remove="src\backends\win32\User32\Structs\RawInputDevice.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="src\backends\win32\User32\Structs\RawInputDevice.cs" />
- </ItemGroup>
</Project>
\ No newline at end of file
C# Rapid Open Widgets
<br>
<p align="center">
- <a href="https://gitter.im/CSharpRapidOpenWidgets?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge">
- <img src="https://badges.gitter.im/CSharpRapidOpenWidgets.svg">
- </a>
- <a href="https://www.paypal.me/GrandTetraSoftware">
- <img src="https://img.shields.io/badge/Donate-PayPal-green.svg">
- </a>
<a href="https://travis-ci.org/jpbruyere/Crow">
- <img src="https://travis-ci.org/jpbruyere/Crow.svg?branch=master">
+ <img src="https://img.shields.io/travis/jpbruyere/Crow.net.svg?&logo=travis&logoColor=white">
</a>
<a href="https://ci.appveyor.com/project/jpbruyere/Crow">
- <img src="https://ci.appveyor.com/api/projects/status/j387lo59vnov8jbc?svg=true">
+ <img src="https://img.shields.io/appveyor/ci/jpbruyere/Crow?label=Windows&logo=appveyor&logoColor=lightgrey">
</a>
+ <a href="https://www.paypal.me/GrandTetraSoftware">
+ <img src="https://img.shields.io/badge/Donate-PayPal-green.svg">
+ </a>
+ <a href="https://gitter.im/CSharpRapidOpenWidgets?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge">
+ <img src="https://badges.gitter.im/CSharpRapidOpenWidgets.svg">
+ </a>
</p>
</h1>
-**C.R.O.W.** is an [application framework](https://en.wikipedia.org/wiki/Application_framework) for building portable graphical interfaces entirely developed in **C#**. It provides a declarative interface language with **styling** and **templates** called [IML](interface-markup-language) for **Interface Markup Language** similar to [XAML](https://en.wikipedia.org/wiki/Extensible_Application_Markup_Language) and a binding system for easy code linking.
+**C.R.O.W.** is an open source [application framework](https://en.wikipedia.org/wiki/Application_framework) for building portable graphical interfaces in **C#**. It provides a declarative interface language with **styling** and **templates** called [IML](interface-markup-language) for **Interface Markup Language** similar to [XAML](https://en.wikipedia.org/wiki/Extensible_Application_Markup_Language) and a binding system for easy code linking.
C.R.O.W. is in **beta** development state, api could change.
-version: 0.4.{build}
+version: 0.8.{build}
-branches:
- only:
- - master
-
-clone_depth: 1
-
-before_build:
-- cmd: nuget restore Crow.sln
-
-build_script:
- - set path=%path%;C:\Program Files (x86)\Mono\bin
- - xbuild /p:Configuration=Release Crow.sln
-
-#build: off
+image:
+ - Visual Studio 2019
+ - Ubuntu
build:
-
-# project: Crow.sln
-
- verbosity: normal
+ verbosity: minimal
+
+for:
+ -
+ matrix:
+ only:
+ - image: Visual Studio 2019
+ environment:
+ APPVEYOR_SAVE_CACHE_ON_ERROR: true
+ build_script:
+ - msbuild /p:Configuration=Release /t:restore
+ - msbuild /p:Configuration=Release
+
+ -
+ matrix:
+ only:
+ - image: Ubuntu
+ environment:
+ FrameworkPathOverride: /usr/lib/mono/4.5/
+ build_script:
+ - dotnet build /p:Configuration=Release
+++ /dev/null
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <!-- When compiling .NET SDK 2.0 projects targeting .NET 4.x on Mono using 'dotnet build' you -->
- <!-- have to teach MSBuild where the Mono copy of the reference asssemblies is -->
- <TargetIsMono Condition="$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'">true</TargetIsMono>
-
- <!-- Look in the standard install locations -->
- <BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/Library/Frameworks/Mono.framework/Versions/Current/lib/mono')">/Library/Frameworks/Mono.framework/Versions/Current/lib/mono</BaseFrameworkPathOverrideForMono>
- <BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/usr/lib/mono')">/usr/lib/mono</BaseFrameworkPathOverrideForMono>
- <BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/usr/local/lib/mono')">/usr/local/lib/mono</BaseFrameworkPathOverrideForMono>
-
- <!-- If we found Mono reference assemblies, then use them -->
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net45'">$(BaseFrameworkPathOverrideForMono)/4.5-api</FrameworkPathOverride>
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net451'">$(BaseFrameworkPathOverrideForMono)/4.5.1-api</FrameworkPathOverride>
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net452'">$(BaseFrameworkPathOverrideForMono)/4.5.2-api</FrameworkPathOverride>
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net46'">$(BaseFrameworkPathOverrideForMono)/4.6-api</FrameworkPathOverride>
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net461'">$(BaseFrameworkPathOverrideForMono)/4.6.1-api</FrameworkPathOverride>
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net462'">$(BaseFrameworkPathOverrideForMono)/4.6.2-api</FrameworkPathOverride>
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net47'">$(BaseFrameworkPathOverrideForMono)/4.7-api</FrameworkPathOverride>
- <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net471'">$(BaseFrameworkPathOverrideForMono)/4.7.1-api</FrameworkPathOverride>
- <EnableFrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">true</EnableFrameworkPathOverride>
-
- <!-- Add the Facades directory. Not sure how else to do this. Necessary at least for .NET 4.5 -->
- <AssemblySearchPaths Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">$(FrameworkPathOverride)/Facades;$(AssemblySearchPaths)</AssemblySearchPaths>
- </PropertyGroup>
-</Project>
-
--- /dev/null
+using System;
+using Crow;
+using Crow.IML;
+using NUnit.Framework;
+
+namespace unitTests
+{
+ [TestFixture]
+ public class Tests
+ {
+
+
+ void instanciate ()
+ {
+ Instantiator.CreateFromImlFragment (null, @"<Widget Background='Blue' Tag='{test}'/>");
+ }
+
+
+
+ [Test]
+ public void InstanciatorTest ()
+ {
+ Assert.DoesNotThrow (instanciate, "test itor failed");
+ }
+
+ }
+}
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFramework>net472</TargetFramework>
+ <ReleaseVersion>0.8.0</ReleaseVersion>
+ </PropertyGroup>
+ <ItemGroup>
+ <PackageReference Include="NUnit" Version="3.12.0" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Crow\Crow.csproj" />
+ </ItemGroup>
+</Project>