Skip to content

Commit 8407623

Browse files
author
Travis Illig
committed
Merge branch 'develop'
2 parents cc19bb7 + 0bc8b58 commit 8407623

31 files changed

+653
-378
lines changed

.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ root = true
88
[*]
99
end_of_line = CRLF
1010

11-
[*.{config,cs,json,xml}]
11+
[*.{config,cs,xml}]
1212
indent_style = space
1313
indent_size = 4
1414
trim_trailing_whitespace = true
@@ -17,7 +17,7 @@ trim_trailing_whitespace = true
1717
indent_style = tab
1818
trim_trailing_whitespace = true
1919

20-
[*.{kproj,csproj,ps1,resx,rst}]
20+
[*.{kproj,csproj,json,ps1,psd1,psm1,resx,rst}]
2121
indent_style = space
2222
indent_size = 2
2323
trim_trailing_whitespace = true

.gitignore

Lines changed: 44 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,39 @@
11
## Ignore Visual Studio temporary files, build results, and
22
## files generated by popular Visual Studio add-ons.
33

4+
# Project specific files
5+
artifacts/
6+
47
# User-specific files
58
*.suo
69
*.user
7-
*.docstates
8-
*.cache
9-
*.userprefs
10-
project.lock.json
11-
.vs/
12-
[Ii]ndex.dat
13-
[Ss]torage.dat
10+
*.sln.docstates
11+
*.ide
12+
Index.dat
13+
Storage.dat
1414

1515
# Build results
1616
[Dd]ebug/
17-
[Dd]ebugPublic/
1817
[Rr]elease/
19-
[Rr]eleases/
2018
x64/
21-
x86/
22-
build/
23-
bld/
2419
[Bb]in/
2520
[Oo]bj/
26-
[Aa]rtifacts/
2721

28-
# Roslyn cache directories
29-
*.ide/
22+
# Visual Studio 2015 cache/options directory
23+
.dotnet/
24+
.vs/
25+
.vscode/
26+
27+
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
28+
!packages/*/build/
3029

3130
# MSTest test Results
3231
[Tt]est[Rr]esult*/
3332
[Bb]uild[Ll]og.*
34-
35-
#NUNIT
36-
*.VisualState.xml
37-
TestResult.xml
38-
39-
# Build Results of an ATL Project
40-
[Dd]ebugPS/
41-
[Rr]eleasePS/
42-
dlldata.c
33+
*.TestResults.xml
4334

4435
*_i.c
4536
*_p.c
46-
*_i.h
4737
*.ilk
4838
*.meta
4939
*.obj
@@ -63,16 +53,12 @@ dlldata.c
6353
*.vssscc
6454
.builds
6555
*.pidb
66-
*.svclog
56+
*.log
6757
*.scc
6858

69-
# Chutzpah Test files
70-
_Chutzpah*
71-
7259
# Visual C++ cache files
7360
ipch/
7461
*.aps
75-
*.ipch
7662
*.ncb
7763
*.opensdf
7864
*.sdf
@@ -83,19 +69,12 @@ ipch/
8369
*.vsp
8470
*.vspx
8571

86-
# TFS 2012 Local Workspace
87-
$tf/
88-
8972
# Guidance Automation Toolkit
9073
*.gpState
9174

9275
# ReSharper is a .NET coding add-in
9376
_ReSharper*/
9477
*.[Rr]e[Ss]harper
95-
*.DotSettings.user
96-
97-
# JustCode is a .NET coding addin-in
98-
.JustCode
9978

10079
# TeamCity is a build add-in
10180
_TeamCity*
@@ -104,16 +83,8 @@ _TeamCity*
10483
*.dotCover
10584

10685
# NCrunch
107-
_NCrunch_*
86+
*.ncrunch*
10887
.*crunch*.local.xml
109-
*.ncrunchsolution
110-
111-
# MightyMoose
112-
*.mm.*
113-
AutoTest.Net/
114-
115-
# Web workbench (sass)
116-
.sass-cache/
11788

11889
# Installshield output folder
11990
[Ee]xpress/
@@ -133,29 +104,14 @@ publish/
133104

134105
# Publish Web Output
135106
*.[Pp]ublish.xml
136-
*.azurePubxml
137-
[Pp]ublish[Pp]rofiles/
138-
# TODO: Comment the next line if you want to checkin your web deploy settings
139-
# but database connection strings (with potential passwords) will be unencrypted
140107
*.pubxml
141-
*.publishproj
142-
143-
# NuGet Packages
144-
*.nupkg
145-
# The packages folder can be ignored because of Package Restore
146-
**/packages/*
147-
# except build/, which is used as an MSBuild target.
148-
!**/packages/build/
149-
# Don't check in NuGet proper
150-
.nuget/
151-
nuget.exe
152-
# If using the old MSBuild-Integrated Package Restore, uncomment this:
153-
#!**/packages/repositories.config
154-
# Local filesystem/test NuGet
155-
local-nuget/
108+
109+
# NuGet Packages Directory
110+
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
111+
packages/
156112

157113
# Windows Azure Build Output
158-
csx/
114+
csx
159115
*.build.csdef
160116

161117
# Windows Store app package directory
@@ -166,36 +122,44 @@ sql/
166122
*.Cache
167123
ClientBin/
168124
[Ss]tyle[Cc]op.*
125+
!stylecop.json
169126
~$*
170127
*~
171128
*.dbmdl
172-
*.dbproj.schemaview
173129
*.pfx
174130
*.publishsettings
175131
node_modules/
132+
bower_components/
133+
wwwroot/
134+
project.lock.json
176135

177136
# RIA/Silverlight projects
178137
Generated_Code/
179138

180-
# Backup & report files from converting an old project file
181-
# to a newer Visual Studio version. Backup files are not needed,
182-
# because we have git ;-)
139+
# Backup & report files from converting an old project file to a newer
140+
# Visual Studio version. Backup files are not needed, because we have git ;-)
183141
_UpgradeReport_Files/
184142
Backup*/
185143
UpgradeLog*.XML
186144
UpgradeLog*.htm
187145

188146
# SQL Server files
189-
*.mdf
190-
*.ldf
147+
App_Data/*.mdf
148+
App_Data/*.ldf
149+
150+
# =========================
151+
# Windows detritus
152+
# =========================
153+
154+
# Windows image file caches
155+
Thumbs.db
156+
ehthumbs.db
191157

192-
# Business Intelligence projects
193-
*.rdl.data
194-
*.bim.layout
195-
*.bim_*.settings
158+
# Folder config file
159+
Desktop.ini
196160

197-
# Microsoft Fakes
198-
FakesAssemblies/
161+
# Recycle Bin used on file shares
162+
$RECYCLE.BIN/
199163

200-
# Mac OS
201-
*DS_Store
164+
# Mac crap
165+
.DS_Store

Autofac.Extras.AggregateService.sln

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 14
44
VisualStudioVersion = 14.0.23107.0
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Autofac.Extras.AggregateService", "src\Autofac.Extras.AggregateService\Autofac.Extras.AggregateService.csproj", "{1D24C6ED-9A6E-4082-A79C-A3F5B88FC947}"
6+
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Autofac.Extras.AggregateService", "src\Autofac.Extras.AggregateService\Autofac.Extras.AggregateService.xproj", "{1D24C6ED-9A6E-4082-A79C-A3F5B88FC947}"
77
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Autofac.Extras.AggregateService.Test", "test\Autofac.Extras.AggregateService.Test\Autofac.Extras.AggregateService.Test.csproj", "{4BCA97A6-BF40-4B29-B025-0F53A6E4A682}"
8+
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Autofac.Extras.AggregateService.Test", "test\Autofac.Extras.AggregateService.Test\Autofac.Extras.AggregateService.Test.xproj", "{4BCA97A6-BF40-4B29-B025-0F53A6E4A682}"
99
EndProject
1010
Global
1111
GlobalSection(SolutionConfigurationPlatforms) = preSolution

CONTRIBUTING.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
#Contributor Guide
2+
3+
Contributions to Autofac, whether new features or bug fixes, are deeply appreciated and benefit the whole user community.
4+
5+
The following guidelines help ensure the smooth running of the project, and keep a consistent standard across the codebase. They are guidelines only - should you feel a need to deviate from them it is probably for a good reason - but please adhere to them as closely as possible.
6+
7+
If you'd like to contribute code or documentation to Autofac, we welcome pull requests. [Questions and suggestions are welcome on the newsgroup.](https://groups.google.com/forum/#!forum/autofac>).
8+
9+
**Your contributions must be your own work and licensed under the same terms as Autofac.**
10+
11+
##Process
12+
13+
**When working through contributions, please file issues and submit pull requests in the repository containing the code in question.** For example, if the issue is with the Autofac MVC integration, file it in that repo rather than the core Autofac repo.
14+
15+
- **File an issue.** Either suggest a feature or note a defect. If it's a feature, explain the challenge you're facing and how you think the feature should work. If it's a defect, include a description and reproduction (ideally one or more failing unit tests).
16+
- **Design discussion.** For new features, some discussion on the issue will take place to determine if it's something that should be included with Autofac or be a user-supplied extension. For defects, discussion may happen around whether the issue is truly a defect or if the behavior is correct.
17+
- **Pull request.** Create [a pull request](https://help.github.com/articles/using-pull-requests/) on the `develop` branch of the repository to submit changes to the code based on the information in the issue. Pull requests need to pass the CI build and follow coding standards. See below for more on coding standards in use with Autofac. Note all pull requests should include accompanying unit tests to verify the work.
18+
- **Code review.** Some iteration may take place requiring updates to the pull request (e.g., to fix a typo or add error handling).
19+
- **Pull request acceptance.** The pull request will be accepted into the `develop` branch and pushed to `master` with the next release.
20+
21+
##License
22+
23+
By contributing to Autofac, you assert that:
24+
25+
1. The contribution is your own original work.
26+
2. You have the right to assign the *copyright* for the work (it is not owned by your employer, or you have been given copyright assignment in writing).
27+
3. You license it under the terms applied to the rest of the Autofac project.
28+
29+
##Coding
30+
31+
###Workflow
32+
33+
Autofac and the associated integration libraries follow the [Gitflow workflow process](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow/) for handling releases. This means active development is done on the `develop` branch and we push to `master` when it's release time. **If you're creating a pull request or contribution, please do it on the `develop` branch.** We can then build, push to MyGet for testing, and release to NuGet when everything's verified.
34+
35+
###Developer Environment
36+
37+
- Visual Studio 2015 (with latest patches/updates).
38+
- PowerShell 4+
39+
40+
###Dependencies
41+
42+
The core Autofac assemblies depend _only_ on the .NET Base Class Libraries (BCL). `Autofac.dll` proper is a Portable Class Library so only depends on a subset of that BCL functionality. This is a conscious decision to keep the project lightweight and easier to maintain.
43+
44+
For core integration assemblies (`Autofac.Integration.*`) the latest version of Autofac relies on the latest version of the integration target. For example, `Autofac.Integration.Mvc` always relies on the latest ASP.NET MVC libraries. This also helps keep the project easier to maintain.
45+
46+
The `Autofac.Extras` features include assemblies that depend on other Open Source (OSS) libraries. It is important when including new dependencies that:
47+
48+
- The project can be built straight out of Git (no additional installation needs to take place on the developer's machine). This means NuGet package references and/or checking in dependencies.
49+
- Any third-party libraries have licenses compatible with Autofac's (the GPL and licenses like it are incompatible - please ask on the discussion forum if you're unsure).
50+
51+
Unit tests are written in XUnit.
52+
53+
###Build / Test
54+
55+
Project codelines with scripted builds generally have a `build.ps1` script. This Powershell script will build, package, and execute tests.
56+
57+
Some project codelines rely on convention-based builds so do not have a specific script. In these cases you will not see a `.ps1` or `.proj` file to execute. In these cases...
58+
59+
- The build is executed by running it in Visual Studio or by executing `msbuild Solution.sln` on the solution in the codeline root.
60+
- Unit tests can be run from the Visual Studio test explorer or by manually executing the command-line unit test runner from the `packages` folder against the built unit test assembly.
61+
62+
###Code Documentation
63+
64+
It is *strongly* encouraged that you update the Autofac documentation when making changes. If your changes impact existing features, the documentation may be updated regardless of whether a binary distribution has been made that includes the changes. [This can also be done through pull request.](https://github.com/autofac/Documentation)
65+
66+
You should also include XML API comments in the code. These are used to generate API documentation as well as for IntelliSense.
67+
68+
**The Golden Rule of Documentation: Write the documentation you'd want to read.** Every developer has seen self explanatory docs and wondered why there wasn't more information. (Parameter: "index." Documentation: "The index.") Please write the documentation you'd want to read if you were a developer first trying to understand how to make use of a feature.
69+
70+
###Coding Standards
71+
72+
Normal .NET coding guidelines apply. See the [Framework Design Guidelines](http://msdn.microsoft.com/en-us/library/ms229042.aspx>) for suggestions. If you have access to ReSharper, code should be 'green' - that is, have no ReSharper warnings or errors with the default settings.
73+
74+
Autofac source code uses four spaces for indents (rather than tabs).
75+
76+
[If you have the EditorConfig add-in for your editor of choice (Visual Studio, Sublime Text, etc.)](http://editorconfig.org/), there are `.editorconfig` settings in the various repositories to help make your life easier.
77+
78+
##Autofac.Extras
79+
80+
Autofac.Extras are companion libraries that get distributed alongside the main Autofac distribution. The Extras are distinguished by:
81+
82+
- Experimental features
83+
- Integrations with other Open Source projects
84+
- Alternatives to the 'typical' way of doing something in the core (e.g. a different configuration syntax)
85+
86+
In many cases, Autofac.Extras is a way of testing alternatives and getting visibility for new ideas that could eventually end up in the core.
87+
88+
If your contribution is accepted to Autofac.Extras it is unlikely that the rest of the project team will have the knowledge to maintain it, so please expect to have bug reports assigned to you for the area (which you may subsequently reassign if you're unable to action them).

Full.ruleset

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

ISSUE_TEMPLATE.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Try StackOverflow! If you have a _usage question_ ("How do I...?" "Others have this working but I can't get it...") please try [StackOverflow](http://stackoverflow.com) and tag your question `autofac`. We, along with a great community, monitor those questions.
2+
3+
**Have you [read the docs?](http://autofac.readthedocs.io/)**
4+
5+
**This repo is for Autofac.Extras.AggregateService only.** If you are encountering issues with another package (MVC, Web API, etc.) or core Autofac, please file it in the appropriate repo. Thanks!
6+
7+
**When filing an issue, please include:**
8+
9+
- Assembly version information for _all_ project dependencies (packages.config, project.json)
10+
- The stack trace and message of any exception(s) encountered.
11+
- If possible, a reproduction of the issue (ideally in a unit test form).

NuGet.Config

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<packageSources>
4-
<clear />
5-
<add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/api/v2" />
6-
<add key="AspNetMaster" value="https://www.myget.org/F/aspnetmaster/api/v2" />
7-
<add key="Autofac MyGet" value="https://www.myget.org/F/autofac/api/v2" />
8-
<add key="xUnit.net" value="https://www.myget.org/F/xunit/api/v2/" />
9-
<add key="NuGet v2" value="https://www.nuget.org/api/v2" />
10-
<add key="NuGet v3" value="https://api.nuget.org/v3/index.json" />
4+
<clear/>
5+
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
6+
<add key="Xunit MyGet" value="https://myget.org/F/xunit/api/v3/index.json" />
117
</packageSources>
128
<disabledPackageSources>
13-
<add key="AspNetVNext" value="true" />
14-
<add key="AspNetMaster" value="true" />
15-
<add key="Autofac MyGet" value="true" />
16-
<add key="NuGet v3" value="true" />
9+
<add key="Microsoft and .NET" value="true" />
1710
</disabledPackageSources>
1811
</configuration>

0 commit comments

Comments
 (0)