summaryrefslogtreecommitdiff
path: root/tests/dir.props
blob: 870d4e39bea9cc9b730edab06337bb1f93d752bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <!--
    $(OS) is set to Unix/Windows_NT. This comes from an environment variable on Windows and MSBuild on Unix.
  -->
  <PropertyGroup>
    <OsEnvironment Condition="'$(OsEnvironment)'==''">$(OS)</OsEnvironment>
  </PropertyGroup>
  
  <!-- Build Tools Versions -->
  <PropertyGroup>
    <RoslynVersion>1.0.0-rc3-20150510-01</RoslynVersion>
    <RoslynPackageName>Microsoft.Net.ToolsetCompilers</RoslynPackageName>
  </PropertyGroup>

  <!--   
    Switching to the .NET Core version of the BuildTools tasks seems to break numerous scenarios, such as VS intellisense and resource designer   
    as well as runnning the build on mono. Until we can get these sorted out we will continue using the .NET 4.5 version of the tasks.   
   -->   
  <PropertyGroup>  
    <BuildToolsTargets45>true</BuildToolsTargets45>   
  </PropertyGroup>  

  <!-- Make the stable version of xunit that the tests depend on available to both the project.json generation and the validation task. -->
  <PropertyGroup>
    <XunitPackageVersion>2.1.0</XunitPackageVersion>
  </PropertyGroup>

  <!-- Common repo directories -->
  <PropertyGroup>
    <CopyNuGetImplementations Condition="'$(CopyNuGetImplementations)'==''">false</CopyNuGetImplementations>
    <ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
    <SourceDir>$(ProjectDir)src\</SourceDir>
    <PackagesDir>$(ProjectDir)..\packages\</PackagesDir>
    <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)..\Tools\</ToolsDir>  
    <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli/</DotnetCliPath> 
    <BuildToolsTaskDir Condition="'$(BuildToolsTargets45)' == 'true'">$(ToolsDir)net45/</BuildToolsTaskDir>
    <SkipImportILTargets>true</SkipImportILTargets>
  </PropertyGroup>

   <!-- Package dependency validation -->
  <PropertyGroup>
    <ValidatePackageVersions>true</ValidatePackageVersions>
    <ProhibitFloatingDependencies>true</ProhibitFloatingDependencies>
  </PropertyGroup>

  <ItemGroup>
    <ValidationPattern Include="^(?i)((System\..%2A)|(Microsoft\.CSharp)|(Microsoft\.NETCore.%2A)|(Microsoft\.Win32\..%2A)|(Microsoft\.VisualBasic))(?&lt;!TestData)$">
      <ExpectedPrerelease>rc3-24117-00</ExpectedPrerelease>
    </ValidationPattern>
    <ValidationPattern Include="^(?i)(xunit(\.assert|\.core|\.runner\.(utility|msbuild))?)$">
      <ExpectedVersion>$(XunitPackageVersion)</ExpectedVersion>
    </ValidationPattern>
    <!-- Add a dummy value so that the item isn't removed by msbuild. Without the | this item doesn't show up later. -->
    <ValidationPattern Include="^(?i)(xunit\.console\.netcore|dummy value)$">
      <ExpectedVersion>1.0.2-prerelease-00101</ExpectedVersion>
    </ValidationPattern>
    <ValidationPattern Include="^(?i)Microsoft\.DotNet\.xunit\.performance.%2A$">
      <ExpectedVersion>1.0.0-alpha-build0035</ExpectedVersion>
    </ValidationPattern>
  </ItemGroup>

  <!-- Common nuget properties -->
  <PropertyGroup>
    <NuGetToolPath Condition="'$(NuGetToolPath)'==''">$(PackagesDir)NuGet.exe</NuGetToolPath>
    <NuGetConfigFile Condition="'$(NuGetConfigFile)'==''">$(SourceDir)NuGet.Config</NuGetConfigFile>
    <NuGetConfigCommandLine>-ConfigFile "$(NuGetConfigFile)"</NuGetConfigCommandLine>

    <NugetRestoreCommand>"$(NuGetToolPath)"</NugetRestoreCommand>
    <NugetRestoreCommand>$(NugetRestoreCommand) install</NugetRestoreCommand>
    <!-- Trim off the last slash so that nuget doesn't get confused and say there are illegal characters on
         the path. -->
    <NugetRestoreCommand>$(NugetRestoreCommand) -OutputDirectory "$(PackagesDir.TrimEnd('\\'))"</NugetRestoreCommand>
    <NugetRestoreCommand>$(NugetRestoreCommand) $(NuGetConfigCommandLine)</NugetRestoreCommand>
    <NugetRestoreCommand>$(NugetRestoreCommand) -Verbosity detailed</NugetRestoreCommand>
    <NugetRestoreCommand Condition="'$(OsEnvironment)'=='Unix'">mono $(NuGetRestoreCommand)</NugetRestoreCommand>
  </PropertyGroup>

   <!-- list of nuget package sources passed to dnu --> 
   <ItemGroup> 
     <!-- Need to escape double forward slash (%2F) or MSBuild will normalize to one slash on Unix. --> 
     <DnuSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-core/api/v3/index.json" /> 
     <DnuSourceList Include="https:%2F%2Fapi.nuget.org/v3/index.json" /> 
   </ItemGroup> 

  
  <!-- list of directories to perform batch restore -->
  <ItemGroup>
    <DnuRestoreDir Include="&quot;$(MSBuildProjectDirectory)\src&quot;" />
  </ItemGroup>
  
  <PropertyGroup Condition="'$(BuildAllProjects)'=='true'">
    <!-- When we do a traversal build we get all packages up front, don't restore them again -->
    <RestorePackages>false</RestorePackages>
  </PropertyGroup>
  
  <PropertyGroup>
    <DotnetToolCommand Condition="'$(DotnetToolCommand)'=='' and '$(OsEnvironment)'!='Unix'">$(DotnetCliPath)dotnet.exe</DotnetToolCommand>    
    <DotnetToolCommand Condition="'$(DotnetToolCommand)'=='' and '$(OsEnvironment)'=='Unix'">$(DotnetCliPath)dotnet</DotnetToolCommand>    

    <DnuRestoreSource>@(DnuSourceList -> '--source %(Identity)', ' ')</DnuRestoreSource>
    <DnuRestoreDirs>@(DnuRestoreDir -> '%(Identity)', ' ')</DnuRestoreDirs>

    <DnuRestoreCommand>$(DnuRestoreCommand) "$(DotnetToolCommand)"</DnuRestoreCommand>
    <DnuRestoreCommand>$(DnuRestoreCommand) restore</DnuRestoreCommand>
    <DnuRestoreCommand>$(DnuRestoreCommand) --packages "$(PackagesDir.TrimEnd('/\'.ToCharArray()))" $(DnuRestoreSource)</DnuRestoreCommand>
  </PropertyGroup>

  <!-- Create a collection of all project.json files for dependency updates. -->
  <ItemGroup>
    <ProjectJsonFiles Include="$(SourceDir)**\project.json" />
  </ItemGroup>

  <!-- Which tests shall we build? Default: Priority 0 tests.
    At the command-line, the user can specify /p:CLRTestPriorityToBuild=666 (for example), and
    all tests with CLRTestPriority 666,..., 1 AND 0 will build. 
    
    Consequently, specifying CLRTestPriorityToBuild=1 will build all tests with CLRTestPriority 1 and 0.
    
    CLRTestPriority = 0 will build only priority 0 cases. 
  
    In other words, the CLRTestPriority cases of 0 are *essential* testcases. The higher the value,
    the less priority we give them.
   -->
  <PropertyGroup>
    <CLRTestPriorityToBuild>0</CLRTestPriorityToBuild>
  </PropertyGroup>
  
</Project>