Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<Project>

<!-- Common build settings -->
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<OutRoot>$(RepoRoot)$([MSBuild]::EnsureTrailingSlash(out/$(SubOutRoot)))</OutRoot>
<EngRoot>$(RepoRoot)eng/</EngRoot>
<SrcRoot>$(RepoRoot)src/</SrcRoot>
<BaseOutputPath>$(OutRoot)bin/</BaseOutputPath>
<BaseIntermediateOutputPath>$(OutRoot)obj/$(MSBuildProjectName)/</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)/</IntermediateOutputPath>
<SubOutputPath Condition="'$(SubOutputPath)' == ''">$(MSBuildProjectName)/</SubOutputPath>
<OutputPath>$(BaseOutputPath)$(Configuration)/$([MSBuild]::EnsureTrailingSlash($(SubOutputPath)))</OutputPath>
<PackageOutputPath>$(OutRoot)pkg/</PackageOutputPath>
</PropertyGroup>

<!-- Signing -->
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(EngRoot)key.snk</AssemblyOriginatorKeyFile>
<StrongNamePublicKey>0024000004800000940000000602000000240000525341310004000001000100e93024fd5f6737b5f408b39a97e746f673e7c62d690716c6022ee8871b2bc5efcbd8015dd02253302196ded0d9fc0c6bc0e84740f74ca828fed9aebf15272867019cf991484c06b00c7d7aacb34b40ed0ae633f0432df41db65caa4b03f9a0e6974c15aeaa7db2acd902914c0628f0b77d9b7839f530ba04584aed9287159ebd</StrongNamePublicKey>
</PropertyGroup>

</Project>
19 changes: 19 additions & 0 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<Project>

<ItemGroup>
<None Update="**/appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="**/appsettings.*.json">
<DependentUpon>appsettings.json</DependentUpon>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

<ItemGroup>
<AdditionalFiles Include="$(RepoRoot)stylecop.json" Visible="false" />
</ItemGroup>

<Import Project="$(EngRoot)targets/InternalsVisibleTo.targets" />

</Project>
6 changes: 3 additions & 3 deletions azure-pipelines-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ steps:
displayName: 'ESRP CodeSigning: Authenticode'
inputs:
ConnectedServiceName: 'ESRP Service'
FolderPath: 'src'
FolderPath: 'out/bin'
Pattern: 'DurableTask.*.dll'
signConfigType: inlineSignParams
inlineOperation: |
[
[
{
"KeyCode": "CP-230012",
"OperationCode": "SigntoolSign",
Expand Down Expand Up @@ -138,4 +138,4 @@ steps:
# Make the nuget packages available for download in the ADO portal UI
- publish: $(build.artifactStagingDirectory)
displayName: 'Publish nuget packages to Artifacts'
artifact: PackageOutput
artifact: PackageOutput
File renamed without changes
File renamed without changes.
45 changes: 45 additions & 0 deletions eng/targets/InternalsVisibleTo.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
<Project>

<PropertyGroup>
<GeneratedInternalsVisibleToFile>$(IntermediateOutputPath)$(MSBuildProjectName).InternalsVisibleTo$(DefaultLanguageSourceExtension)</GeneratedInternalsVisibleToFile>
</PropertyGroup>

<ItemDefinitionGroup>
<InternalsVisibleTo>
<Visible>false</Visible>
</InternalsVisibleTo>
</ItemDefinitionGroup>

<Target Name="PrepareGenerateInternalsVisibleToFile" Condition="'@(InternalsVisibleTo)' != ''">

<ItemGroup>
<_InternalsVisibleToAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
<_Parameter1 Condition="'%(InternalsVisibleTo.Key)' != ''">%(InternalsVisibleTo.Identity), PublicKey=%(InternalsVisibleTo.Key)</_Parameter1>
<_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' != ''">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey)</_Parameter1>
<_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' == ''">%(InternalsVisibleTo.Identity)</_Parameter1>
</_InternalsVisibleToAttribute>
</ItemGroup>

</Target>

<!--
Dependency on PrepareForBuild is necessary so that we don't accidentally get ordered before it.
We rely on PrepareForBuild to create the IntermediateOutputDirectory if it doesn't exist.
-->
<Target Name="GenerateInternalsVisibleToFile"
Inputs="$(MSBuildThisFileFullPath);$(MSBuildProjectFile)"
Outputs="$(GeneratedInternalsVisibleToFile)"
DependsOnTargets="PrepareGenerateInternalsVisibleToFile;PrepareForBuild"
Condition="'@(InternalsVisibleTo)' != ''"
BeforeTargets="BeforeCompile">

<WriteCodeFragment AssemblyAttributes="@(_InternalsVisibleToAttribute)" Language="$(Language)" OutputFile="$(GeneratedInternalsVisibleToFile)">
<Output TaskParameter="OutputFile" ItemName="CompileBefore" Condition="'$(Language)' == 'F#'" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is there some check for F# language here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file was borrowed from the dotnet team - so this is a remnant of that. I'll remove the F# check.

<Output TaskParameter="OutputFile" ItemName="Compile" Condition="'$(Language)' != 'F#'" />
<Output TaskParameter="OutputFile" ItemName="FileWrites" />
</WriteCodeFragment>

</Target>

</Project>
19 changes: 19 additions & 0 deletions eng/targets/SharedFiles.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<Project>

<Target Name="IncludeSharedItems" BeforeTargets="BeforeCompile"
Condition="'$(IncludeShared)' != 'false' And '$(SharedRoot)' != '' And '@(SharedSection)' != ''">
<PropertyGroup>
<SharedRoot>$([MSBuild]::EnsureTrailingSlash($(SharedRoot)))</SharedRoot>
<_SharedSectionCompileIncludes>@(SharedSection->'$(SharedRoot)%(Identity)/**/*.cs')</_SharedSectionCompileIncludes>
<_SharedSectionEmbeddedResourceIncludes>@(SharedSection->'$(SharedRoot)%(Identity)/**/*.resx')</_SharedSectionEmbeddedResourceIncludes>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(_SharedSectionCompileIncludes)" LinkBase="Shared" Visible="false" />
<EmbeddedResource Include="$(_SharedSectionEmbeddedResourceIncludes)" LinkBase="Shared" Visible="false">
<RecursiveNamespace>$([System.String]::Copy('%(RecursiveDir)').Replace($([System.IO.Path]::DirectorySeparatorChar.ToString()), '.'))</RecursiveNamespace>
<LogicalName>Shared.%(RecursiveNamespace)%(Filename).resources</LogicalName>
</EmbeddedResource>
</ItemGroup>
</Target>

</Project>
10 changes: 10 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"sdk": {
"version": "7.0.102",
"rollForward": "latestFeature"
},
"msbuild-sdks": {
"Microsoft.Build.NoTargets": "3.5.6",
"Microsoft.Build.Traversal": "3.2.0"
}
}
17 changes: 17 additions & 0 deletions samples/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Project>

<PropertyGroup>
<SubOutRoot>samples/</SubOutRoot>
<TopLevelNamespace>Samples</TopLevelNamespace>
</PropertyGroup>

<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)../, $(_DirectoryBuildPropsFile)))/$(_DirectoryBuildPropsFile)"
Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)../, $(_DirectoryBuildPropsFile)))' != '' " />

<PropertyGroup>
<IsPackable>false</IsPackable>
<WarnOnPackingNonPackableProject>false</WarnOnPackingNonPackableProject>
<RootNamespace>$(MSBuildProjectName)</RootNamespace>
</PropertyGroup>

</Project>
48 changes: 48 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<Project>

<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)../, $(_DirectoryBuildPropsFile)))/$(_DirectoryBuildPropsFile)"
Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)../, $(_DirectoryBuildPropsFile)))' != '' " />

<!-- Common build settings -->
<PropertyGroup>
<Company>Microsoft Corporation</Company>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<RepositoryUrl>https://github.com/microsoft/durabletask-netherite</RepositoryUrl>
<SharedRoot>$(SrcRoot)Shared/</SharedRoot>
</PropertyGroup>

<!-- Analyzers and Documentation -->
<!-- Enable this when we have time to address all the warnings -->
<!-- <PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisLevel>latest</AnalysisLevel>
<AnalysisMode>recommended</AnalysisMode>
</PropertyGroup> -->

<!-- Common NuGet settings -->
<PropertyGroup>
<Authors>Microsoft</Authors>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>$(RepositoryUrl)</PackageProjectUrl>
<PackageReleaseNotes>$(RepositoryUrl)/releases/</PackageReleaseNotes>
<PackageTags>Azure Task Durable Orchestration Workflow Activity Reliable EventHubs</PackageTags>
<PackageId>Microsoft.Azure.$(MSBuildProjectName)</PackageId>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>

<!-- Embed the SBOM manifest, which is generated as part of the "official" build -->
<ItemGroup Condition="'$(Configuration)'=='Release'">
<Content Include="..\..\_manifest\**">
<Pack>true</Pack>
<PackagePath>content/SBOM</PackagePath>
</Content>
</ItemGroup>

<ItemGroup>
<None Include="$(EngRoot)icon.png" Pack="true" PackagePath="/" />
</ItemGroup>

</Project>
26 changes: 26 additions & 0 deletions src/Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<Project>

<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)../, $(_DirectoryBuildTargetsFile)))/$(_DirectoryBuildTargetsFile)"
Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)../, $(_DirectoryBuildTargetsFile)))' != '' " />

<PropertyGroup Condition="'$(IsRoslynComponent)' != 'true'">
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<IncludeSymbols>true</IncludeSymbols>
</PropertyGroup>

<PropertyGroup>
<BuildSuffix Condition="'$(GITHUB_RUN_NUMBER)' != ''">.$(GITHUB_RUN_NUMBER)</BuildSuffix>
<FileVersion>$(VersionPrefix)$(BuildSuffix)</FileVersion>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.*" PrivateAssets="All" />
</ItemGroup>

<ItemGroup>
<InternalsVisibleTo Include="$(AssemblyName).Tests" Key="$(StrongNamePublicKey)" />
</ItemGroup>

<Import Project="$(EngRoot)targets/SharedFiles.targets" />

</Project>
Original file line number Diff line number Diff line change
@@ -1,62 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<!--The target netcoreapp2.2 is not functional, but just generates runtime error when used.-->
<!-- The target netcoreapp2.2 is not functional, but just generates runtime error when used. -->
<TargetFrameworks>netstandard2.1;netstandard2.0;netcoreapp2.2;netcoreapp3.1;net5.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<DebugType>embedded</DebugType>
<RepositoryUrl>https://github.com/microsoft/durabletask-netherite</RepositoryUrl>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<Authors>Microsoft</Authors>
<PackageProjectUrl>https://github.com/microsoft/durabletask-netherite</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\sign.snk</AssemblyOriginatorKeyFile>
<Description>Netherite durability provider extension for Azure Durable Functions.</Description>
<PackageTags>Azure Task Durable Orchestration Workflow Activity Reliable EventHubs</PackageTags>
<PackageId>Microsoft.Azure.DurableTask.Netherite.AzureFunctions</PackageId>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>

<!-- Version settings: https://andrewlock.net/version-vs-versionsuffix-vs-packageversion-what-do-they-all-mean/ -->
<PropertyGroup>
<MajorVersion>1</MajorVersion>
<MinorVersion>3</MinorVersion>
<PatchVersion>1</PatchVersion>
<VersionPrefix>$(MajorVersion).$(MinorVersion).$(PatchVersion)</VersionPrefix>
<VersionPrefix>1.3.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<AssemblyVersion>$(MajorVersion).0.0.0</AssemblyVersion>
<BuildSuffix Condition="'$(GITHUB_RUN_NUMBER)' != ''">.$(GITHUB_RUN_NUMBER)</BuildSuffix>
<FileVersion>$(VersionPrefix)$(BuildSuffix)</FileVersion>
</PropertyGroup>

<!-- Our netcoreapp2.2 target is a non-functional dummy target, so we don't need the warning -->
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.2' ">
<NoWarn>NETSDK1138</NoWarn>
<NoWarn>NETSDK1138</NoWarn>
</PropertyGroup>

<ItemGroup>
<None Include="icon.png" Pack="true" PackagePath="\" />
</ItemGroup>

<ItemGroup Condition="'$(Configuration)'=='Release'">
<Content Include="..\..\_manifest\**">
<Pack>true</Pack>
<PackagePath>content/SBOM</PackagePath>
</Content>
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.11.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.8.1" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' != 'netcoreapp2.2' ">
<ProjectReference Include="..\DurableTask.Netherite\DurableTask.Netherite.csproj" />
<ProjectReference Include="..\DurableTask.Netherite\DurableTask.Netherite.csproj" />
</ItemGroup>

</Project>
14 changes: 0 additions & 14 deletions src/DurableTask.Netherite/AssemblyInfo.cs

This file was deleted.

48 changes: 7 additions & 41 deletions src/DurableTask.Netherite/DurableTask.Netherite.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,65 +2,31 @@

<PropertyGroup>
<TargetFrameworks>netstandard2.1;netstandard2.0;netcoreapp3.1;net5.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<DebugType>embedded</DebugType>
<RepositoryUrl>https://github.com/microsoft/durabletask-netherite</RepositoryUrl>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<Authors>Microsoft</Authors>
<PackageProjectUrl>https://github.com/microsoft/durabletask-netherite</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\sign.snk</AssemblyOriginatorKeyFile>
<Description>Netherite orchestration service provider for the Durable Task Framework.</Description>
<PackageTags>Azure Task Durable Orchestration Workflow Activity Reliable EventHubs</PackageTags>
<PackageId>Microsoft.Azure.DurableTask.Netherite</PackageId>
<PackageIcon>icon.png</PackageIcon>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>

<!-- Version settings: https://andrewlock.net/version-vs-versionsuffix-vs-packageversion-what-do-they-all-mean/ -->
<PropertyGroup>
<MajorVersion>1</MajorVersion>
<MinorVersion>3</MinorVersion>
<PatchVersion>1</PatchVersion>
<VersionPrefix>$(MajorVersion).$(MinorVersion).$(PatchVersion)</VersionPrefix>
<VersionPrefix>1.3.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<AssemblyVersion>$(MajorVersion).0.0.0</AssemblyVersion>
<BuildSuffix Condition="'$(GITHUB_RUN_NUMBER)' != ''">.$(GITHUB_RUN_NUMBER)</BuildSuffix>
<FileVersion>$(VersionPrefix)$(BuildSuffix)</FileVersion>
</PropertyGroup>

<ItemGroup>
<None Include="icon.png" Pack="true" PackagePath="\" />
</ItemGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<NoWarn>NU5125;NU5048</NoWarn>
</PropertyGroup>

<ItemGroup Condition="'$(Configuration)'=='Release'">
<Content Include="..\..\_manifest\**">
<Pack>true</Pack>
<PackagePath>content/SBOM</PackagePath>
</Content>
</ItemGroup>

<ItemGroup>
<PackageReference Include="Azure.Core" Version="1.25.0" />
<PackageReference Include="Azure.Data.Tables" Version="12.6.1" />
<PackageReference Include="Azure.Messaging.EventHubs" Version="5.7.2" />
<PackageReference Include="Microsoft.Azure.EventHubs.Processor" Version="4.3.2" />
<PackageReference Include="Microsoft.Azure.Storage.Blob" Version="11.2.3" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.13.0" />
<PackageReference Include="Microsoft.FASTER.Core" Version="2.0.16" />
<PackageReference Include="Microsoft.FASTER.Core" Version="2.0.16" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.11.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="System.Threading.Channels" Version="4.7.1" />
</ItemGroup>

<ItemGroup>
<InternalsVisibleTo Include="DurableTask.Netherite.AzureFunctions" Key="$(StrongNamePublicKey)" />
</ItemGroup>

</Project>
Binary file removed src/DurableTask.Netherite/icon.png
Binary file not shown.
Loading