Skip to content

Commit a49ec72

Browse files
committed
misc: remove references to Yubico.DotNetPolyfills and update documentation for project structure
1 parent 18acd83 commit a49ec72

File tree

11 files changed

+8
-148
lines changed

11 files changed

+8
-148
lines changed

.github/workflows/build-pull-requests.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ jobs:
6363
with:
6464
name: Nuget Packages ReleaseWithDocs
6565
path: |
66-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/*.nupkg
6766
Yubico.Core/src/bin/ReleaseWithDocs/*.nupkg
6867
Yubico.YubiKey/src/bin/ReleaseWithDocs/*.nupkg
6968
@@ -72,6 +71,5 @@ jobs:
7271
with:
7372
name: Assemblies ReleaseWithDocs
7473
path: |
75-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/**/*.dll
7674
Yubico.Core/src/bin/ReleaseWithDocs/**/*.dll
7775
Yubico.YubiKey/src/bin/ReleaseWithDocs/**/*.dll

.github/workflows/build.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ jobs:
8080
run: |
8181
$file = gci ./build/Versions.props
8282
$versionProp = [xml](gc $file.FullName)
83-
$versionProp.Project.PropertyGroup.YubicoDotNetPolyfillsVersion = "${{ github.event.inputs.version }}"
8483
$versionProp.Project.PropertyGroup.YubicoCoreVersion = "${{ github.event.inputs.version }}"
8584
$versionProp.Project.PropertyGroup.YubicoYubiKeyVersion = "${{ github.event.inputs.version }}"
8685
$versionProp.Save($file.FullName)
@@ -101,7 +100,6 @@ jobs:
101100
with:
102101
name: Nuget Packages
103102
path: |
104-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/*.nupkg
105103
Yubico.Core/src/bin/ReleaseWithDocs/*.nupkg
106104
Yubico.YubiKey/src/bin/ReleaseWithDocs/*.nupkg
107105
@@ -110,7 +108,6 @@ jobs:
110108
with:
111109
name: Symbols Packages
112110
path: |
113-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/*.snupkg
114111
Yubico.Core/src/bin/ReleaseWithDocs/*.snupkg
115112
Yubico.YubiKey/src/bin/ReleaseWithDocs/*.snupkg
116113
@@ -119,21 +116,17 @@ jobs:
119116
with:
120117
name: Assemblies
121118
path: |
122-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/**/*.dll
123119
Yubico.Core/src/bin/ReleaseWithDocs/**/*.dll
124120
Yubico.YubiKey/src/bin/ReleaseWithDocs/**/*.dll
125121
126122
- name: Generate artifact attestation
127123
uses: actions/attest-build-provenance@v2
128124
with:
129125
subject-path: |
130-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/*.nupkg
131126
Yubico.Core/src/bin/ReleaseWithDocs/*.nupkg
132127
Yubico.YubiKey/src/bin/ReleaseWithDocs/*.nupkg
133-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/*.snupkg
134128
Yubico.Core/src/bin/ReleaseWithDocs/*.snupkg
135129
Yubico.YubiKey/src/bin/ReleaseWithDocs/*.snupkg
136-
Yubico.DotNetPolyfills/src/bin/ReleaseWithDocs/**/*.dll
137130
Yubico.Core/src/bin/ReleaseWithDocs/**/*.dll
138131
Yubico.YubiKey/src/bin/ReleaseWithDocs/**/*.dll
139132
@@ -178,10 +171,8 @@ jobs:
178171
with:
179172
name: Nuget Packages
180173
- run: |
181-
$polyfills = (Get-ChildItem -Recurse Yubico.DotnetPolyfills/*.nupkg)[0].FullName
182174
$core = (Get-ChildItem -Recurse Yubico.Core/*.nupkg)[0].FullName
183175
$yubikey = (Get-ChildItem -Recurse Yubico.YubiKey/*.nupkg)[0].FullName
184176
dotnet nuget add source --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/Yubico/index.json"
185-
dotnet nuget push $polyfills --source "github" --api-key ${{ secrets.GITHUB_TOKEN }}
186177
dotnet nuget push $core --source "github" --api-key ${{ secrets.GITHUB_TOKEN }}
187178
dotnet nuget push $yubikey --source "github" --api-key ${{ secrets.GITHUB_TOKEN }}

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,5 +210,5 @@ The following rules must be followed for PRs that include files from another pro
210210
- The contribution is correctly attributed, as needed (generally in LICENSE.txt or NOTICE.txt in
211211
project root).
212212

213-
See [CborTag.cs](./Yubico.DotNetPolyfills/src/System.Formats.Cbor/CborTag.cs) for an example of a
213+
See [CryptographicOperations.cs](./Yubico.Core/src/System.Security.Cryptography/CryptographicOperations.cs) for an example of a
214214
file copied from another project and attributed in the [LICENSE.txt](./LICENSE.txt) file.

LICENSE.txt

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -200,37 +200,6 @@
200200
See the License for the specific language governing permissions and
201201
limitations under the License.
202202

203-
204-
205-
==================================================
206-
The following license applies to
207-
\Yubico.DotNetPolyfills\src\Contrib.Bcl.Ranges\Range.cs
208-
\Yubico.DotNetPolyfills\src\Contrib.Bcl.Ranges\Index.cs
209-
210-
MIT License
211-
212-
Copyright (c) 2019 Stuart Lang
213-
Copyright (c) .NET Foundation and Contributors
214-
215-
Permission is hereby granted, free of charge, to any person obtaining a copy
216-
of this software and associated documentation files (the "Software"), to deal
217-
in the Software without restriction, including without limitation the rights
218-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
219-
copies of the Software, and to permit persons to whom the Software is
220-
furnished to do so, subject to the following conditions:
221-
222-
The above copyright notice and this permission notice shall be included in all
223-
copies or substantial portions of the Software.
224-
225-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
226-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
227-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
228-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
229-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
230-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
231-
SOFTWARE.
232-
233-
234203
==================================================
235204
The following license applies to
236205
\CONTRIBUTING.md

Yubico.YubiKey/docs/users-manual/getting-started/overview-of-sdk.md

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -114,19 +114,15 @@ Read more about YubiHSM Auth [here.](xref:YubiHsmAuthOverview)
114114

115115
## SDK components
116116

117-
The YubiKey SDK is comprised of three managed assemblies:
117+
The YubiKey SDK is comprised of two managed assemblies:
118118

119119
- **Yubico.YubiKey** is the primary assembly that contains all of the classes and types needed for
120120
interacting with the YubiKey.
121121
- **Yubico.Core** is a common library used by Yubico's .NET offerings and serves as a platform
122122
abstraction layer (PAL). All interaction with operating-system specific functionality is contained
123123
within this library. It also contains useful utility classes that can be used for encoding and
124124
decoding different kinds of data, such as Base32, Tag-Length-Value (TLV), and ModHex.
125-
- **Yubico.DotNetPolyfills** is an internal library used to backport certain .NET base class library (BCL)
126-
features needed by the SDK. Types in this assembly are subject to change and are not meant for
127-
general public consumption. If you wish to use the newest features of .NET, you should target
128-
the .NET implementation that contains those features directly.
129-
- **Yubico.NativeShims** is an internal unmanaged library that provides a stable Application
125+
- **Yubico.NativeShims** is an internal *unmanaged library* that provides a stable Application
130126
Binary Interface (ABI) to the P/Invoke Foreign Function Interface (FFI) in Yubico.Core.
131127

132128
All components of the SDK are built to the .NET Standard 2.0 specification. This means that either
@@ -235,14 +231,4 @@ product. It also contains all of the platform abstraction logic required for oth
235231
to run across different platforms and operating systems.
236232

237233
For most consumers of the SDK, this library will automatically be included when you reference the `Yubico.YubiKey`
238-
NuGet package.
239-
240-
### Yubico.DotNetPolyfills
241-
242-
Yubico.DotNetPolyfills is a support project for .NET-based Yubico libraries. It is not to be consumed. Yubico
243-
will not make any effort at providing a stable API surface around this assembly, and it may have breaking changes
244-
applied to it at any point in time. Its purpose is to provide the SDK, which targets .NET Standard 2.0, with missing
245-
APIs so that we can leverage certain newer features. If you wish to use the latest features of .NET, your library
246-
or application should target a newer standard. If that is not possible, we recommend that you invest in creating
247-
your own polyfills library. This way, you can implement precisely what your project needs and not have to rely on
248-
what may or may not be implemented here.
234+
NuGet package.

Yubico.YubiKey/docs/users-manual/sdk-programming-guide/appcompat.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The .NET SDK strives to maintain both source and behavioral compatibility across
2828
**Source compatibility** is the promise that your source code should continue to compile as-is when you update your
2929
application to the latest version of the SDK. This promise extends to "minor" (feature) and "patch" (bug-fix) releases
3030
of the SDK. Additionally, we only make this guarantee for the `Yubico.YubiKey` and the `Yubico.Core` assemblies. Since
31-
`Yubico.NativeShims` and `Yubico.DotnetPolyfills` are meant to be purely for internal use, we *do not* make any
31+
`Yubico.NativeShims` is meant to be purely for internal use, we *do not* make any
3232
guarantees here.
3333

3434
**Behavioral compatibility** is the promise that your application will behave exactly the same after you have upgraded

build/Versions.props

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,6 @@ for external milestones.
3030

3131
<PropertyGroup Label="Versions for all projects">
3232

33-
<!--
34-
Yubico.DotNetPolyfills project
35-
36-
This project includes polyfill code that allows other projects in this repository to use .NET
37-
library features and APIs in older versions of the .NET Standard.
38-
39-
Increment the major version whenever we remove support for a .NET version.
40-
Increment the minor version whenever we add support for a new class or type.
41-
Increment the patch version for bug fixes.
42-
-->
43-
<YubicoDotNetPolyfillsVersion>1.12.1</YubicoDotNetPolyfillsVersion>
44-
4533
<!--
4634
Yubico.Core project
4735

build/build.ps1

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ limitations under the License. #>
1515
function Build-YubiKeySdkProject
1616
{
1717
$ProjectPaths = @{
18-
"DotNetPolyfills" = "./Yubico.DotNetPolyfills/src/Yubico.DotNetPolyfills.csproj"
1918
"CoreRef" = "./Yubico.Core/ref/Yubico.Core.Ref.csproj"
2019
"CoreSrc" = "./Yubico.Core/src/Yubico.Core.csproj"
2120
"YubiKey" = "./Yubico.YubiKey/src/Yubico.YubiKey.csproj"
@@ -29,7 +28,6 @@ function Build-YubiKeySdkProject
2928
Write-Error "The dotnet CLI was not found. You can install all prerequisites using Install-YubiKeySdkTools."
3029
}
3130

32-
Build-Project $ProjectPaths["DotNetPolyfills"] $CurrentConfiguration
3331
Build-Project $ProjectPaths["CoreRef"] $CurrentConfiguration
3432
Build-Project $ProjectPaths["CoreSrc"] $CurrentConfiguration
3533
Build-Project $ProjectPaths["YubiKey"] $CurrentConfiguration
@@ -40,13 +38,10 @@ function Test-YubiKeySdkProject
4038
$CurrentConfiguration = "Debug"
4139

4240
$ProjectPaths = @{
43-
"DotNetPolyfills" = "./Yubico.DotNetPolyfills/tests/Yubico.DotNetPolyfills.UnitTests.csproj"
4441
"Core" = "./Yubico.Core/tests/Yubico.Core.UnitTests.csproj"
4542
"YubiKey" = "./Yubico.YubiKey/tests/Yubico.YubiKey.UnitTests.csproj"
4643
}
4744

48-
Test-Project $ProjectPaths["DotNetPolyfills"] $CurrentConfiguration
49-
5045
# We should test core for each RID that we build for
5146
Test-Project $ProjectPaths["Core"] $CurrentConfiguration "win-x64"
5247
Test-Project $ProjectPaths["Core"] $CurrentConfiguration "osx-x64"

contributordocs/getting-started.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ one or more 'Project File' (\*.csproj, \*.cxproj, etc.) that represents a single
7474
The .NET YubiKey SDK project has a single solution file located in the root of the repository called
7575
Yubico.NET.SDK.sln.
7676

77-
Within the solution there are three groupings of projects: Yubico.YubiKey, Yubico.Core, and
78-
Yubico.DotnetPolyfills.
77+
Within the solution there are two groupings of projects: Yubico.YubiKey and Yubico.Core.
7978

8079
Each project folder may have one or more subfolders:
8180

contributordocs/polyfills.md

Lines changed: 0 additions & 66 deletions
This file was deleted.

0 commit comments

Comments
 (0)