Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release release-v1.7.3 #107

Merged
merged 38 commits into from
Jun 11, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9512277
Set version to '1.4.0-preview.{height}'
nfbot Oct 16, 2019
b6f8193
Merge branch 'release-v1.3.0'
nfbot Oct 16, 2019
ef16d48
Extract ResourceManager class. (#92)
josesimoes Oct 18, 2019
a08ed97
Work CD-CI
josesimoes Oct 18, 2019
14ba19c
Extract Sytem.Reflection API (#93)
josesimoes Oct 23, 2019
8f8375c
Work CD-CI
josesimoes Oct 23, 2019
ff8bdb2
Work CD-CI
josesimoes Oct 23, 2019
226b210
Extract System.Collections (#94)
josesimoes Nov 4, 2019
63e6221
Improvements on double and single types (#95)
josesimoes Nov 7, 2019
7870470
Work CD-CI
josesimoes Nov 14, 2019
01c23c3
Extract System.Text namespace (#96)
josesimoes Nov 14, 2019
69b66a1
Work CD-CI
josesimoes Nov 14, 2019
4cda902
Work CD-CI
josesimoes Nov 14, 2019
1c91cf0
Update README.md
josesimoes Jan 29, 2020
097010f
Update nfproj to match latest MDP changes (#97)
josesimoes Feb 6, 2020
0cdc0d3
Update project properties for stubs generation
josesimoes Feb 25, 2020
0c3e03a
Implement MemberInfo.GetCustomAttributesNative (#98)
josesimoes Mar 9, 2020
254eba1
Add NoReflection project to solution (#99)
josesimoes Mar 9, 2020
e42b5b6
Work CD-CI
josesimoes Mar 9, 2020
bcf53c0
Work CD-CI
josesimoes Mar 9, 2020
8c1e9e5
Work CD-CI
josesimoes Mar 9, 2020
54a3c26
Bump version
josesimoes Mar 9, 2020
6b6c542
Bump version
josesimoes Mar 9, 2020
316af84
Work CD-CI
josesimoes Mar 9, 2020
fea8550
Remove github templates
josesimoes Mar 10, 2020
d0ffb32
Fix some comments
josesimoes Apr 14, 2020
71a6ea0
Bump version to 1.7.1-preview (#100)
josesimoes Apr 14, 2020
52a2730
Work CD-CI
josesimoes Apr 15, 2020
da7b8e7
Work CD-CI
josesimoes Apr 15, 2020
3121bc2
Bump version to 1.7.2-preview (#101)
josesimoes Apr 16, 2020
eb5e32c
Add support for custom attributes with constructors for methods and a…
josesimoes Apr 27, 2020
4d7c0a9
Rework DateTime struct (#103)
josesimoes May 8, 2020
06fc2e0
Fix exception with DateTime from ticks (#104)
josesimoes May 8, 2020
951da55
Adds Obsolete attribute to Console methods (#105)
josesimoes May 12, 2020
d0ae80d
Add System.Diagnostics.Debug class (#106)
josesimoes May 29, 2020
3dac926
Work CD-CI
josesimoes Jun 11, 2020
f143657
Set version to '1.7.3'
nfbot Jun 11, 2020
5fbfe0e
Merge branch 'master' into release-v1.7.3
josesimoes Jun 11, 2020
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
2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

36 changes: 0 additions & 36 deletions .github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

1 change: 0 additions & 1 deletion .github_changelog_generator
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ enhancement_labels=Type: enhancement
bug_labels=Type: bug
merge_prefix=**Documentation and other chores:**
unreleased_label=**Changes available only in 'Preview' NuGet packages:**
issue_line_labels=Breaking-Change,documentation
author=false
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,20 @@

-----

### Welcome to the **nanoFramework** Core Library repository!
### Welcome to the **nanoFramework** Base Class Library repository!

## Build status

| Component | Build Status | NuGet Package |
|:-|---|---|
| Core Library | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.CoreLibrary.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.CoreLibrary/) |
| Core Library (preview) | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=develop) | [![](https://badgen.net/badge/NuGet/preview/D7B023?icon=https://simpleicons.now.sh/azuredevops/fff)](https://dev.azure.com/nanoframework/feed/_packaging?_a=package&feed=sandbox&package=nanoFramework.CoreLibrary&protocolType=NuGet&view=overview) |
| Base Class Library | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.CoreLibrary.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.CoreLibrary/) |
| Base Class Library w/o reflection | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.CoreLibrary.NoReflection.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.CoreLibrary.NoReflection/) |
| Base Class Library (preview) | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=develop) | [![](https://badgen.net/badge/NuGet/preview/D7B023?icon=https://simpleicons.now.sh/azuredevops/fff)](https://dev.azure.com/nanoframework/feed/_packaging?_a=package&feed=sandbox&package=nanoFramework.CoreLibrary&protocolType=NuGet&view=overview) |
| Base Class Library w/o reflection (preview) | [![Build Status](https://dev.azure.com/nanoframework/CoreLibrary/_apis/build/status/nanoframework.lib-CoreLibrary?branchName=develop)](https://dev.azure.com/nanoframework/CoreLibrary/_build/latest?definitionId=24?branchName=develop) | [![](https://badgen.net/badge/NuGet/preview/D7B023?icon=https://simpleicons.now.sh/azuredevops/fff)](https://dev.azure.com/nanoframework/feed/_packaging?_a=package&feed=sandbox&package=nanoFramework.CoreLibrary.NoReflection&protocolType=NuGet&view=overview) |

## BCL Flavours

The **nanoFramework** Base Class Library is provided in two flavours: with or without support for System.Reflection namespace. The reason for this is that the reflection API adds up a significant size to the DLL and image size. For targets with smaller flash this can be prohibitive.

## Feedback and documentation

Expand Down
214 changes: 167 additions & 47 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,50 +24,170 @@ resources:
name: nanoframework/nf-tools
endpoint: nanoframework

pool:
vmImage: 'VS2017-Win2016'

variables:
solution: '**/source/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
nugetPackageName: 'nanoFramework.CoreLibrary'
repoName: 'lib-CoreLibrary'

steps:

# step from template @ nf-tools repo
# all build, update and publish steps
- template: azure-pipelines-templates/class-lib-build.yml@templates
parameters:
sonarCloudProject: 'nanoframework_lib-CoreLibrary'

# update dependencies
- task: UpdatenFDependencies@1
inputs:
gitHubToken: $(GitHubToken)
repositoriesToUpdate: |
lib-nanoFramework.Runtime.Events
lib-nanoFramework.Runtime.Native
lib-Windows.Storage.Streams
lib-Windows.Devices.Adc
lib-Windows.Devices.I2c
lib-Windows.Devices.Pwm
lib-Windows.Devices.Spi
lib-System.Devices.Dac
lib-nanoFramework.Devices.OneWire
lib-nanoFramework.Networking.Sntp
lib-nanoFramework.Hardware.Stm32
lib-nanoFramework.System.Math
lib-nanoFramework.TI.EasyLink
Json.NetMF
condition: or( and( succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v') ), and( succeeded(), contains(variables['getCommitMessage.COMMIT_MESSAGE'], '***UPDATE_DEPENDENTS***') ), eq(variables['UPDATE_DEPENDENTS'], 'true') )
displayName: Update dependent class libs

# step from template @ nf-tools repo
# report error
- template: azure-pipelines-templates/discord-webhook-task.yml@templates
parameters:
status: 'failure'
webhookUrl: '$(DiscordWebhook)'
message: ''
jobs:

##############################
- job: Build_mscorlib
condition: or( eq(variables['UPDATE_DEPENDENTS'], 'false'), eq(variables['StartReleaseCandidate'], 'true') )
pool:
vmImage: 'VS2017-Win2016'

variables:
solution: '**/source/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
nugetPackageName: 'nanoFramework.CoreLibrary'
repoName: 'lib-CoreLibrary'

steps:

# step from template @ nf-tools repo

# build steps only
- template: azure-pipelines-templates/class-lib-build-only.yml@templates
parameters:
sonarCloudProject: 'nanoframework_lib-CoreLibrary'

# package steps
- template: azure-pipelines-templates/class-lib-package.yml@templates
parameters:
nugetPackageName: 'nanoFramework.CoreLibrary'

- template: azure-pipelines-templates/class-lib-package.yml@templates
parameters:
nugetPackageName: 'nanoFramework.CoreLibrary.NoReflection'

- template: azure-pipelines-templates/class-lib-publish.yml@templates

# need to push the other package to NuGet because the template above can only push one package (happens on tag builds for any branch)
- task: NuGetCommand@2
inputs:
command: push
nuGetFeedType: external
allowPackageConflicts: true
packagesToPush:
$(Build.ArtifactStagingDirectory)/nanoFramework.CoreLibrary.NoReflection.$(MY_NUGET_VERSION).nupkg
publishFeedCredentials: 'AzureArtifacts-CoreLibrary'
condition: and( succeeded(), ne( variables['StartReleaseCandidate'], true ) )
continueOnError: true
displayName: Push "NoReflection" variant NuGet package to Azure Artifacts

- task: NuGetCommand@2
inputs:
command: push
nuGetFeedType: external
allowPackageConflicts: true
packagesToPush:
$(Build.ArtifactStagingDirectory)/nanoFramework.CoreLibrary.NoReflection.$(MY_NUGET_VERSION).nupkg
publishFeedCredentials: 'NuGet-CoreLibrary'
condition: and( succeeded(), ne( variables['StartReleaseCandidate'], true ) )
continueOnError: true
displayName: Push "NoReflection" variant NuGet package to Azure Artifacts

# create or update GitHub release
- task: GitHubReleasePublish@1
inputs:
githubEndpoint: 'nanoframework'
githubOwner: 'nanoframework'
githubRepositoryName: $(repoName)
githubTag: v$(MY_NUGET_VERSION)
githubReleaseTitle: '$(nugetPackageName) Library v$(MY_NUGET_VERSION)'
githubReleaseNotes: 'Check the [changelog]($(Build.Repository.Uri)/blob/$(Build.SourceBranchName)/CHANGELOG.md).<br><br><h4>Install from NuGet</h4><br>The following NuGet packages are available for download from this release:<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [.NET (without Reflection)](https://www.nuget.org/packages/$(nugetPackageName).NoReflection/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)'
githubTargetCommitsh: $(Build.SourceVersion)
githubReleaseDraft: $(RELEASE_DRAFT)
githubReleasePrerelease: true
githubReuseDraftOnly: false
githubReuseRelease: true
githubEditRelease: true
githubDeleteEmptyTag: true
githubReleaseAsset: '$(Build.ArtifactStagingDirectory)/*.nupkg'
condition: and( succeeded(), not( startsWith(variables['Build.SourceBranch'], 'refs/pull') ), not( startsWith(variables['Build.SourceBranch'], 'refs/tags/v') ), ne( variables['StartReleaseCandidate'], true ) )
displayName: Create/Update GitHub PREVIEW release

# create or update GitHub release ON tags from release or master branches
- task: GitHubReleasePublish@1
inputs:
githubEndpoint: 'nanoframework'
githubOwner: 'nanoframework'
githubRepositoryName: $(repoName)
githubTag: v$(MY_NUGET_VERSION)
githubReleaseTitle: '$(nugetPackageName) Library v$(MY_NUGET_VERSION)'
githubReleaseNotes: 'Check the [changelog]($(Build.Repository.Uri)/blob/$(Build.SourceBranchName)/CHANGELOG.md).<br><br><h4>Install from NuGet</h4><br>The following NuGet packages are available for download from this release:<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [.NET (without Reflection)](https://www.nuget.org/packages/$(nugetPackageName).NoReflection/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)'
githubTargetCommitsh: $(Build.SourceVersion)
githubReleaseDraft: false
githubReleasePrerelease: false
githubReuseDraftOnly: false
githubReuseRelease: true
githubEditRelease: true
githubDeleteEmptyTag: true
githubReleaseAsset: '$(Build.ArtifactStagingDirectory)/*.nupkg'
condition: and( succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), not(contains(variables['Build.SourceBranch'], 'preview') ), ne( variables['StartReleaseCandidate'], true ) )
displayName: Create/Update GitHub stable release

##############################
- job: Update_Dependents
condition: or( and( succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), eq(variables['StartReleaseCandidate'], 'false') ), and( succeeded(), contains(variables['getCommitMessage.COMMIT_MESSAGE'], '***UPDATE_DEPENDENTS***'), eq(variables['StartReleaseCandidate'], 'false') ), eq(variables['UPDATE_DEPENDENTS'], 'true') )

dependsOn:
- Build_mscorlib

pool:
vmImage: 'VS2017-Win2016'

steps:
# need this here in order to persist GitHub credentials
- checkout: self
fetchDepth: 1

- task: NuGetToolInstaller@0
inputs:
versionSpec: '5.4.0'
condition: ne( variables['StartReleaseCandidate'], true )
displayName: 'Install specific version of NuGet'

# update dependents
- task: UpdatenFDependencies@1
inputs:
gitHubToken: $(GitHubToken)
repositoriesToUpdate: |
lib-nanoFramework.Runtime.Events
lib-nanoFramework.Runtime.Native
lib-Windows.Devices.Adc
lib-Windows.Devices.I2c
lib-Windows.Devices.Pwm
lib-Windows.Devices.Spi
lib-System.Devices.Dac
lib-nanoFramework.Devices.OneWire
lib-nanoFramework.Networking.Sntp
lib-nanoFramework.Hardware.Stm32
lib-nanoFramework.System.Math
lib-nanoFramework.TI.EasyLink
lib-nanoFramework.ResourceManager
lib-nanoFramework.System.Collections
lib-nanoFramework.System.Text
lib-nanoFramework.Json
displayName: Update dependent class libs

##################################
# report build failure to Discord
- job: Report_Build_Failure

dependsOn:
- Build_mscorlib
- Update_Dependents
condition: or( failed('Build_mscorlib'), failed('Build_mscorlib_no_reflection'), failed('Update_Dependents'))

pool:
vmImage: 'VS2017-Win2016'

steps:

- checkout: self

# step from template @ nf-tools repo
# report error
- template: azure-pipelines-templates/discord-webhook-task.yml@templates
parameters:
status: 'failure'
webhookUrl: '$(DiscordWebhook)'
message: ''
31 changes: 31 additions & 0 deletions source/nanoFramework.CoreLibrary.NoReflection.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>nanoFramework.CoreLibrary.NoReflection</id>
<version>$version$</version>
<title>nanoFramework.CoreLibrary.NoReflection</title>
<authors>nanoFramework project contributors</authors>
<owners>nanoFramework project contributors</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">Apache-2.0</license>
<releaseNotes></releaseNotes>
<developmentDependency>false</developmentDependency>
<projectUrl>https://github.com/nanoframework/lib-CoreLibrary</projectUrl>
<iconUrl>https://secure.gravatar.com/avatar/97d0e092247f0716db6d4b47b7d1d1ad</iconUrl>
<repository type="git" url="https://github.com/nanoframework/lib-CoreLibrary" commit="$commit$" />
<copyright>Copyright (c) 2019 The nanoFramework project contributors</copyright>
<description>This package includes the nanoFramework.CoreLibrary assembly for nanoFramework C# projects **WITHOUT** the System.Reflection API.&#10;This package requires a target with mscorlib v$nativeVersion$.&#10;There is another version that includes the System.Reflection API.</description>
<summary>This package includes the nanoFramework.CoreLibrary assembly for nanoFramework C# projects **WITHOUT** the System.Reflection API.</summary>
<tags>nanoFramework C# csharp netmf netnf nanoFramework.CoreLibrary</tags>
</metadata>
<files>
<file src="nanoFramework.CoreLibrary\bin\Release\mscorlib.dll" target="lib\mscorlib.dll" />
<file src="nanoFramework.CoreLibrary\bin\Release\mscorlib.pdb" target="lib\mscorlib.pdb" />
<file src="nanoFramework.CoreLibrary\bin\Release\mscorlib.pdbx" target="lib\mscorlib.pdbx" />
<file src="nanoFramework.CoreLibrary\bin\Release\mscorlib.pe" target="lib\mscorlib.pe" />
<file src="nanoFramework.CoreLibrary\bin\Release\mscorlib.xml" target="lib\mscorlib.xml" />

<!-- readme -->
<file src="readme.txt" target="readme.txt" />
</files>
</package>
Loading