Skip to content

Commit 674a6a0

Browse files
TheFanatrmontymxb
authored andcommitted
Refactor Entire Project into .NET Standard (#284)
* Completely refactored the entire solution to just be one .NET Standard 2 project with a unit test. * Updated dependencies to fix the issue pointed out by @danibjor, and re-added support for AppVeyor through the use of OpenCover. * Attempted to make AppVeyor support work properly. * Added AppVeyor code coverage analysis support. * Added AppVeyor Console unit testing support. * Corrected syntax formatting across all files in the Parse project, added NuGet package metadata to the Parse project because NuSpec file metadata declaration not supported for .NET Standard projects, added XML code documentation, and modified the AppVeyor configuration to upload the build-created NuGet package to the build console as an artifact.
1 parent ce87d7f commit 674a6a0

File tree

645 files changed

+19249
-43917
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

645 files changed

+19249
-43917
lines changed

.appveyor.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
version: '1.7.{build}'
2-
image: Visual Studio 2015
1+
version: '2.0.0-{build}'
2+
image: Visual Studio 2017
33
before_build:
44
- nuget restore Parse.sln
55
build_script:
6-
- msbuild /verbosity:quiet "Parse.sln"
6+
project: Parse.sln
7+
verbosity: minimal
8+
before_test:
9+
- choco install opencover.portable
10+
- choco install codecov
711
test_script:
8-
- .\packages\OpenCover.4.6.166\tools\OpenCover.Console.exe -target:nunit-console.exe -register:user -targetargs:""C:\projects\parse-sdk-dotnet\ParseAnalytics\Test\bin\Debug\ParseAnalytics.Test.Unit.NetFx45.dll" "C:\projects\parse-sdk-dotnet\ParseCommon\Test\bin\Debug\ParseCommon.Test.Unit.NetFx45.dll" "C:\projects\parse-sdk-dotnet\ParseCore\Test\bin\Debug\ParseTest.Unit.NetFx45.dll" "C:\projects\parse-sdk-dotnet\ParsePush\Test\bin\Debug\ParseTest.Unit.NetFx45.dll" /noshadow" -filter:"" -output:parse_sdk_dotnet_coverage.xml
12+
- OpenCover.Console.exe -target:dotnet.exe -targetargs:"test --test-adapter-path:. --logger:Appveyor /p:DebugType=full .\Parse.Test\Parse.Test.csproj" -filter:"+[Parse*]* -[Parse.Test*]*" -oldstyle -output:parse_sdk_dotnet_coverage.xml -register:user
913
after_test:
10-
- ps: |
11-
$env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
12-
Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
13-
bash codecov.sh -f "parse_sdk_dotnet_coverage.xml"
14+
- codecov -f "parse_sdk_dotnet_coverage.xml"
15+
artifacts:
16+
- path: '**\*.nupkg'
17+
name: Parse NuGet Package

.editorconfig

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

.gitattributes

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
###############################################################################
2+
# Set default behavior to automatically normalize line endings.
3+
###############################################################################
4+
* text=auto
5+
6+
###############################################################################
7+
# Set default behavior for command prompt diff.
8+
#
9+
# This is need for earlier builds of msysgit that does not have it on by
10+
# default for csharp files.
11+
# Note: This is only used by command line
12+
###############################################################################
13+
#*.cs diff=csharp
14+
15+
###############################################################################
16+
# Set the merge driver for project and solution files
17+
#
18+
# Merging from the command prompt will add diff markers to the files if there
19+
# are conflicts (Merging from VS is not affected by the settings below, in VS
20+
# the diff markers are never inserted). Diff markers may cause the following
21+
# file extensions to fail to load in VS. An alternative would be to treat
22+
# these files as binary and thus will always conflict and require user
23+
# intervention with every merge. To do so, just uncomment the entries below
24+
###############################################################################
25+
#*.sln merge=binary
26+
#*.csproj merge=binary
27+
#*.vbproj merge=binary
28+
#*.vcxproj merge=binary
29+
#*.vcproj merge=binary
30+
#*.dbproj merge=binary
31+
#*.fsproj merge=binary
32+
#*.lsproj merge=binary
33+
#*.wixproj merge=binary
34+
#*.modelproj merge=binary
35+
#*.sqlproj merge=binary
36+
#*.wwaproj merge=binary
37+
38+
###############################################################################
39+
# behavior for image files
40+
#
41+
# image files are treated as binary by default.
42+
###############################################################################
43+
#*.jpg binary
44+
#*.png binary
45+
#*.gif binary
46+
47+
###############################################################################
48+
# diff behavior for common document formats
49+
#
50+
# Convert binary document formats to text before diffing them. This feature
51+
# is only available from the command line. Turn it on by uncommenting the
52+
# entries below.
53+
###############################################################################
54+
#*.doc diff=astextplain
55+
#*.DOC diff=astextplain
56+
#*.docx diff=astextplain
57+
#*.DOCX diff=astextplain
58+
#*.dot diff=astextplain
59+
#*.DOT diff=astextplain
60+
#*.pdf diff=astextplain
61+
#*.PDF diff=astextplain
62+
#*.rtf diff=astextplain
63+
#*.RTF diff=astextplain

.gitignore

Lines changed: 181 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,53 @@
1-
# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
2-
[Bb]in/
3-
[Oo]bj/
4-
5-
# mstest test results
6-
TestResults
7-
8-
# AppPackages for Win8
9-
AppPackages/
10-
111
## Ignore Visual Studio temporary files, build results, and
122
## files generated by popular Visual Studio add-ons.
133

144
# User-specific files
155
*.suo
166
*.user
7+
*.userosscache
178
*.sln.docstates
9+
10+
# User-specific files (MonoDevelop/Xamarin Studio)
1811
*.userprefs
1912

2013
# Build results
2114
[Dd]ebug/
15+
[Dd]ebugPublic/
2216
[Rr]elease/
17+
[Rr]eleases/
2318
x64/
19+
x86/
20+
bld/
21+
[Bb]in/
22+
[Oo]bj/
23+
[Ll]og/
24+
25+
# Visual Studio 2015 cache/options directory
26+
.vs/
27+
# Uncomment if you have tasks that create the project's static files in wwwroot
28+
#wwwroot/
29+
30+
# MSTest test Results
31+
[Tt]est[Rr]esult*/
32+
[Bb]uild[Ll]og.*
33+
34+
# NUNIT
35+
*.VisualState.xml
36+
TestResult.xml
37+
38+
# Build Results of an ATL Project
39+
[Dd]ebugPS/
40+
[Rr]eleasePS/
41+
dlldata.c
42+
43+
# DNX
44+
project.lock.json
45+
project.fragment.lock.json
46+
artifacts/
47+
2448
*_i.c
2549
*_p.c
50+
*_i.h
2651
*.ilk
2752
*.meta
2853
*.obj
@@ -36,37 +61,69 @@ x64/
3661
*.tli
3762
*.tlh
3863
*.tmp
64+
*.tmp_proj
3965
*.log
4066
*.vspscc
4167
*.vssscc
42-
*.pyc
4368
.builds
44-
dist/
69+
*.pidb
70+
*.svclog
71+
*.scc
72+
73+
# Chutzpah Test files
74+
_Chutzpah*
4575

4676
# Visual C++ cache files
4777
ipch/
4878
*.aps
4979
*.ncb
80+
*.opendb
5081
*.opensdf
5182
*.sdf
83+
*.cachefile
84+
*.VC.db
85+
*.VC.VC.opendb
5286

5387
# Visual Studio profiler
5488
*.psess
5589
*.vsp
5690
*.vspx
91+
*.sap
92+
93+
# TFS 2012 Local Workspace
94+
$tf/
5795

5896
# Guidance Automation Toolkit
5997
*.gpState
6098

6199
# ReSharper is a .NET coding add-in
62-
_ReSharper*
100+
_ReSharper*/
101+
*.[Rr]e[Ss]harper
102+
*.DotSettings.user
103+
104+
# JustCode is a .NET coding add-in
105+
.JustCode
106+
107+
# TeamCity is a build add-in
108+
_TeamCity*
109+
110+
# DotCover is a Code Coverage Tool
111+
*.dotCover
63112

64113
# NCrunch
65-
*.ncrunch*
114+
_NCrunch_*
66115
.*crunch*.local.xml
116+
nCrunchTemp_*
67117

68-
# Installshield output folder
69-
[Ee]xpress
118+
# MightyMoose
119+
*.mm.*
120+
AutoTest.Net/
121+
122+
# Web workbench (sass)
123+
.sass-cache/
124+
125+
# Installshield output folder
126+
[Ee]xpress/
70127

71128
# DocProject is a documentation generator add-in
72129
DocProject/buildhelp/
@@ -79,39 +136,126 @@ DocProject/Help/Html2
79136
DocProject/Help/html
80137

81138
# Click-Once directory
82-
publish
139+
publish/
83140

84141
# Publish Web Output
85-
*.Publish.xml
142+
*.[Pp]ublish.xml
143+
*.azurePubxml
144+
# TODO: Comment the next line if you want to checkin your web deploy settings
145+
# but database connection strings (with potential passwords) will be unencrypted
146+
#*.pubxml
147+
*.publishproj
148+
149+
# Microsoft Azure Web App publish settings. Comment the next line if you want to
150+
# checkin your Azure Web App publish settings, but sensitive information contained
151+
# in these scripts will be unencrypted
152+
PublishScripts/
86153

87-
# NuGet Packages Directory
88-
packages/
154+
# NuGet Packages
155+
*.nupkg
156+
# The packages folder can be ignored because of Package Restore
157+
**/packages/*
158+
# except build/, which is used as an MSBuild target.
159+
!**/packages/build/
160+
# Uncomment if necessary however generally it will be regenerated when needed
161+
#!**/packages/repositories.config
162+
# NuGet v3's project.json files produces more ignoreable files
163+
*.nuget.props
164+
*.nuget.targets
89165

90-
# Windows Azure Build Output
91-
csx
166+
# Microsoft Azure Build Output
167+
csx/
92168
*.build.csdef
93169

170+
# Microsoft Azure Emulator
171+
ecf/
172+
rcf/
173+
174+
# Windows Store app package directories and files
175+
AppPackages/
176+
BundleArtifacts/
177+
Package.StoreAssociation.xml
178+
_pkginfo.txt
179+
180+
# Visual Studio cache files
181+
# files ending in .cache can be ignored
182+
*.[Cc]ache
183+
# but keep track of directories ending in .cache
184+
!*.[Cc]ache/
185+
94186
# Others
95-
[Bb]in
96-
[Oo]bj
97-
sql
98-
TestResults
99-
[Tt]est[Rr]esult*
100-
*.Cache
101-
ClientBin
102-
[Ss]tyle[Cc]op.*
187+
ClientBin/
103188
~$*
189+
*~
104190
*.dbmdl
105-
Generated_Code #added for RIA/Silverlight projects
191+
*.dbproj.schemaview
192+
*.jfm
193+
*.pfx
194+
*.publishsettings
195+
node_modules/
196+
orleans.codegen.cs
197+
198+
# Since there are multiple workflows, uncomment next line to ignore bower_components
199+
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
200+
#bower_components/
106201

107-
# Backup & report files from converting an old project file to a newer
108-
# Visual Studio version. Backup files are not needed, because we have git ;-)
202+
# RIA/Silverlight projects
203+
Generated_Code/
204+
205+
# Backup & report files from converting an old project file
206+
# to a newer Visual Studio version. Backup files are not needed,
207+
# because we have git ;-)
109208
_UpgradeReport_Files/
110209
Backup*/
111210
UpgradeLog*.XML
211+
UpgradeLog*.htm
212+
213+
# SQL Server files
214+
*.mdf
215+
*.ldf
216+
217+
# Business Intelligence projects
218+
*.rdl.data
219+
*.bim.layout
220+
*.bim_*.settings
221+
222+
# Microsoft Fakes
223+
FakesAssemblies/
224+
225+
# GhostDoc plugin setting file
226+
*.GhostDoc.xml
227+
228+
# Node.js Tools for Visual Studio
229+
.ntvs_analysis.dat
230+
231+
# Visual Studio 6 build log
232+
*.plg
233+
234+
# Visual Studio 6 workspace options file
235+
*.opt
236+
237+
# Visual Studio LightSwitch build output
238+
**/*.HTMLClient/GeneratedArtifacts
239+
**/*.DesktopClient/GeneratedArtifacts
240+
**/*.DesktopClient/ModelManifest.xml
241+
**/*.Server/GeneratedArtifacts
242+
**/*.Server/ModelManifest.xml
243+
_Pvt_Extensions
244+
245+
# Paket dependency manager
246+
.paket/paket.exe
247+
paket-files/
248+
249+
# FAKE - F# Make
250+
.fake/
251+
252+
# JetBrains Rider
253+
.idea/
254+
*.sln.iml
112255

113-
# Include all files in Unity project templates.
114-
!**/UnityProjectTemplate/**
256+
# CodeRush
257+
.cr/
115258

116-
# idea files
117-
.idea/
259+
# Python Tools for Visual Studio (PTVS)
260+
__pycache__/
261+
*.pyc

0 commit comments

Comments
 (0)