Prexonite, a .NET hosted scripting language with a focus on meta-programming and embedded DSLs
0

Configure Feed

Select the types of activity you want to include in your feed.

Configure autoamted tests on all branches

- build on all branches
- remove .gitattributes (does more harm than good)
- only build Prexonite (not PxCoco, assembly checked into git)
- upgrade NuGet to PackageReference
- Add VS test adapter so that azure devops can run test suite

Christian Klauser (Jun 29, 2019, 4:49 PM +0200) e75877bf df0c78cf

+71 -98
-10
.gitattributes
··· 1 1 2 - * binary 3 2 4 - *.xml text eol=lf 5 - *.cs text eol=lf 6 - *.sln text eol=lf 7 - *.csproj text eol=lf 8 - *.pxs text eol=lf 9 - *.md text eol=lf 10 - *.atg text eol=lf 11 - *.lex text eol=lf 12 - *.frame text eol=lf
+15 -16
Prexonite/Prexonite.csproj
··· 1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0"> 3 - <Import Project="..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" /> 4 3 <PropertyGroup> 5 4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 6 5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> ··· 39 38 <UseApplicationTrust>false</UseApplicationTrust> 40 39 <BootstrapperEnabled>true</BootstrapperEnabled> 41 40 <LangVersion>7.2</LangVersion> 41 + <NuGetPackageImportStamp> 42 + </NuGetPackageImportStamp> 42 43 </PropertyGroup> 43 44 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 44 45 <DebugSymbols>true</DebugSymbols> ··· 99 100 <Reference Include="System" /> 100 101 <Reference Include="System.Core"> 101 102 <RequiredTargetFramework>3.5</RequiredTargetFramework> 102 - </Reference> 103 - <Reference Include="System.Threading.Tasks.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"> 104 - <HintPath>..\packages\System.Threading.Tasks.Extensions.4.4.0\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath> 105 - <Private>True</Private> 106 - </Reference> 107 - <Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"> 108 - <HintPath>..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll</HintPath> 109 - <Private>True</Private> 110 103 </Reference> 111 104 </ItemGroup> 112 105 <ItemGroup> ··· 500 493 <Compile Include="Types\StructurePType.cs" /> 501 494 <Compile Include="VM.cs" /> 502 495 <Content Include="Compiler\Prexonite.lex" /> 503 - <None Include="packages.config" /> 504 496 <None Include="prxlib\sh.pxs" /> 505 497 <None Include="Commands\Core\Operators\Operators.tt"> 506 498 <Generator>TextTemplatingFileGenerator</Generator> ··· 566 558 <LastGenOutput>Resources.Designer.cs</LastGenOutput> 567 559 <SubType>Designer</SubType> 568 560 </EmbeddedResource> 561 + </ItemGroup> 562 + <ItemGroup> 563 + <PackageReference Include="Microsoft.Net.Compilers"> 564 + <Version>3.1.1</Version> 565 + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> 566 + <PrivateAssets>all</PrivateAssets> 567 + </PackageReference> 568 + <PackageReference Include="System.Threading.Tasks.Extensions"> 569 + <Version>4.5.2</Version> 570 + </PackageReference> 571 + <PackageReference Include="System.ValueTuple"> 572 + <Version>4.5.0</Version> 573 + </PackageReference> 569 574 </ItemGroup> 570 575 <!-- CUSTOM TASKS --> 571 576 <PropertyGroup> ··· 655 660 </Target> 656 661 <Target Name="PrexoniteScanner"> 657 662 <Exec Command="&quot;$(ToolsDirectory)\csflex.exe&quot; --csharp --nested-default-skeleton --nobak $(PrexoniteScannerDefinition)" WorkingDirectory="$(ProjectDir)\Compiler" /> 658 - </Target> 659 - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 660 - <PropertyGroup> 661 - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.</ErrorText> 662 - </PropertyGroup> 663 - <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props'))" /> 664 663 </Target> 665 664 </Project>
-6
Prexonite/packages.config
··· 1 - <?xml version="1.0" encoding="utf-8"?> 2 - <packages> 3 - <package id="Microsoft.Net.Compilers" version="2.7.0" targetFramework="net462" developmentDependency="true" /> 4 - <package id="System.Threading.Tasks.Extensions" version="4.4.0" targetFramework="net462" /> 5 - <package id="System.ValueTuple" version="4.4.0" targetFramework="net461" /> 6 - </packages>
+21 -29
PrexoniteTests/PrexoniteTests.csproj
··· 1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0"> 3 - <Import Project="..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" /> 4 - <Import Project="..\packages\NUnit.3.10.1\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.10.1\build\NUnit.props')" /> 5 3 <PropertyGroup> 6 4 <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> 7 5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> ··· 39 37 <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 40 38 <RestorePackages>true</RestorePackages> 41 39 <LangVersion>7.2</LangVersion> 40 + <NuGetPackageImportStamp> 41 + </NuGetPackageImportStamp> 42 42 </PropertyGroup> 43 43 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 44 44 <DebugSymbols>true</DebugSymbols> ··· 101 101 <AssemblyOriginatorKeyFile>Prexonite.snk</AssemblyOriginatorKeyFile> 102 102 </PropertyGroup> 103 103 <ItemGroup> 104 - <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc"> 105 - <HintPath>..\packages\Castle.Core.4.2.1\lib\net45\Castle.Core.dll</HintPath> 106 - <Private>True</Private> 107 - </Reference> 108 104 <Reference Include="Microsoft.CSharp" /> 109 - <Reference Include="Moq, Version=4.8.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920"> 110 - <HintPath>..\packages\Moq.4.8.2\lib\net45\Moq.dll</HintPath> 111 - <Private>True</Private> 112 - </Reference> 113 105 <Reference Include="mscorlib" /> 114 - <Reference Include="nunit.framework, Version=3.10.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb"> 115 - <HintPath>..\packages\NUnit.3.10.1\lib\net45\nunit.framework.dll</HintPath> 116 - <Private>True</Private> 117 - </Reference> 118 106 <Reference Include="System" /> 119 107 <Reference Include="System.Configuration" /> 120 - <Reference Include="System.Threading.Tasks.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"> 121 - <HintPath>..\packages\System.Threading.Tasks.Extensions.4.4.0\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath> 122 - </Reference> 123 - <Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"> 124 - <HintPath>..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll</HintPath> 125 - <Private>True</Private> 126 - </Reference> 127 108 </ItemGroup> 128 109 <ItemGroup> 129 110 <Compile Include="Meta.cs" /> ··· 202 183 </ItemGroup> 203 184 <ItemGroup> 204 185 <None Include="app.config" /> 205 - <None Include="packages.config" /> 206 186 <None Include="Prexonite.snk" /> 207 187 <None Include="psr-tests\ast.test.pxs" /> 208 188 <None Include="psr-tests\find-deficiencies.pxs" /> ··· 227 207 <ItemGroup> 228 208 <Folder Include="Internal\" /> 229 209 </ItemGroup> 210 + <ItemGroup> 211 + <PackageReference Include="Microsoft.Net.Compilers"> 212 + <Version>3.1.1</Version> 213 + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> 214 + <PrivateAssets>all</PrivateAssets> 215 + </PackageReference> 216 + <PackageReference Include="Moq"> 217 + <Version>4.12.0</Version> 218 + </PackageReference> 219 + <PackageReference Include="NUnit"> 220 + <Version>3.12.0</Version> 221 + </PackageReference> 222 + <PackageReference Include="NUnit3TestAdapter"> 223 + <Version>3.13.0</Version> 224 + </PackageReference> 225 + <PackageReference Include="System.Threading.Tasks.Extensions"> 226 + <Version>4.5.2</Version> 227 + </PackageReference> 228 + </ItemGroup> 230 229 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 231 230 <Import Project="$(SolutionDir)\.nuget\nuget.targets" /> 232 - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 233 - <PropertyGroup> 234 - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.</ErrorText> 235 - </PropertyGroup> 236 - <Error Condition="!Exists('..\packages\NUnit.3.10.1\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.10.1\build\NUnit.props'))" /> 237 - <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props'))" /> 238 - </Target> 239 231 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 240 232 Other similar extension points exist, see Microsoft.Common.targets. 241 233 <Target Name="BeforeBuild">
+17 -9
PrexoniteTests/app.config
··· 1 - <?xml version="1.0"?> 1 + <?xml version="1.0" encoding="utf-8"?> 2 2 <configuration> 3 3 <startup> 4 - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/> 4 + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> 5 5 </startup> 6 6 <system.diagnostics> 7 7 <sources> 8 8 <source name="PrexoniteTests.Tests.Configurations.ModuleCache" switchName="PrexoniteTests" switchType="System.Diagnostics.SourceSwitch"> 9 9 <!-- use default listeners. use <clear /> to remove those --> 10 10 <listeners> 11 - <remove name="Default"/> 12 - <add name="build.log"/> 11 + <remove name="Default" /> 12 + <add name="build.log" /> 13 13 </listeners> 14 14 </source> 15 15 <source name="PrexoniteTests.Tests.SelfAssemblingPlan" switchName="PrexoniteTests" switchType="System.Diagnostics.SourceSwitch"> 16 16 <!-- use default listeners. use <clear /> to remove those --> 17 17 <listeners> 18 - <remove name="Default"/> 19 - <add name="build.log"/> 18 + <remove name="Default" /> 19 + <add name="build.log" /> 20 20 </listeners> 21 21 </source> 22 22 <source name="Prexonite.Compiler.Build" switchName="PrexoniteTests" switchType="System.Diagnostics.SourceSwitch"> 23 23 <listeners> 24 - <remove name="Default"/> 25 - <add name="build.log"/> 24 + <remove name="Default" /> 25 + <add name="build.log" /> 26 26 </listeners> 27 27 </source> 28 28 </sources> 29 29 <switches> 30 - <add name="PrexoniteTests" value="Verbose"/> 30 + <add name="PrexoniteTests" value="Verbose" /> 31 31 </switches> 32 32 <sharedListeners> 33 33 <add name="build.log" type="System.Diagnostics.TextWriterTraceListener" initializeData="build.log" traceOutputOptions="DateTime, ThreadId"> 34 34 </add> 35 35 </sharedListeners> 36 36 </system.diagnostics> 37 + <runtime> 38 + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 39 + <dependentAssembly> 40 + <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> 41 + <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> 42 + </dependentAssembly> 43 + </assemblyBinding> 44 + </runtime> 37 45 </configuration>
-9
PrexoniteTests/packages.config
··· 1 - <?xml version="1.0" encoding="utf-8"?> 2 - <packages> 3 - <package id="Castle.Core" version="4.2.1" targetFramework="net461" /> 4 - <package id="Microsoft.Net.Compilers" version="2.7.0" targetFramework="net462" developmentDependency="true" /> 5 - <package id="Moq" version="4.8.2" targetFramework="net461" /> 6 - <package id="NUnit" version="3.10.1" targetFramework="net461" /> 7 - <package id="System.Threading.Tasks.Extensions" version="4.4.0" targetFramework="net461" /> 8 - <package id="System.ValueTuple" version="4.4.0" targetFramework="net461" /> 9 - </packages>
+12 -12
Prx/Prx.csproj
··· 1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0"> 3 - <Import Project="..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" /> 4 3 <PropertyGroup> 5 4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 6 5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> ··· 42 41 <ApplicationVersion>1.0.0.%2a</ApplicationVersion> 43 42 <UseApplicationTrust>false</UseApplicationTrust> 44 43 <BootstrapperEnabled>true</BootstrapperEnabled> 44 + <NuGetPackageImportStamp> 45 + </NuGetPackageImportStamp> 45 46 </PropertyGroup> 46 47 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 47 48 <DebugSymbols>true</DebugSymbols> ··· 104 105 </PropertyGroup> 105 106 <ItemGroup> 106 107 <Reference Include="System" /> 107 - <Reference Include="System.Threading.Tasks.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"> 108 - <HintPath>..\packages\System.Threading.Tasks.Extensions.4.4.0\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath> 109 - <Private>True</Private> 110 - </Reference> 111 108 </ItemGroup> 112 109 <ItemGroup> 113 110 <Compile Include="Benchmarking\Benchmark.cs" /> ··· 145 142 </Content> 146 143 <None Include="config\app.Release.config" /> 147 144 <None Include="config\app.Debug.config" /> 148 - <None Include="packages.config" /> 149 145 <None Include="psr\debug\debug.pxs"> 150 146 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 151 147 </None> ··· 326 322 <Name>Prexonite</Name> 327 323 </ProjectReference> 328 324 </ItemGroup> 325 + <ItemGroup> 326 + <PackageReference Include="Microsoft.Net.Compilers"> 327 + <Version>3.1.1</Version> 328 + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> 329 + <PrivateAssets>all</PrivateAssets> 330 + </PackageReference> 331 + <PackageReference Include="System.Threading.Tasks.Extensions"> 332 + <Version>4.5.2</Version> 333 + </PackageReference> 334 + </ItemGroup> 329 335 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 330 336 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 331 337 Other similar extension points exist, see Microsoft.Common.targets. ··· 338 344 <!-- Choose configuration file depending on MSBuild configuration --> 339 345 <Delete Files="$(TargetDir)$(TargetFileName).config" /> 340 346 <Copy SourceFiles="$(ProjectDir)\config\app.$(Configuration).config" DestinationFiles="$(TargetDir)$(TargetFileName).config" /> 341 - </Target> 342 - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 343 - <PropertyGroup> 344 - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.</ErrorText> 345 - </PropertyGroup> 346 - <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props'))" /> 347 347 </Target> 348 348 </Project>
-5
Prx/packages.config
··· 1 - <?xml version="1.0" encoding="utf-8"?> 2 - <packages> 3 - <package id="Microsoft.Net.Compilers" version="2.7.0" targetFramework="net462" developmentDependency="true" /> 4 - <package id="System.Threading.Tasks.Extensions" version="4.4.0" targetFramework="net462" /> 5 - </packages>
+6 -2
azure-pipelines.yml
··· 4 4 # https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net 5 5 6 6 trigger: 7 - - master 7 + branches: 8 + include: 9 + - '*' 8 10 9 11 pool: 10 12 vmImage: 'windows-latest' 11 13 12 14 variables: 13 - solution: '**/*.sln' 15 + solution: 'Prexonite.sln' 14 16 buildPlatform: 'Any CPU' 15 17 buildConfiguration: 'Release' 16 18 ··· 31 33 inputs: 32 34 platform: '$(buildPlatform)' 33 35 configuration: '$(buildConfiguration)' 36 + testAssemblyVer2: '**\PrexoniteTests.exe' 37 + codeCoverageEnabled: True