Signed-off-by: José Simões <jose.simoes@eclo.solutions>
This commit is contained in:
José Simões 2018-11-07 17:06:52 +00:00
Родитель 6905c7ab3a
Коммит 3812dd6ebc
23 изменённых файлов: 1357 добавлений и 2 удалений

36
.github/PULL_REQUEST_TEMPLATE.md поставляемый Normal file
Просмотреть файл

@ -0,0 +1,36 @@
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the issue here using the template bellow (mind the link as all issues are open in the Home repository, not in this one) -->
- Fixes/Closes/Resolves nanoFramework/Home#NNNN
## How Has This Been Tested?<!-- (if applicable) -->
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Screenshots<!-- (if appropriate): -->
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Improvement (non-breaking change that improves a feature, code or algorithm)
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
<!--- It would be nice if you could sign off your contribution by replacing the name with your GitHub user name and GitHub email contact. -->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>

Просмотреть файл

@ -0,0 +1,14 @@
user=nanoframework
project=lib-nanoFramework.Devices.OneWire
issues=true
add_issues_wo_labels=false
add_pr_wo_labels=false
add_issues_wo_labels=false
filter_issues_by_milestone=false
exclude_labels=Area: Config-and-Build,Area: Infrastructure-and-Organization,reverted
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

252
.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1,252 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml

3
CODE_OF_CONDUCT.md Normal file
Просмотреть файл

@ -0,0 +1,3 @@
# Contributor Code of Conduct
Please refer to the contributor Code of Conduct at the Home repository [here](https://github.com/nanoframework/Home/blob/master/CODE_OF_CONDUCT.md.

3
CONTRIBUTING.md Normal file
Просмотреть файл

@ -0,0 +1,3 @@
# Contributing to **nanoFramework**
Please refer to the contribution guidelines at the Home repository [here](https://github.com/nanoframework/Home/blob/master/CONTRIBUTING.md).

201
LICENSE Normal file
Просмотреть файл

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Просмотреть файл

@ -1,2 +1,38 @@
# lib-nanoFramework.Devices.OneWire
:package: nanoFramework 1-Wire Class Library
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/nanoframework/Home/blob/master/LICENSE) [![NuGet](https://img.shields.io/nuget/dt/nanoFramework.Devices.OneWire.svg)]() [![#yourfirstpr](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](https://github.com/nanoframework/Home/blob/master/CONTRIBUTING.md) [![Discord](https://img.shields.io/discord/478725473862549535.svg)](https://discord.gg/gCyBu8T)
![nanoFramework logo](https://github.com/nanoframework/Home/blob/master/resources/logo/nanoFramework-repo-logo.png)
-----
### Welcome to the **nanoFramework** 1-Wire Class Library repository!
## Build status
| Component | Build Status | NuGet Package |
|:-|---|---|
| nanoFramework.Devices.OneWire | [![Build status](https://ci.appveyor.com/api/projects/status/9vnpnwek2jo385q2/branch/master?svg=true)](https://ci.appveyor.com/project/nfbot/lib-nanoframework-devices-onewire/branch/master) | [![NuGet](https://img.shields.io/nuget/vpre/nanoFramework.Devices.OneWire.svg)](https://www.nuget.org/packages/nanoFramework.Devices.OneWire/) |
| nanoFramework.Devices.OneWire (preview) | [![Build status](https://ci.appveyor.com/api/projects/status/9vnpnwek2jo385q2/branch/develop?svg=true)](https://ci.appveyor.com/project/nfbot/lib-nanoframework-devices-onewire/branch/develop) | [![MyGet Pre Release](https://img.shields.io/myget/nanoframework-dev/vpre/nanoFramework.Devices.OneWire.svg)](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.Devices.OneWire) |
## Feedback and documentation
For documentation, providing feedback, issues and finding out how to contribute please refer to the [Home repo](https://github.com/nanoframework/Home).
Join our Discord community [here](https://discord.gg/gCyBu8T).
## Credits
The list of contributors to this project can be found at [CONTRIBUTORS](https://github.com/nanoframework/Home/blob/master/CONTRIBUTORS.md).
## License
The **nanoFramework** Class Libraries are licensed under the [Apache 2.0 license](http://www.apache.org/licenses/LICENSE-2.0).
## Code of Conduct
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/)
to clarify expected behavior in our community.

82
appveyor-discord.ps1 Normal file
Просмотреть файл

@ -0,0 +1,82 @@
# Copyright (c) 2017 The nanoFramework project contributors
# Portions Copyright (c) Sankarsan Kampa (a.k.a. k3rn31p4nic). All rights reserved.
# See LICENSE file in the project root for full license information.
$STATUS=$args[0]
$WEBHOOK_URL=$args[1]
Write-Output "[Webhook]: Sending webhook to Discord..."
Switch ($STATUS) {
"success" {
$EMBED_COLOR=3066993
$STATUS_MESSAGE="Passed"
Break
}
"failure" {
$EMBED_COLOR=15158332
$STATUS_MESSAGE="Failed"
Break
}
default {
Write-Output "Default!"
Break
}
}
if (!$env:APPVEYOR_REPO_COMMIT) {
$env:APPVEYOR_REPO_COMMIT="$(git log -1 --pretty="%H")"
}
$AUTHOR_NAME="$(git log -1 "$env:APPVEYOR_REPO_COMMIT" --pretty="%aN")"
$COMMITTER_NAME="$(git log -1 "$env:APPVEYOR_REPO_COMMIT" --pretty="%cN")"
$COMMIT_SUBJECT="$(git log -1 "$env:APPVEYOR_REPO_COMMIT" --pretty="%s")"
$COMMIT_MESSAGE="$(git log -1 "$env:APPVEYOR_REPO_COMMIT" --pretty="%b")"
if ($AUTHOR_NAME -eq $COMMITTER_NAME) {
$CREDITS = "$AUTHOR_NAME authored & committed"
}
else {
$CREDITS = "$AUTHOR_NAME authored & $COMMITTER_NAME committed"
}
if ($env:APPVEYOR_PULL_REQUEST_NUMBER) {
$URL="https://github.com/$env:APPVEYOR_REPO_NAME/pull/$env:APPVEYOR_PULL_REQUEST_NUMBER"
}
else {
$URL=""
}
$BUILD_VERSION = [uri]::EscapeDataString($env:APPVEYOR_BUILD_VERSION)
$WEBHOOK_DATA="{
""embeds"": [ {
""color"": $EMBED_COLOR,
""author"": {
""name"": ""Job #$env:APPVEYOR_JOB_NUMBER (Build #$env:APPVEYOR_BUILD_NUMBER) $STATUS_MESSAGE - $env:APPVEYOR_REPO_NAME"",
""url"": ""https://ci.appveyor.com/project/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/build/$BUILD_VERSION"",
""icon_url"": ""$AVATAR""
},
""title"": ""$COMMIT_SUBJECT"",
""url"": ""$URL"",
""description"": ""$COMMIT_MESSAGE $CREDITS"",
""fields"": [
{
""name"": ""Commit"",
""value"": ""[``$($env:APPVEYOR_REPO_COMMIT.substring(0, 7))``](https://github.com/$env:APPVEYOR_REPO_NAME/commit/$env:APPVEYOR_REPO_COMMIT)"",
""inline"": true
},
{
""name"": ""Branch/Tag"",
""value"": ""[``$env:APPVEYOR_REPO_BRANCH``](https://github.com/$env:APPVEYOR_REPO_NAME/tree/$env:APPVEYOR_REPO_BRANCH)"",
""inline"": true
}
]
} ],
""content"" : """",
""file"": """"
}"
Invoke-RestMethod -Uri $WEBHOOK_URL -Method POST -UserAgent AppVeyor-Webhook -ContentType 'application/json' -Body $WEBHOOK_DATA
Write-Output "[Webhook]: Successfully sent the webhook."

168
appveyor.yml Normal file
Просмотреть файл

@ -0,0 +1,168 @@
# configuration for all branches
image: Visual Studio 2017
skip_tags: false
skip_branch_with_pr: true
test: off
# Skipping commits affecting specific files
skip_commits:
files:
- '**\AssemblyInfo.*'
- '**/*.md'
- 'LICENSE'
- dir/*
- '.gitignore'
- 'azure-pipelines.yml'
build:
verbosity: minimal
environment:
APPVEYOR_IGNORE_COMMIT_FILTERING_ON_TAG: true
APPVEYOR_SAVE_CACHE_ON_ERROR: true
matrix:
- RUBY_VERSION: 24
GitHubUserName:
secure: 7OBtVAMTodMWK20wg6pGnQ==
GitHubUserEmail:
secure: /NpmL1KqwHyHFnF0GlUovA586wDIt8Hg/Q8Dro6kUpk=
GitHubToken:
secure: i/2hGsqVMwzdM5yIS4rxOIeG3ftx7su7klWYN80s/fHvgk7A5H2fF3oUTNLcyTbw
GitRestAuth:
secure: E3bCMe4LtDdAhHSYRcLp0N6DixJe1m8TNxhYeJW/GnqM3WXdRqsgkHSbwootPjJQtOQJrps4twmzTVzofLSVgPgbzU8PxU0AkJV7zwkyVOE=
init:
- git config --global core.autocrlf true
- git config --global credential.helper store
- ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:GitHubToken):x-oauth-basic@github.com`n"
- git config --global user.email "%GitHubUserEmail%"
- git config --global user.name "%GitHubUserName%"
- ps: "$headers = if($env:APPVEYOR_PULL_REQUEST_NUMBER){\n @{\n \"Authorization\" = \"Basic $env:GitRestAuth\"\n \"Content-type\" = \"application/json\"\n}\n\n$pr = Invoke-RestMethod -Uri \"https://api.github.com/repos/$env:APPVEYOR_REPO_NAME/pulls/$env:APPVEYOR_PULL_REQUEST_NUMBER\" -Headers $headers -Method GET\n\nif($pr.user.login -eq \"nfbot\" -and $pr.body -like \"*[version update]*\")\n{\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n} }\n"
- ps: "if($env:APPVEYOR_PULL_REQUEST_NUMBER -eq \"\")\n{\n \n if($env:APPVEYOR_REPO_COMMIT_AUTHOR -eq \"nfbot\" -and $env:APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED -like \"*[version update]*\")\n {\n # commit was from nfbot AND it's taged as a [version update]\n # OK to skip AppVeyor build \n \"Version update only. Skipping build.\" | Write-Host -BackgroundColor White -ForegroundColor Blue\n Exit-AppveyorBuild\n }\n}"
install:
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
- bundle config --local path vendor/bundle
- gem install bundler --quiet --no-ri --no-rdoc
- gem install github_changelog_generator --quiet --no-ri --no-rdoc
- dotnet tool install --tool-path . nbgv
- ps: .\install-vsix-appveyor.ps1
before_build:
- ps: >-
nuget sources add -name MyGet -Source https://www.myget.org/F/nanoframework-dev
nuget restore source\nanoFramework.Devices.OneWire.sln
.\nbgv cloud -p source -a -c
build_script:
- ps: msbuild source\nanoFramework.Devices.OneWire.sln /p:PublicRelease=true /p:Configuration=Release /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
before_deploy:
- ps: >-
.\nbgv cloud --version=$env:NBGV_SemVer1
$env:MyNuGetVersion = $env:NBGV_NuGetPackageVersion -replace "\-g$env:NBGV_GitCommitIdShort", " "
.\generate-change-log.ps1
- nuget pack source\nanoFramework.Devices.OneWire.nuspec -Version %MyNuGetVersion%
- nuget pack source\nanoFramework.Devices.OneWire.DELIVERABLES.nuspec -Version %MyNuGetVersion%
- ps: >-
.\commit-assemblyinfo-changes.ps1
.\generate-change-log.ps1
Push-AppveyorArtifact $env:APPVEYOR_BUILD_FOLDER\nanoFramework.Devices.OneWire.$env:MyNuGetVersion.nupkg
after_deploy:
# for this environment variable to work here it has to be set in AppVeyor UI
- nuget push nanoFramework.Devices.OneWire.%MyNuGetVersion%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package
- nuget push nanoFramework.Devices.OneWire.DELIVERABLES.%MyNuGetVersion%.nupkg %MyGetToken% -Source https://www.myget.org/F/nanoframework-dev/api/v2/package
# requires APPVEYOR_DISCORD_WEBHOOK_URL enviroment variable set with Discord webhook URL
on_failure:
- ps: |
& $env:APPVEYOR_BUILD_FOLDER\appveyor-discord.ps1 failure $env:APPVEYOR_DISCORD_WEBHOOK_URL
cache:
- source\packages -> **source\packages.config
################################################
# override configuration for specific branches
for:
-
branches:
only:
- master
- /v\d.*/
deploy:
- provider: NuGet
api_key: $(NuGetToken)
skip_symbols: true
on:
appveyor_repo_tag: true
- provider: GitHub
tag: v$(MyNuGetVersion)
release: nanoFramework Devices.OneWire Library v$(MyNuGetVersion)
description: 'Check the [changelog](https://github.com/nanoframework/lib-nanoFramework.Devices.OneWire/blob/$(appveyor_repo_branch)/CHANGELOG.md)\n\n## Install from NuGet\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.nuget.org/packages/nanoFramework.Devices.OneWire/$(MyNuGetVersion)) v$(MyNuGetVersion)'
auth_token:
secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S
artifact:
draft: true
prerelease: false
force_update: true
on:
appveyor_repo_tag: false
-
branches:
only:
- /dev(elop)?$/
deploy:
- provider: GitHub
tag: v$(MyNuGetVersion)
release: nanoFramework Devices.OneWire Library v$(MyNuGetVersion)
description: 'Check the [changelog](https://github.com/nanoframework/lib-nanoFramework.Devices.OneWire/blob/$(appveyor_repo_branch)/CHANGELOG.md)\n\n## Install from nanoFramework MyGet development feed\n\nThe following NuGet packages are available for download from this release\n\npackage: [.NET](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.Devices.OneWire/$(MyNuGetVersion)) v$(MyNuGetVersion)'
auth_token:
secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S
artifact: Nuget_Packages
draft: true
prerelease: true
force_update: true
on:
appveyor_repo_tag: false
-
branches:
only:
- /release.*/
deploy:
- provider: NuGet
api_key: $(NuGetToken)
skip_symbols: true
on:
appveyor_repo_tag: true
- provider: GitHub
tag: v$(MyNuGetVersion)
release: nanoFramework Devices.OneWire Library v$(MyNuGetVersion)
description: 'Check the [changelog](https://github.com/nanoframework/lib-nanoFramework.Devices.OneWire/blob/$(appveyor_repo_branch)/CHANGELOG.md)\n\n## Install from NuGet\n\nThe following NuGet packages are available for download from this release\n\n:package: [.NET](https://www.nuget.org/packages/nanoFramework.Devices.OneWire/$(MyNuGetVersion)) v$(MyNuGetVersion)'
auth_token:
secure: DNixoFFE+pGlwyhj7McfZoln42vOmj0iY1iNV9zXEr3y0NpXlOIgL8k5ehzlFM1S
artifact:
draft: true
prerelease: true
force_update: true
on:
appveyor_repo_tag: false

Просмотреть файл

@ -0,0 +1,75 @@
# Copyright (c) 2018 The nanoFramework project contributors
# See LICENSE file in the project root for full license information.
# update assembly info in nf-interpreter if this is tag
if ($env:APPVEYOR_REPO_TAG -eq "true")
{
'Updating assembly version in nf-interpreter...' | Write-Host -ForegroundColor White -NoNewline
# clone nf-interpreter repo (only a shallow clone with last commit)
git clone https://github.com/nanoframework/nf-interpreter -b develop --depth 1 -q
cd nf-interpreter > $null
# new branch name
$newBranch = "$env:APPVEYOR_REPO_BRANCH-nfbot/update-version/nanoFramework.Devices.OneWire/$env:MyNuGetVersion"
# create branch to perform updates
git checkout -b "$newBranch" develop -q
# replace version in assembly declaration
$newVersion = $env:NBGV_AssemblyFileVersion -replace "\." , ", "
$newVersion = "{ $newVersion }"
$versionRegex = "\{\s*\d+\,\s*\d+\,\s*\d+\,\s*\d+\s*}"
$assemblyFiles = (Get-ChildItem -Path ".\*" -Include "nf_devices_onewire_native.cpp" -Recurse)
foreach($file in $assemblyFiles)
{
$filecontent = Get-Content($file)
attrib $file -r
$filecontent -replace $versionRegex, $newVersion | Out-File $file -Encoding utf8
}
# check if anything was changed
$repoStatus = "$(git status --short --porcelain)"
if ($repoStatus -eq "")
{
# nothing changed
& cd .. > $null
}
else
{
$commitMessage = "Update nanoFramework.Devices.OneWire version to $env:MyNuGetVersion"
# commit changes
git add -A 2>&1
git commit -m"$commitMessage" -m"[version update]" -q
git push --set-upstream origin "$newBranch" --porcelain -q > $null
# start PR
$prRequestBody = @{title="$commitMessage";body="$commitMessage`nStarted with https://github.com/$env:APPVEYOR_REPO_NAME/commit/$env:APPVEYOR_REPO_COMMIT`n[version update]";head="$newBranch";base="develop"} | ConvertTo-Json
$githubApiEndpoint = "https://api.github.com/repos/nanoframework/nf-interpreter/pulls"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
try
{
$result = Invoke-RestMethod -Method Post -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer -Uri $githubApiEndpoint -Header @{"Authorization"="Basic $env:GitRestAuth"} -ContentType "application/json" -Body $prRequestBody
'Started PR with version update...' | Write-Host -ForegroundColor White -NoNewline
'OK' | Write-Host -ForegroundColor Green
}
catch
{
$result = $_.Exception.Response.GetResponseStream()
$reader = New-Object System.IO.StreamReader($result)
$reader.BaseStream.Position = 0
$reader.DiscardBufferedData()
$responseBody = $reader.ReadToEnd();
"Error starting PR: $responseBody" | Write-Host -ForegroundColor Red
}
# move back to home folder
& cd .. > $null
}
}

36
generate-change-log.ps1 Normal file
Просмотреть файл

@ -0,0 +1,36 @@
# Copyright (c) 2018 The nanoFramework project contributors
# See LICENSE file in the project root for full license information.
# skip generating the change log when build is a pull-request or not a tag (can't commit when repo is in a tag)
if ($env:appveyor_pull_request_number -or $env:APPVEYOR_REPO_TAG -eq "true")
{
'Skip change log processing...' | Write-Host -ForegroundColor White
}
else
{
# need this to keep ruby happy
md c:\tmp > $null
if ($env:APPVEYOR_REPO_BRANCH -eq "master" -or $env:APPVEYOR_REPO_BRANCH -match "^release*")
{
# generate change log including future version
bundle exec github_changelog_generator --token $env:GitHubToken --future-release "v$env:NBGV_Version"
}
else
{
# generate change log
# version includes commits
bundle exec github_changelog_generator --token $env:GitHubToken
}
# updated changelog, if there are any differences
$logDif = git diff CHANGELOG.md
if($logDif -ne $null)
{
git add CHANGELOG.md
git commit -m "Update CHANGELOG for v$env:MyNuGetVersion"
# need to wrap the git command bellow so it doesn't throw an error because of redirecting the output to stderr
git push origin --porcelain | Write-Host
}
}

Просмотреть файл

@ -0,0 +1,9 @@
$vsixPath = "$($env:USERPROFILE)\nanoFramework.Tools.VS2017.Extension.vsix"
(New-Object Net.WebClient).DownloadFile('https://marketplace.visualstudio.com/_apis/public/gallery/publishers/vs-publisher-1470366/vsextensions/nanoFrameworkVS2017Extension/0/vspackage', $vsixPath)
"`"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VSIXInstaller.exe`" /q /a $vsixPath" | out-file ".\install-vsix.cmd" -Encoding ASCII
'Installing nanoFramework VS extension ...' | Write-Host -ForegroundColor White -NoNewline
& .\install-vsix.cmd > $null
'OK' | Write-Host -ForegroundColor Green

6
source/NuGet.Config Normal file
Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyGet nanoFramework dev" value="https://www.myget.org/F/nanoframework-dev/api/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>

Двоичные данные
source/key.snk Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>nanoFramework.Devices.OneWire.DELIVERABLES</id>
<version>$version$</version>
<title>nanoFramework.Devices.OneWire.DELIVERABLES</title>
<authors>nanoFramework project contributors</authors>
<owners>nanoFramework project contributors</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<releaseNotes></releaseNotes>
<developmentDependency>false</developmentDependency>
<projectUrl>https://github.com/nanoframework</projectUrl>
<iconUrl>https://secure.gravatar.com/avatar/97d0e092247f0716db6d4b47b7d1d1ad</iconUrl>
<copyright>Copyright (c) 2018 The nanoFramework project contributors</copyright>
<description>** DON'T REFERENCE THIS PACKAGE ** Not meant for development. This package includes the deliverable artifacts of the nanoFramework.Devices.OneWire assembly for nanoFramework. These are for testing purposes and for updating the native code base of the library.</description>
<summary>nanoFramework.Devices.OneWire.DELIVERABLES is not meant for development.</summary>
<tags></tags>
<dependencies>
<dependency id="nanoFramework.CoreLibrary" version="[1.0.5-preview024]" />
</dependencies>
</metadata>
<files>
<file src="nanoFramework.Devices.OneWire\bin\Release\Stubs\*.*" target="content\Stubs\" />
<file src="nanoFramework.Devices.OneWire\obj\Release\*.txt" target="content\txt\" />
<file src="nanoFramework.Devices.OneWire\obj\Release\*.dump" target="content\dump\" />
<file src="nanoFramework.Devices.OneWire\obj\Release\*.strings" target="content\dump\" />
<file src="nanoFramework.Devices.OneWire\obj\Release\*.resources" target="content\resources\" />
<file src="nanoFramework.Devices.OneWire\obj\Release\*.il" target="content\disasm\" />
</files>
</package>

Просмотреть файл

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>nanoFramework.Devices.OneWire</id>
<version>$version$</version>
<title>nanoFramework.Devices.OneWire</title>
<authors>nanoFramework project contributors</authors>
<owners>nanoFramework project contributors</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<releaseNotes></releaseNotes>
<developmentDependency>false</developmentDependency>
<projectUrl>https://github.com/nanoframework</projectUrl>
<iconUrl>https://secure.gravatar.com/avatar/97d0e092247f0716db6d4b47b7d1d1ad</iconUrl>
<copyright>Copyright (c) 2018 The nanoFramework project contributors</copyright>
<description>This package includes the nanoFramework.Devices.OneWire assembly for nanoFramework C# projects.</description>
<summary>nanoFramework.Devices.OneWire assembly for nanoFramework C# projects</summary>
<tags>nanoFramework C# csharp netmf netnf nanoFramework.Devices.OneWire</tags>
<dependencies>
<dependency id="nanoFramework.CoreLibrary" version="[1.0.5-preview024]" />
</dependencies>
</metadata>
<files>
<file src="nanoFramework.Devices.OneWire\bin\Release\nanoFramework.Devices.OneWire.dll" target="lib\nanoFramework.Devices.OneWire.dll" />
<file src="nanoFramework.Devices.OneWire\bin\Release\nanoFramework.Devices.OneWire.pdb" target="lib\nanoFramework.Devices.OneWire.pdb" />
<file src="nanoFramework.Devices.OneWire\bin\Release\nanoFramework.Devices.OneWire.pdbx" target="lib\nanoFramework.Devices.OneWire.pdbx" />
<file src="nanoFramework.Devices.OneWire\bin\Release\nanoFramework.Devices.OneWire.pe" target="lib\nanoFramework.Devices.OneWire.pe" />
<file src="nanoFramework.Devices.OneWire\bin\Release\nanoFramework.Devices.OneWire.xml" target="lib\nanoFramework.Devices.OneWire.xml" />
</files>
</package>

Просмотреть файл

@ -0,0 +1,27 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2046
MinimumVisualStudioVersion = 10.0.40219.1
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.Devices.OneWire", "nanoFramework.Devices.OneWire\nanoFramework.Devices.OneWire.nfproj", "{F09E40CC-F335-4482-8426-33C1D350B11D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F09E40CC-F335-4482-8426-33C1D350B11D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F09E40CC-F335-4482-8426-33C1D350B11D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F09E40CC-F335-4482-8426-33C1D350B11D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{F09E40CC-F335-4482-8426-33C1D350B11D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F09E40CC-F335-4482-8426-33C1D350B11D}.Release|Any CPU.Build.0 = Release|Any CPU
{F09E40CC-F335-4482-8426-33C1D350B11D}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {43CEFEC7-064A-40D5-84BD-1A50CEEA33A7}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,150 @@
//
// Copyright (c) 2018 The nanoFramework project contributors
// See LICENSE file in the project root for full license information.
//
using System.Collections;
using System.Runtime.CompilerServices;
/// <summary>
/// Represents a 1-Wire bus. The object provides methods and properties that an app can use to interact with the bus.
/// </summary>
public class OneWire
{
// this is used as the lock object
// a lock is required because multiple threads can access the SerialDevice
private object _syncLock = new object();
// external One Wire functions from link layer owllu.c
/// <summary>
/// Reset all of the devices on the 1-Wire Net and return the result.
/// </summary>
/// <returns>
/// TRUE: presence pulse(s) detected, device(s) reset.
/// FALSE: no presence pulses detected.
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern bool TouchReset();
/// <summary>
/// Send 1 bit of communication to the 1-Wire Net and return the result 1 bit read from the 1-Wire Net.
/// The parameter <paramref name="value"/> least significant bit is used and the least significant bit of the result is the return bit.
/// </summary>
/// <param name="value">The least significant bit is the bit to send.</param>
/// <returns>
/// A 0 or 1 read from <paramref name="value"/>.
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern bool TouchBit(bool value);
/// <summary>
/// Send 8 bits of communication to the 1-Wire Net and return the
/// result 8 bits read from the 1-Wire Net. The <paramref name="value"/>
/// least significant 8 bits are used and the least significant 8 bits
/// of the result is the return byte.
/// </summary>
/// <param name="value">8 bits to send (least significant byte).</param>
/// <returns>
/// 8 bits read from <paramref name="value"/>
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern byte TouchByte(byte value);
/// <summary>
/// Send 8 bits of communication to the 1-Wire Net and verify that the
/// 8 bits read from the 1-Wire Net is the same (write operation).
/// </summary>
/// <param name="value">8 bits to send (least significant byte).</param>
/// <returns>
/// TRUE: bytes written and echo was the same
/// FALSE: echo was not the same
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern byte WriteByte(byte value);
/// <summary>
/// Sends 8 bits of read communication to the 1-Wire Net.
/// </summary>
/// <returns>
/// 8 bit read from 1-Wire Net.
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern byte ReadByte();
/// <summary>
/// Finds the first device on the 1-Wire Net
/// </summary>
/// <param name="performResetBeforeSearch">TRUE perform reset before search, FALSE do not perform reset before search.</param>
/// <param name="searchWithAlarmCommand">TRUE the find alarm command 0xEC is sent instead of the normal search command 0xF0.</param>
/// <returns>
/// TRUE: when a 1-Wire device was found and it's Serial Number placed in the global SerialNum[portnum]
/// FALSE: There are no devices on the 1-Wire Net.
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern int FindFirstDevice(bool performResetBeforeSearch, bool searchWithAlarmCommand);
/// <summary>
/// The function does a general search. This function continues from the previous search state.
/// The search state can be reset by using the 'FindFirstDevice' function.
/// </summary>
/// <param name="performResetBeforeSearch">TRUE perform reset before search, FALSE do not perform reset before search.</param>
/// <param name="searchWithAlarmCommand">TRUE the find alarm command 0xEC is sent instead of the normal search command 0xF0.</param>
/// <returns>
/// TRUE: when a 1-Wire device was found and it's Serial Number placed in the global SerialNum[portnum]
/// FALSE: when no new device was found. Either the last search was the last device or there are no devices on the 1-Wire Net.
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern int FindNextDevice(bool performResetBeforeSearch, bool searchWithAlarmCommand);
/// <summary>
/// The function either reads or sets the SerialNum buffer
/// that is used in the search functions 'FindFirstDevice' and 'FindNextDevice'.
/// </summary>
/// <param name="serialNumber">buffer to that contains the serial number to set when read = FALSE
/// and buffer to get the serial number when read = TRUE.</param>
/// <param name="read">flag to indicate reading (1) or setting (0) the current serial number.</param>
/// <returns>
/// TRUE: serial number read or set
/// FALSE: no serial number
/// </returns>
[MethodImpl(MethodImplOptions.InternalCall)]
public extern int SerialNumber(byte[] serialNumber, bool read);
/// <summary>
/// Find all devices present in 1-Wire Net
/// </summary>
/// <returns>
/// ArrayList with the serial numbers of all devices found.
/// </returns>
[MethodImpl(MethodImplOptions.Synchronized)]
public ArrayList FindAllDevices()
{
int rslt;
lock (_syncLock)
{
ArrayList serialNumbers = new ArrayList();
// find the first device (all devices not just alarming)
rslt = FindFirstDevice(true, false);
while (rslt != 0)
{
byte[] SNum = new byte[8];
// retrieve the serial number just found
SerialNumber(SNum, true);
// save serial number
serialNumbers.Add(SNum);
// find the next device
rslt = FindNextDevice(true, false);
}
return serialNumbers;
}
}
}

Просмотреть файл

@ -0,0 +1,20 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("CSharp.BlankApplication")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CSharp.BlankApplication")]
[assembly: AssemblyCopyright("Copyright © ")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

Просмотреть файл

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<NanoFrameworkProjectSystemPath>$(MSBuildToolsPath)..\..\..\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>f09e40cc-f335-4482-8426-33c1d350b11d</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RootNamespace>nanoFramework.Devices.OneWire</RootNamespace>
<AssemblyName>nanoFramework.Devices.OneWire</AssemblyName>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
<NF_IsCoreLibrary>True</NF_IsCoreLibrary>
<DocumentationFile>bin\$(Configuration)\nanoFramework.Devices.OneWire.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>..\key.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup>
<DelaySign>false</DelaySign>
</PropertyGroup>
<PropertyGroup>
<!-- override default options for MetaDataProcessor -->
<!-- generate PE: TRUE -->
<NFMDP_PE_SKIP>false</NFMDP_PE_SKIP>
<NFMDP_PE_Verbose>true</NFMDP_PE_Verbose>
<NFMDP_PE_VerboseMinimize>true</NFMDP_PE_VerboseMinimize>
<!-- generate STUBS: TRUE -->
<NFMDP_STUB_SKIP>false</NFMDP_STUB_SKIP>
<NFMDP_STUB_Verbose>true</NFMDP_STUB_Verbose>
<!-- this is one is absolutely mandatory for base class libraries -->
<NFMDP_STUB_SkeletonWithoutInterop>true</NFMDP_STUB_SkeletonWithoutInterop>
<NFMDP_STUB_VerboseMinimize>true</NFMDP_STUB_VerboseMinimize>
<NFMDP_STUB_GenerateSkeletonFile>Stubs\nf_devices_onewire_native</NFMDP_STUB_GenerateSkeletonFile>
<NFMDP_STUB_GenerateSkeletonProject>nf_devices_onewire</NFMDP_STUB_GenerateSkeletonProject>
<NFMDP_CMD_LINE_OUTPUT>false</NFMDP_CMD_LINE_OUTPUT>
<Name>nanoFramework.Devices.OneWire</Name>
</PropertyGroup>
<ItemGroup>
<NFMDP_PE_LoadHints Include="..\packages\nanoFramework.CoreLibrary.1.0.5-preview024\lib\mscorlib.dll">
<InProject>false</InProject>
</NFMDP_PE_LoadHints>
</ItemGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<ItemGroup>
<Compile Include="OneWire.cs" />
</ItemGroup>
<ItemGroup>
<None Include="..\key.snk" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib, Version=1.0.5.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.0.5-preview024\lib\mscorlib.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
<Import Project="..\packages\Nerdbank.GitVersioning.2.2.13\build\Nerdbank.GitVersioning.targets" />
<ProjectExtensions>
<ProjectCapabilities>
<ProjectConfigurationsDeclaredAsItems />
</ProjectCapabilities>
</ProjectExtensions>
</Project>

Просмотреть файл

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="nanoFramework.CoreLibrary" version="1.0.5-preview024" targetFramework="netnanoframework10" />
<package id="Nerdbank.GitVersioning" version="2.2.13" developmentDependency="true" />
</packages>

26
source/version.json Normal file
Просмотреть файл

@ -0,0 +1,26 @@
{
"$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"version": "1.0.2-preview.{height}",
"assemblyVersion": {
"precision": "revision"
},
"semVer1NumericIdentifierPadding": 3,
"nugetPackageVersion": {
"semVer": 1
},
"publicReleaseRefSpec": [
"^refs/heads/master$",
"^refs/heads/v\\d+(?:\\.\\d+)?$"
],
"cloudBuild": {
"setVersionVariables": true,
"setAllVariables": true,
"buildNumber": {
"enabled": true,
"includeCommitId": {
"when": "nonPublicReleaseOnly",
"where": "buildMetadata"
}
}
}
}

74
template.vssettings Normal file
Просмотреть файл

@ -0,0 +1,74 @@
<UserSettings>
<ApplicationIdentity version="12.0"/>
<ToolsOptions>
<ToolsOptionsCategory name="TextEditor" RegisteredName="TextEditor">
<ToolsOptionsSubCategory name="AllLanguages" RegisteredName="AllLanguages" PackageName="Text Management Package"/>
<ToolsOptionsSubCategory name="CSharp" RegisteredName="CSharp" PackageName="Text Management Package">
<PropertyValue name="TabSize">4</PropertyValue>
<PropertyValue name="InsertTabs">false</PropertyValue>
<PropertyValue name="IndentSize">4</PropertyValue>
<PropertyValue name="BraceCompletion">true</PropertyValue>
</ToolsOptionsSubCategory>
<ToolsOptionsSubCategory name="CSharp-Specific" RegisteredName="CSharp-Specific" PackageName="Visual C# Language Service Package">
<PropertyValue name="NewLines_QueryExpression_EachClause">1</PropertyValue>
<PropertyValue name="Space_Normalize">0</PropertyValue>
<PropertyValue name="Space_AroundBinaryOperator">1</PropertyValue>
<PropertyValue name="Formatting_TriggerOnPaste">1</PropertyValue>
<PropertyValue name="NewLines_Braces_Method">1</PropertyValue>
<PropertyValue name="Indent_CaseLabels">1</PropertyValue>
<PropertyValue name="Formatting_TriggerOnBlockCompletion">1</PropertyValue>
<PropertyValue name="CodeDefinitionWindow_DocumentationComment_IndentOffset">2</PropertyValue>
<PropertyValue name="NewLines_Braces_ControlFlow">1</PropertyValue>
<PropertyValue name="NewLines_Braces_AnonymousMethod">0</PropertyValue>
<PropertyValue name="Space_WithinOtherParentheses">0</PropertyValue>
<PropertyValue name="Wrapping_KeepStatementsOnSingleLine">1</PropertyValue>
<PropertyValue name="Space_AfterBasesColon">1</PropertyValue>
<PropertyValue name="Indent_Braces">0</PropertyValue>
<PropertyValue name="Wrapping_IgnoreSpacesAroundVariableDeclaration">0</PropertyValue>
<PropertyValue name="Space_WithinMethodCallParentheses">0</PropertyValue>
<PropertyValue name="Space_AfterCast">0</PropertyValue>
<PropertyValue name="NewLines_Braces_CollectionInitializer">0</PropertyValue>
<PropertyValue name="NewLines_AnonymousTypeInitializer_EachMember">1</PropertyValue>
<PropertyValue name="NewLines_Keywords_Catch">1</PropertyValue>
<PropertyValue name="NewLines_Braces_ObjectInitializer">0</PropertyValue>
<PropertyValue name="NewLines_Braces_ArrayInitializer">0</PropertyValue>
<PropertyValue name="Space_WithinExpressionParentheses">0</PropertyValue>
<PropertyValue name="Space_InControlFlowConstruct">1</PropertyValue>
<PropertyValue name="Formatting_TriggerOnStatementCompletion">0</PropertyValue>
<PropertyValue name="NewLines_Keywords_Finally">1</PropertyValue>
<PropertyValue name="Space_BetweenEmptyMethodDeclarationParentheses">0</PropertyValue>
<PropertyValue name="Indent_UnindentLabels">0</PropertyValue>
<PropertyValue name="NewLines_ObjectInitializer_EachMember">1</PropertyValue>
<PropertyValue name="NewLines_Keywords_Else">1</PropertyValue>
<PropertyValue name="Space_WithinMethodDeclarationParentheses">0</PropertyValue>
<PropertyValue name="Space_BetweenEmptyMethodCallParentheses">0</PropertyValue>
<PropertyValue name="Space_BeforeSemicolonsInForStatement">0</PropertyValue>
<PropertyValue name="Space_BeforeComma">0</PropertyValue>
<PropertyValue name="Space_AfterMethodCallName">0</PropertyValue>
<PropertyValue name="Space_AfterComma">1</PropertyValue>
<PropertyValue name="Wrapping_IgnoreSpacesAroundBinaryOperators">0</PropertyValue>
<PropertyValue name="Space_BeforeBasesColon">1</PropertyValue>
<PropertyValue name="Space_AfterMethodDeclarationName">0</PropertyValue>
<PropertyValue name="Space_AfterDot">0</PropertyValue>
<PropertyValue name="NewLines_Braces_Type">1</PropertyValue>
<PropertyValue name="Space_AfterLambdaArrow">1</PropertyValue>
<PropertyValue name="NewLines_Braces_LambdaExpressionBody">0</PropertyValue>
<PropertyValue name="Space_WithinSquares">0</PropertyValue>
<PropertyValue name="Space_BeforeLambdaArrow">1</PropertyValue>
<PropertyValue name="NewLines_Braces_AnonymousTypeInitializer">0</PropertyValue>
<PropertyValue name="Space_WithinCastParentheses">0</PropertyValue>
<PropertyValue name="Space_AfterSemicolonsInForStatement">1</PropertyValue>
<PropertyValue name="Indent_CaseContents">0</PropertyValue>
<PropertyValue name="Indent_FlushLabelsLeft">1</PropertyValue>
<PropertyValue name="Wrapping_PreserveSingleLine">1</PropertyValue>
<PropertyValue name="Space_BetweenEmptySquares">0</PropertyValue>
<PropertyValue name="Space_BeforeOpenSquare">0</PropertyValue>
<PropertyValue name="Space_BeforeDot">0</PropertyValue>
<PropertyValue name="Indent_BlockContents">1</PropertyValue>
<PropertyValue name="SortUsings_PlaceSystemFirst">1</PropertyValue>
<PropertyValue name="SortUsings">1</PropertyValue>
<PropertyValue name="RemoveUnusedUsings">1</PropertyValue>
</ToolsOptionsSubCategory>
</ToolsOptionsCategory>
</ToolsOptions>
</UserSettings>