Skip to content

Commit

Permalink
Updated references packages and appveyor (#9)
Browse files Browse the repository at this point in the history
* Fixed referencing and packages
* update solution to VS2017
* converted projects to new SDK format too
* publish nuget package only when on master and develop
  • Loading branch information
thoemmi committed Feb 7, 2018
1 parent 0e92e2c commit 640be8f
Show file tree
Hide file tree
Showing 18 changed files with 410 additions and 384 deletions.
18 changes: 3 additions & 15 deletions GitVersion.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
assembly-informational-format: '{NuGetVersion}'
assembly-informational-format: '{FullSemVer}'
mode: ContinuousDeployment
branches:
master:
tag: rc
increment: Minor
features?[/-]:
tag: rc-{BranchName}
increment: Minor
(pull|pull\-requests|pr)[/-]:
tag: rc-pr-{BranchName}
increment: Minor
hotfix(es)?[/-]:
tag: rc
increment: Patch
dev(elop)?(ment)?$:
tag: b
develop:
tag: unstable
30 changes: 19 additions & 11 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
image: Visual Studio 2017
configuration: Release

install:
- choco install gitversion.portable -pre -y

assembly_info:
patch: false

before_build:
- nuget restore src\TinyLittleMvvm.sln
- ps: gitversion /l console /output buildserver
- cmd: gitversion /l console /output buildserver

build_script:
- cmd: msbuild src\TinyLittleMvvm.sln /t:restore
- cmd: msbuild src\TinyLittleMvvm.sln /t:restore /p:ExcludeRestorePackageImports=true
- cmd: msbuild src\TinyLittleMvvm.sln /t:build /p:Configuration=%CONFIGURATION% /p:GeneratePackageOnBuild=true

build:
project: src\TinyLittleMvvm.sln
artifacts:
- path: '**\*.nupkg'

after_build:
- cmd: ECHO nuget pack src\TinyLittleMvvm\TinyLittleMvvm.nuspec -version "%GitVersion_NuGetVersion%" -prop "target=%CONFIGURATION%"
- cmd: nuget pack src\TinyLittleMvvm\TinyLittleMvvm.csproj -version "%GitVersion_NuGetVersion%" -prop "target=%CONFIGURATION%"
- cmd: appveyor PushArtifact "TinyLittleMvvm.%GitVersion_NuGetVersion%.nupkg"
deploy:
- provider: NuGet
api_key:
secure: 5ppgDORFEq5HEQq6CbFnE4rwxQLSnN9xWCZXfRKANMV++mM9E1VsinyhlieKwf3a
on:
branch:
- master
- develop
41 changes: 41 additions & 0 deletions src/CustomProjectSystem/CustomProject.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" />

<PropertyGroup>
<!-- you can disable (set false) these two properties if you don't want to use default VS behavior for adding your files -->
<EnableDefaultItems>true</EnableDefaultItems>
<EnableDefaultCompileItems>true</EnableDefaultCompileItems>
</PropertyGroup>

<!-- GitVersion version -->
<PropertyGroup>
<GitVersionTaskVersion>4.0.0-beta0012</GitVersionTaskVersion>
</PropertyGroup>
<ItemGroup>
<!-- reference GitVersionTask package -->
<PackageReference Include="GitVersionTask" Version="$(GitVersionTaskVersion)" PrivateAssets="All" />
</ItemGroup>

<!--
Import GitVersionTask target
This ugly workaround is necessary because of this NuGet issue: https://github.com/NuGet/Home/issues/4790
-->
<ImportGroup Condition="'$(ExcludeRestorePackageImports)' == 'true'">
<Import
Project="$(UserProfile)\.nuget\packages\gitversiontask\$(GitVersionTaskVersion)\buildMultiTargeting\GitVersionTask.targets"
Condition="Exists('$(UserProfile)\.nuget\packages\gitversiontask\$(GitVersionTaskVersion)\buildMultiTargeting\GitVersionTask.targets')" />
</ImportGroup>

<Import Project="$(MSBuildThisFileDirectory)\CustomProject.targets" />

<!-- workaround for issue #4 from https://github.com/dotnet/sdk/issues/810#issuecomment-295642279 -->
<PropertyGroup>
<LanguageTargets>$(MSBuildToolsPath)\Microsoft.CSharp.targets</LanguageTargets>
</PropertyGroup>

<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" />

</Project>
71 changes: 71 additions & 0 deletions src/CustomProjectSystem/CustomProject.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'" />

<ItemGroup>
<ProjectCapability Include="DynamicDependentFile" />
<ProjectCapability Include="WindowsXaml;WindowsXamlPage;WindowsXamlCodeBehind;WindowsXamlResourceDictionary;WindowsXamlUserControl" />
</ItemGroup>

<ItemGroup>
<!-- This is a workaround for issue described in https://github.com/Microsoft/VSProjectSystem/issues/261
I'm very not sure about this hack but so far it works properly to us -->
<PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectItemsSchema.xaml" />

<PropertyPageSchema Include="$(MSBuildThisFileDirectory)Rules\ProjectItemsSchema.xaml;" />

<PropertyPageSchema Include="$(MSBuildThisFileDirectory)Rules\Page.xaml;">
<Context>File;BrowseObject</Context>
</PropertyPageSchema>

<PropertyPageSchema Include="$(MSBuildThisFileDirectory)Rules\ApplicationDefinition.xaml;">
<Context>File;BrowseObject</Context>
</PropertyPageSchema>
</ItemGroup>

<ItemGroup>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xaml" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="WindowsBase" />
</ItemGroup>

<!-- Items include -->
<ItemGroup>

<Compile Remove="$(BaseIntermediateOutputPath)\**" />

<Page Include="**\*.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>

<UpToDateCheckInput Include="**\*.xaml" />
</ItemGroup>

<!--
Workaround to fix Intellisense file generation for XAML projects
https://github.com/dotnet/project-system/issues/2488
-->
<Target Name="WorkaroundForXAMLIntellisenseBuildIssue" AfterTargets="_CheckCompileDesignTimePrerequisite">
<PropertyGroup>
<BuildingProject>false</BuildingProject>
</PropertyGroup>
</Target>

<!--
Import GitVersionTask target
This ugly workaround is necessary because of this NuGet issue: https://github.com/NuGet/Home/issues/4790
-->
<Target
Name="FixUpVersion"
BeforeTargets="_GenerateRestoreProjectSpec"
DependsOnTargets="GetVersion"
Condition="'$(GitVersion_Task_targets_Imported)' == 'True'" />

</Project>
99 changes: 99 additions & 0 deletions src/CustomProjectSystem/Rules/ApplicationDefinition.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.-->
<Rule
Name="ApplicationDefinition"
DisplayName="ApplicationDefinition"
PageTemplate="generic"
Description="File Properties"
xmlns="http://schemas.microsoft.com/build/2009/properties">
<Rule.DataSource>
<DataSource Persistence="ProjectFile" HasConfigurationCondition="False" ItemType="ApplicationDefinition" SourceOfDefaultValue="AfterContext" />
</Rule.DataSource>
<Rule.Categories>
<Category Name="Advanced" DisplayName="Advanced" />
<Category Name="Misc" DisplayName="Misc" />
</Rule.Categories>

<DynamicEnumProperty Name="{}{ItemType}" DisplayName="Build Action" Category="Advanced"
Description="How the file relates to the build and deployment processes."
EnumProvider="ItemTypes" />
<EnumProperty
Name="CopyToOutputDirectory"
DisplayName="Copy to Output Directory"
Category="Advanced"
Description="Specifies the source file will be copied to the output directory.">
<EnumValue Name="Never" DisplayName="Do not copy" />
<EnumValue Name="Always" DisplayName="Copy always" />
<EnumValue Name="PreserveNewest" DisplayName="Copy if newer" />
</EnumProperty>

<StringProperty
Name="Generator"
Category="Advanced"
DisplayName="Custom Tool"
Description="Specifies the tool that transforms a file at design time and places the output of that transformation into another file. For example, a dataset (.xsd) file comes with a default custom tool." />
<StringProperty
Name="CustomToolNamespace"
Category="Advanced"
DisplayName="Custom Tool Namespace"
Description="The namespace into which the output of the custom tool is placed." />

<StringProperty
Name="Identity"
Visible="false"
ReadOnly="true"
Category="Misc"
Description="The item specified in the Include attribute.">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="ApplicationDefinition" PersistedName="Identity" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>

<StringProperty
Name="FullPath"
DisplayName="Full Path"
ReadOnly="true"
Category="Misc"
Description="Location of the file.">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="ApplicationDefinition" PersistedName="FullPath" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>

<StringProperty
Name="FileNameAndExtension"
DisplayName="File Name"
ReadOnly="true"
Category="Misc"
Description="Name of the file or folder.">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="ApplicationDefinition" PersistedName="FileNameAndExtension" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>

<StringProperty Name="URL" ReadOnly="true" Visible="false">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="ApplicationDefinition" PersistedName="FullPath" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty Name="Visible" Visible="false" />
<StringProperty Name="DependentUpon" Visible="false" />
<StringProperty Name="Link" Visible="false">
<StringProperty.DataSource>
<DataSource PersistenceStyle="Attribute" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty Name="Extension" Visible="False" ReadOnly="true">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="ApplicationDefinition" PersistedName="Extension" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty Name="LastGenOutput" Visible="false" Description="The filename of the last file generated as a result of the SFG." />
<BoolProperty Name="DesignTime" Visible="false" Description="A value indicating whether this file has a designer." />
<BoolProperty Name="AutoGen" Visible="false" Description="A value indicating whether this is a generated file." />
<StringProperty Name="CustomTool" Visible="false" Description="DTE Property for accessing the Generator property.">
<StringProperty.DataSource>
<DataSource Persistence="ProjectFile" ItemType="ApplicationDefinition" PersistedName="Generator" HasConfigurationCondition="False" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
</Rule>
99 changes: 99 additions & 0 deletions src/CustomProjectSystem/Rules/Page.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.-->
<Rule
Name="Page"
DisplayName="Page"
PageTemplate="generic"
Description="File Properties"
xmlns="http://schemas.microsoft.com/build/2009/properties">
<Rule.DataSource>
<DataSource Persistence="ProjectFile" HasConfigurationCondition="False" ItemType="Page" SourceOfDefaultValue="AfterContext" />
</Rule.DataSource>
<Rule.Categories>
<Category Name="Advanced" DisplayName="Advanced" />
<Category Name="Misc" DisplayName="Misc" />
</Rule.Categories>

<DynamicEnumProperty Name="{}{ItemType}" DisplayName="Build Action" Category="Advanced"
Description="How the file relates to the build and deployment processes."
EnumProvider="ItemTypes" />
<EnumProperty
Name="CopyToOutputDirectory"
DisplayName="Copy to Output Directory"
Category="Advanced"
Description="Specifies the source file will be copied to the output directory.">
<EnumValue Name="Never" DisplayName="Do not copy" />
<EnumValue Name="Always" DisplayName="Copy always" />
<EnumValue Name="PreserveNewest" DisplayName="Copy if newer" />
</EnumProperty>

<StringProperty
Name="Generator"
Category="Advanced"
DisplayName="Custom Tool"
Description="Specifies the tool that transforms a file at design time and places the output of that transformation into another file. For example, a dataset (.xsd) file comes with a default custom tool." />
<StringProperty
Name="CustomToolNamespace"
Category="Advanced"
DisplayName="Custom Tool Namespace"
Description="The namespace into which the output of the custom tool is placed." />

<StringProperty
Name="Identity"
Visible="false"
ReadOnly="true"
Category="Misc"
Description="The item specified in the Include attribute.">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="Page" PersistedName="Identity" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>

<StringProperty
Name="FullPath"
DisplayName="Full Path"
ReadOnly="true"
Category="Misc"
Description="Location of the file.">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="Page" PersistedName="FullPath" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>

<StringProperty
Name="FileNameAndExtension"
DisplayName="File Name"
ReadOnly="true"
Category="Misc"
Description="Name of the file or folder.">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="Page" PersistedName="FileNameAndExtension" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>

<StringProperty Name="URL" ReadOnly="true" Visible="false">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="Page" PersistedName="FullPath" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty Name="Visible" Visible="false" />
<StringProperty Name="DependentUpon" Visible="false" />
<StringProperty Name="Link" Visible="false">
<StringProperty.DataSource>
<DataSource PersistenceStyle="Attribute" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty Name="Extension" Visible="False" ReadOnly="true">
<StringProperty.DataSource>
<DataSource Persistence="Intrinsic" ItemType="Page" PersistedName="Extension" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty Name="LastGenOutput" Visible="false" Description="The filename of the last file generated as a result of the SFG." />
<BoolProperty Name="DesignTime" Visible="false" Description="A value indicating whether this file has a designer." />
<BoolProperty Name="AutoGen" Visible="false" Description="A value indicating whether this is a generated file." />
<StringProperty Name="CustomTool" Visible="false" Description="DTE Property for accessing the Generator property.">
<StringProperty.DataSource>
<DataSource Persistence="ProjectFile" ItemType="Page" PersistedName="Generator" HasConfigurationCondition="False" SourceOfDefaultValue="AfterContext" />
</StringProperty.DataSource>
</StringProperty>
</Rule>
21 changes: 21 additions & 0 deletions src/CustomProjectSystem/Rules/ProjectItemsSchema.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<ProjectSchemaDefinitions
xmlns="http://schemas.microsoft.com/build/2009/properties">

<ContentType
Name="Page"
DisplayName="Page file"
ItemType="Page">
<NameValuePair Name="DependentExtensions" Value=".xaml.cs" />
<NameValuePair Name="DefaultMetadata_SubType" Value="Designer" />
<NameValuePair Name="DefaultMetadata_Generator" Value="MSBuild:Compile" />
</ContentType>

<ItemType Name="Page" DisplayName="Page" />
<ItemType Name="ApplicationDefinition" DisplayName="Application definition" />

<FileExtension Name=".xaml" ContentType="Page" />

</ProjectSchemaDefinitions>

0 comments on commit 640be8f

Please sign in to comment.