Skip to content

Commit 82d841b

Browse files
authored
Merge pull request #15 from cpsusie/v1.0_prerelease
Readying for 1.0 release
2 parents c38f48f + 6ed9577 commit 82d841b

21 files changed

+113
-121
lines changed
237 Bytes
Binary file not shown.
-326 KB
Binary file not shown.

DotNetVault Description v1.0.docx

-1.35 KB
Binary file not shown.

DotNetVault Description.pdf

-1.08 MB
Binary file not shown.

DotNetVault.Test/DotNetVault.Test.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
</ItemGroup>
9898

9999
<ItemGroup>
100-
<PackageReference Include="HighPrecisionTimeStamps" Version="1.0.0" />
100+
<PackageReference Include="HighPrecisionTimeStamps" Version="1.0.0.1" />
101101
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.2">
102102
<PrivateAssets>all</PrivateAssets>
103103
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

DotNetVault.Vsix/DotNetVault.Vsix.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@
7474
</ProjectReference>
7575
</ItemGroup>
7676
<ItemGroup>
77-
<Reference Include="HighPrecisionTimeStamps, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
78-
<HintPath>..\packages\HighPrecisionTimeStamps.1.0.0\lib\netstandard2.0\HighPrecisionTimeStamps.dll</HintPath>
77+
<Reference Include="HighPrecisionTimeStamps, Version=1.0.0.1, Culture=neutral, processorArchitecture=MSIL">
78+
<HintPath>..\packages\HighPrecisionTimeStamps.1.0.0.1\lib\netstandard2.0\HighPrecisionTimeStamps.dll</HintPath>
7979
</Reference>
8080
<Reference Include="JetBrains.Annotations, Version=2021.2.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
8181
<HintPath>..\packages\JetBrains.Annotations.2021.2.0\lib\net20\JetBrains.Annotations.dll</HintPath>

DotNetVault.Vsix/packages.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="HighPrecisionTimeStamps" version="1.0.0" targetFramework="net48" />
3+
<package id="HighPrecisionTimeStamps" version="1.0.0.1" targetFramework="net48" />
44
<package id="JetBrains.Annotations" version="2021.2.0" targetFramework="net48" />
55
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
66
<package id="System.Memory" version="4.5.4" targetFramework="net48" />

DotNetVault.sln

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetVault.Vsix", "DotNetV
1111
EndProject
1212
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{6273AC00-D6E4-4119-93DE-0F0EAE73D450}"
1313
ProjectSection(SolutionItems) = preProject
14-
DotNetVault Description latest.docx = DotNetVault Description latest.docx
15-
DotNetVault Description.pdf = DotNetVault Description.pdf
1614
DotNetVault.sln.DotSettings = DotNetVault.sln.DotSettings
15+
DotNetVault_Description_latest_draft.docx = DotNetVault_Description_latest_draft.docx
16+
DotNetVault_Description_Latest_Draft.pdf = DotNetVault_Description_Latest_Draft.pdf
1717
DotNetVault_Description_v1.0.pdf = DotNetVault_Description_v1.0.pdf
1818
license.txt = license.txt
1919
README.md = README.md

DotNetVault/DotNetVault.csproj

+13-14
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<IncludeSymbols>true</IncludeSymbols>
1010
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
1111
<EmbedUntrackedSources>true</EmbedUntrackedSources>
12+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
1213
</PropertyGroup>
1314

1415
<PropertyGroup>
@@ -19,25 +20,25 @@
1920

2021
<PropertyGroup>
2122
<PackageId>DotNetVault</PackageId>
22-
<PackageVersion>0.9.9.0-alpha</PackageVersion>
23+
<PackageVersion>1.0.0.0</PackageVersion>
2324
<Owners>CJM Screws, LLC</Owners>
2425
<Authors>Christopher Susie</Authors>
2526
<PackageProjectUrl>https://github.com/cpsusie/DotNetVault</PackageProjectUrl>
26-
<RepositoryUrl>https://github.com/cpsusie/DotNetVault</RepositoryUrl>
27+
<RepositoryUrl>https://github.com/cpsusie/DotNetVault.git</RepositoryUrl>
2728
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
2829
<Description>
2930
Synchronization Library and Static Analysis Tool for C# 8
3031

3132
DotNetVault is a library and static code analysis tool that makes managing shared mutable state in multi-threaded applications more manageable and less error prone. It also provides a common abstraction over several commonly used synchronization mechanisms, allowing you to change from one underlying type to another (such as from lock free synchronization to mutex/monitor lock based) without needing to refactor your code. Where errors do still occur, they are easier to locate and identify.
3233

33-
The project description (a detailed design document) can be read here: https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVault_Description_Latest_Draft.pdf.
34+
The project description (a detailed design document) can be read here: https://github.com/cpsusie/DotNetVault/blob/master/DotNetVault_Description_v1.0.pdf.
3435

3536
A quick start guide for installation (Windows, Vs 2019+) can be found here: https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/QuickStart_Install_VS2019_Windows.md.
3637

3738
A quick start guide for installation (Tested on Amazon Linux, Rider 2019.3.1+) can be found here: https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/Quick_Start_Install_Rider_Amazon_Linux.md.
3839

3940
A guided tour / quick start guide for this project's functionality can be found here: https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/Quick_Start_Functionality_Tour.md
40-
</Description>
41+
</Description>
4142
<PackageReleaseNotes>
4243
RELEASE NOTES VERSION 1.0:
4344
Official Release of DotNetVault. See prior release notes for features. This release updates the official documentation for this release version.
@@ -52,16 +53,17 @@
5253
* Update example code project to demonstrate.
5354
</PackageReleaseNotes>
5455
<Copyright>Copyright © 2019-2021 CJM Screws, LLC</Copyright>
55-
<PackageTags>DotNetVault, analyzers, synchronization, thread-safety, threadsafe, deadlock, deadlock-prevention</PackageTags>
56+
<PackageTags>DotNetVault, analyzers, synchronization, thread-safety, threadsafe, deadlock, deadlock-prevention, threads, raii, multi-threaded</PackageTags>
5657
<NoPackageAnalysis>true</NoPackageAnalysis>
5758
<LangVersion>8.0</LangVersion>
58-
<Version>0.9.9.0</Version>
59+
<Version>1.0.0.0</Version>
5960
<AssemblyName>DotNetVault</AssemblyName>
6061
<RootNamespace>DotNetVault</RootNamespace>
6162
<Company>CJM Screws, LLC</Company>
62-
<AssemblyVersion>0.9.9.0</AssemblyVersion>
63-
<FileVersion>0.9.9.0</FileVersion>
63+
<AssemblyVersion>1.0.0.0</AssemblyVersion>
64+
<FileVersion>1.0.0.0</FileVersion>
6465
<PackageLicenseFile>license.txt</PackageLicenseFile>
66+
<RepositoryType>git</RepositoryType>
6567
</PropertyGroup>
6668

6769
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@@ -132,14 +134,11 @@
132134
</ItemGroup>
133135

134136
<ItemGroup>
135-
<PackageReference Include="HighPrecisionTimeStamps" Version="1.0.0">
137+
<PackageReference Include="HighPrecisionTimeStamps" Version="1.0.0.1">
136138
<GeneratePathProperty>true</GeneratePathProperty>
137139
<IncludeAssets>all</IncludeAssets>
140+
<IncludeInPackage>true</IncludeInPackage>
138141
</PackageReference>
139-
<None Include="$(PkgHighPrecisionTimeStamps)\lib\netstandard2.0\HighPrecisionTimeStamps.dll">
140-
<Link>HighPrecisionTimeStamps.dll</Link>
141-
<CopyToOutputDirectory>always</CopyToOutputDirectory>
142-
</None>
143142
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
144143
<PackageReference Include="JetBrains.Annotations" Version="2021.2.0" />
145144
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.2" PrivateAssets="all" />
@@ -160,7 +159,7 @@
160159

161160
<ItemGroup>
162161
<None Update="tools\*.ps1" CopyToOutputDirectory="Always" Pack="true" PackagePath="" />
163-
<None Include="$(OutputPath)\HighPrecisionTimeStamps.dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
162+
<None Include="$(PkgHighPrecisionTimeStamps)\lib\netstandard2.0\*.dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false"/>
164163
<None Include="$(OutputPath)\license.txt" Pack="true" PackagePath="Docs" Visible="false" />
165164
<None Include="$(OutputPath)\Quick_Start_Functionality_Tour.md" Pack="true" PackagePath="Docs" Visible="false" />
166165
<None Include="$(OutputPath)\Quick_Start_Install_Rider_Amazon_Linux.md" Pack="true" PackagePath="Docs" Visible="false" />

DotNetVault/RELEASE.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
RELEASE NOTES VERSION 1.0:
1+
RELEASE NOTES FOR VERSION 1.0:
22
Official Release of DotNetVault. See prior release notes for features. This release updates the official documentation for this release version.
33

44
RELEASE NOTES VERSION 0.2.5.18:

DotNetVaultQuickStart/DotNetVaultQuickStart.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
</ItemGroup>
2929

3030
<ItemGroup>
31-
<PackageReference Include="DotNetVault" Version="0.9.9-alpha" />
3231
<PackageReference Include="System.Collections.Immutable" Version="5.0.0" />
3332
</ItemGroup>
3433

File renamed without changes.

DotNetVault_Description_v1.0.pdf

5.43 KB
Binary file not shown.

ExampleCodePlayground/ExampleCodePlayground.csproj

-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@
4242
</ItemGroup>
4343

4444
<ItemGroup>
45-
<PackageReference Include="DotNetVault" Version="0.9.9-alpha" />
46-
<PackageReference Include="HighPrecisionTimeStamps" Version="1.0.0" />
4745
<PackageReference Include="JetBrains.Annotations" Version="2021.2.0" />
4846
<PackageReference Include="System.Collections.Immutable" Version="5.0.0" />
4947
</ItemGroup>

ExampleCodePlayground/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace ExampleCodePlayground
1515
using MonoStampSrc = HpTimeStamps.MonotonicTimeStampUtil<MonotonicContext>;
1616
//The following attribute will cause the compiler to emit a warning telling you the locations of the two configurable
1717
//vault-safe whitelist files.
18-
//[ReportWhiteListLocations]
18+
[ReportWhiteListLocations]
1919
class Program
2020
{
2121
static void Main()

QuickStart_Install_VS2019_Windows.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# DotNetVault Quick Start Installation Guide Visual Studio 2019 (Windows 10)
1+
# DotNetVault Version 1.0 Quick Start Installation Guide Visual Studio 2019 (Windows 10)
22

33
1. Open Visual Studio and Create a new .NET Core 3.1+ or .NET Framework 4.8 Console Application.
44
2. **If you chose .NET Framework 4.8**, open the .csproj file and add the following Line `<LangVersion>8.0</LangVersion>` under each “Platform/Config” PropertyGroup as shown in highlight below. This is unnecessary if you chose a .NET Core 3.1+ based Console Application.
55

6-
![](https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_1.png?raw=true)
6+
![](https://github.com/cpsusie/DotNetVault/blob/master/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_1.png?raw=true)
77

88
3. Right click on your project and chose “Manage NuGet packages”. Click on the Browse option, enter “dotnetvault” into the search block, select DotNetVault, then click “Install”.
99

10-
![](https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_2.png?raw=true)
10+
![](https://github.com/cpsusie/DotNetVault/blob/master/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_2.png?raw=true)
1111

1212
4. You are now set up to use DotNetVault in your project.
1313

@@ -53,20 +53,20 @@
5353

5454
* Change the Configuration to **Release** and Build the project:
5555

56-
![](https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_3.png?raw=true)
56+
![](https://github.com/cpsusie/DotNetVault/blob/master/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_3.png?raw=true)
5757
5858
* *If you have installed everything correctly, the build should* **fail**. If it builds, consult Visual Studio documentation for how to enable Roslyn Analyzers. Do not attempt to use this library without static analysis enabled. Assuming it does not build, you should see the following as a result of your build attempt:
5959

60-
![](https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_4.png?raw=true)
60+
![](https://github.com/cpsusie/DotNetVault/blob/master/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_4.png?raw=true)
6161
6262
* The error is that you must **guard** the return value from a *Lock()* or *SpinLock()* method (or any other method whose return value you choose to annotate with the *UsingMandatory* attribute) with a using statement or declaration. Failure to ensure that the lock is promptly released would cause a serious error in your programit would timeout whenever in the future you attempted to obtain the lock.
6363
* To fix the error, on line 16, changevar lck =…” tousing var lck =…” as shown then Build again. This time, the build should succeed as shown:
6464

65-
![](https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_5.png?raw=true)
65+
![](https://github.com/cpsusie/DotNetVault/blob/master/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_5.png?raw=true)
6666
6767
* Now you should be able to run the application as shown:
6868

69-
![](https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_6.png?raw=true)
69+
![](https://github.com/cpsusie/DotNetVault/blob/master/DotNetVaultQuickStart/dotnet_vault_install_vs2019_win/pic_6.png?raw=true)
7070
71-
6. Congratulations, you have successfully built an application using DotNetVault. Next, we will look at a QuickStart application that shows the very basics of what can be done with this library and its integrated static analyzer. Move on to the [functionality tour](https://github.com/cpsusie/DotNetVault/blob/v0.2.5.x/DotNetVaultQuickStart/DotNetVault%20Quick%20Start%20Functionality%20Tour%20%E2%80%93%20JetBrains%20Rider%20(Amazon%20Linux).md) next.
71+
6. Congratulations, you have successfully built an application using DotNetVault. Next, we will look at a QuickStart application that shows the very basics of what can be done with this library and its integrated static analyzer. Move on to the [functionality tour](https://github.com/cpsusie/DotNetVault/blob/master/DotNetVaultQuickStart/DotNetVault%20Quick%20Start%20Functionality%20Tour%20%E2%80%93%20JetBrains%20Rider%20(Amazon%20Linux).md) next.
7272

0 commit comments

Comments
 (0)