Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Commit

Permalink
Add License and git files
Browse files Browse the repository at this point in the history
  • Loading branch information
Pierre Cauchois committed Nov 16, 2016
1 parent 3c6f048 commit 98f489f
Show file tree
Hide file tree
Showing 5 changed files with 1,478 additions and 0 deletions.
27 changes: 27 additions & 0 deletions .gitattributes
@@ -0,0 +1,27 @@
# Default behavior: if Git thinks a file is text (as opposed to binary), it
# will normalize line endings to LF in the repository, but convert to your
# platform's native line endings on checkout (e.g., CRLF for Windows).
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout. E.g.,
#*.c text

# Declare files that will always have CRLF line endings on checkout. E.g.,
#*.sln text eol=crlf

# Declare files that will always have LF line endings on checkout. E.g.,
*.sh text eol=lf
*.json text eol=lf

# Denote all files that should not have line endings normalized, should not be
# merged, and should not show in a textual diff.
*.docm binary
*.docx binary
*.ico binary
*.lib binary
*.png binary
*.pptx binary
*.snk binary
*.vsdx binary
*.xps binary
241 changes: 241 additions & 0 deletions .gitignore
@@ -0,0 +1,241 @@
# Compiled object files
*.o
*.opp

# Compiled static libraries
*.a

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates

# Build results

[Dd]ebug/
[Rr]elease/
x64/
[Bb]in/
[Oo]bj/
/build/release/Maven
!/build/release/
[Cc]make/

# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.VC.opendb

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# 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
*.Publish.xml

# NuGet Packages Directory
packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings
*.jar

# 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
App_Data/*.mdf
App_Data/*.ldf


#LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml

# CPython & Wheels
*.pyc
*.pyd
*.whl
*.egg-info

# =========================
# Windows detritus
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac desktop service store files
.DS_Store

# Visual studio build artifacts
*.tlog
*.lastbuildstate
*.idb
*.exp
*.lib
*.dll

# Visual Studio Temporary files
*.VC.db

# Windows CE build artifacts
Build.err
Build.wrn
Buildx86retail.dat
*.dat

# Tools EXE that doesn't end up in a typical build directory
c/common/tools/macro_utils_h_generator/macro_utils_h_generator.exe

# hg directories should be ignored
**/hg/

# Java
java/**/.idea/
java/**/out/
java/**/target/
java/**/*.iml
java/**/*dependency-reduced-pom.xml
java/**/*.crt

# Node.js
**/.settings/
**/node_modules/
**/.idea/
**/coverage/

# VS Code stuff
**/typings/**
**/.vscode/**
# C/C++ extension for VS Code
.browse.VC.db*

csharp/device/NuGet/*.exe
csharp/device/NuGet/*.nupkg
csharp/device/.vs/*
service/java/.idea
service/java/target
service/java/iot.service.sdk.java.iml
java/device/doc/api_reference
java/service/doc/api_reference
c/build_all/windows/nuget.exe
csharp/device/build/nuget.exe

# .NET Micro Framework Emulator files and folders
OnBoardFlash.dat
OnBoardFlash.dat.smd
DOTNETMF_FS_EMULATION*/
/c/cmake
/c/build
javawrapper/device/iothub_client_javawrapper/target
javawrapper/device/samples/direct_call_of_wrapped_functions/target
javawrapper/device/samples/send-receive-sample/target
javawrapper/device/samples/send-serialized-event/target
javawrapper/device/samples/file-upload-sample/target
javawrapper/device/samples/send-event-sample/target
javawrapper/device/test/target
javawrapper/device/samples/target
65 changes: 65 additions & 0 deletions CONTRIBUTING.md
@@ -0,0 +1,65 @@
**The Azure IoT SDKs team wants to hear from you!**

- [Ask a question](#ask-a-question)
- [File a bug](#file-a-bug)
- [Contribute documentation](#contribute-documentation)
- [Contribute code](#contribute-code)

# Ask a question
Our team monitors Stack Overflow, especially the [azure-iot-hub](http://stackoverflow.com/questions/tagged/azure-iot-hub) tag. It really is the best place to ask.

We monitor the Github issues section specifically for bugs found with our SDK, however we will reply to questions asked using Github issues too.

# File a bug (code or documentation)
That is definitely something we want to hear about. Please open an issue on github, we'll address it as fast as possible. Typically here's the information we're going to ask for to get started:
- What SDK are you using (Node, C, C#, Python, Java?)
- What version of the SDK?
- Do you have a snippet of code that would help us reproduce the bug?
- Do you have logs showing what's happening?

Our SDK is entirely open-source and we do accept pull-requests if you feel like taking a stab at fixing the bug and maybe adding your name to our commit history :) Please mention
any relevant issue number in the pull request description.

# Contribute documentation
For simple markdown files, we accept documentation pull requests submitted against the `master` branch, if it's about existing SDK features.
If your PR is about future changes or has changes to the comments in the code itself, we'll treat is as a code change (see the next section).

# Contribute code
Unlike documentation, we require pull-requests for code to be submitted against the `develop` branch in order to review and run it in our gated build system. We try to maintain a high bar
for code quality and maintainability, we insist on having tests associated with the code, and if necessary, additions/modifications to the requirement documents.

Also, have you signed the [Contribution License Agreement](https://cla.microsoft.com/) ([CLA](https://cla.microsoft.com/))? A friendly bot will remind you about it when you submit your pull-request.

If you feel like your contribution is going to be a major effort, you should probably give us a heads-up. We have a lot of items captured in our backlog and we release every two weeks, so before you spend the time, just check with us to make
sure your plans and ours are in sync :) Just open an issue on github and tag it "enhancement" or "feature request"

## Editing module requirements
We use requirement documents to describe the expected behavior for each code modules. It works as a basis to understand what tests need to be written.

Each requirement has a unique tag that is re-used in the code comments to identify where it's implemented and where it's tested. To generate these unique identifiers, we used to use a Microsoft Word macro.
We are progressively switching to Markdown though, for which we have no macro, therefore we have to be careful about numbering.

The following steps describe adding a new requirement in a Word document:

* Add the requirement text and select it

![](media/add_requirement/add_requirement_step1.png)

* Invoke the macro with the selected text

![](media/add_requirement/add_requirement_step2.png)

* Select developer id 99

![](media/add_requirement/add_requirement_step3.png)

* Done!

![](media/add_requirement/add_requirement_step4.png)

When contributing to markdown requirement docs, you can also use `99` for a developer id, and just increment the last number of the requirement to be unique.

## Adding new files
If your contribution is not part of an already existed code, you must create a new requirement file and a new unit test project. Our team created a template to help you on it. For the requirements you can copy the [template_requirements.md](https://github.com/Azure/azure-c-shared-utility/blob/develop/devdoc/template_requirements.md) to the appropriate `devdoc` directory and change it to fits your needs.

For the unit test, copy the directory [template_ut](https://github.com/Azure/azure-c-shared-utility/tree/develop/tests/template_ut) to the appropriate `tests` directory and change it to fits your needs. To include your new test suite in the `cmake`, add your new test suite in `test/CMakeLists.txt` with the command `add_subdirectory(template_ut)`.
21 changes: 21 additions & 0 deletions LICENSE
@@ -0,0 +1,21 @@
Microsoft Azure IoT SDKs
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the ""Software""), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

0 comments on commit 98f489f

Please sign in to comment.