* reoves the old implemetnation of sourcelink and uses the newer one present in the .net SDK
* cleans up appveyor
* updates proj with sourcelink props
* adds deterministic build check as well.
* Update docs/debugging-source.md
Co-authored-by: Keegan Campbell <me@kfcampbell.com>
---------
Co-authored-by: Keegan Campbell <me@kfcampbell.com>
* drop mentions of net45 from core
* Bump System.Reactive from 3.1.0 to 4.3.2
Bumps [System.Reactive](https://github.com/dotnet/reactive) from 3.1.0 to 4.3.2.
- [Release notes](https://github.com/dotnet/reactive/releases)
- [Commits](https://github.com/dotnet/reactive/compare/v3.1.0...rxnet-v4.3.2)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* upgrade from net452 to net46 in test projects
* drop netstandard1.1 support
* correct this test reference
* add necessary dependency for test project
* add new dependency needed for integration tests
* upload net462 code coverage
* upgrade environment for validating linqpad examples
* bump linqpad to latest 5.x release
Co-authored-by: Brendan Forster <brendan@github.com>
* Introduce 'NoFramework' switch
This enables building via cake on linux without requiring adjustments on
other platforms, fixes#1745
* Revert hardcoding NoFramework in build.sh
* Skip GitVersion query for NoFramework build
This implies that NoFramework is intended for local use only
Accordingly a warning message has been set up in the Lifetime of the Build
* Rename NoFramework switch to CoreOnly
* Skip tool installation and formatting step for CoreOnly builds
* Default CoreOnly to false on windows and true otherwise
* Add CoreOnly switch to build variable output
* Fix 'native' msbuild on windows for both platforms
'native' msbuild invocations do not automatically set CoreOnly according to the platform
they are running on. As such we set CoreOnly to False on Windows, unless CoreOnly has been
specified already.
* Added authentication using bearer token.
* Added Installation and AccessToken clients.
* Added new clients to Reactive project
* added support for DateTime serialized as FileTime
* added support for StatusEventPayload
* added support for StatusEventPayload
* Added test for StatusEventPayload and fixed serializer to return that event payload type.
* WIP - added ApplicationClient and related Api Urls.
* Continued implementing Installations support.
* Fixing build (WIP)
* fixed build
* added Account property to Installation. prefer nameof(x) over literal "x".
* fixed according to code review.
* fixed build.
* switched Installation ID from int to long.
* added Permissions and Events properties to Installation.
* added documentation to Application and Installation properties in IGitHubClient.
* wip - added tests to new clients
* wip - fix build
* wip - fixed build.
* added InstallationsClient tests.
* added integration test for InstallationsClient.
* changes requested in code review.
* add Get method for App
* Create GitHubApp response model instead of re-using existing Application response model
* add Get method to observable client
* fixed build (both locally and failed test).
* Fixed documentation and added some missing XML docs.
* added DebuggerDisplay to StatusEventPayload
* updated XML docs and added some missing bits. prefer nameof(x) over literal "x".
* Add xml comments to AccessToken response model and use DateTimeOffset rather than DateTime
* Tidy up XmlComments and make consistent across client and observable client and interfaces
* fixup unit tests to independently verify preview header
* Implement GetInstallation method
* revert commits unrelated to GitHubApps - these can be done on a separate PR if required
* this extra authenticator class doesnt appear to be used anywhere
* undo project file change as it doesnt appear to be necessary
* Revert "Merge remote-tracking branch 'remote/GitHubApps' into GitHubApps"
This reverts commit c53cc110b8d807f62fdfeaa7df19e1532d050007, reversing
changes made to 0c9e413d420a4725738644ea5b13af6ec102d456.
* Revert "Revert "Merge remote-tracking branch 'remote/GitHubApps' into GitHubApps""
This reverts commit 02d52b8adf814b6945c60cb59a907a8cd34b1ce7.
* add XmlDoc comments to response models and flesh out installation permissions
* name AcceptHeaders member consistently
* accidentally lost changes to Credentials.cs
* Enhance Intergation test framework to handle GitHubApp settings and discoer tests appropriately
Get code ready for GitHubJWT nuget package but for now just hardcode a JWT in ENV VAR
Add 1 integration test for each method and ensure they are working!
* fixed compiler warnings.
* Added support for Installation=>Id field that arrives in a Pull Request Event payload.
(See the last field in the sample JSON of https://developer.github.com/v3/activity/events/types/#pullrequestevent)
* Change integration test project to netcoreapp2.0 so we can use GitHubJwt nuget package in integration tests
* First cut at some GitHubApp doco
* update mkdocs config
* Moved the Installation property to ActivityPayload, so it's available in all payloads.
This feature is not undocumented, unfortunately, but valid:
https://platform.github.community/t/determining-which-installation-an-event-came-from/539/11
* Split Installation to Installation and InstallationId, and added a comfort method for gaining its AccessToken.
* fixed InstallationId CreateAccessToken to receive IGitHubAppsClient. added (and fixed) docs.
* reverted object-oriented style comfort method and it's docs.
* update all test projects to netcoreapp2.0
* tweak build configs to use 2.0.3 SDK
* also need to update cake frosting build to netcoreapp2.0
* tweak docs some more
* fix convention test failures
* test projects still had some old runtime parts in them!
* travis osx image needs to be at least 10.12 for .NET Core 2.0
* shell script might need the same argument tweak for cake
* more doc tweaks
* Make sure compiler warning output isnt somehow causing Linux and OSX builds to fail
* moar logging for linux/OSX builds
* stop sourcelink on linux/OSX builds to see if that is the problem
* set verbosity to detailed for the dotnet build step
* try new sourcelink and list out remotes
* is travis being weird with git clone?
* SourceLink may be defaulting to true on CI server so explicitly set it as false rather than omitting it
* detailed is a bit too verbose for travis, try normal
* turn sourcelink back on for Linux/OSX
* fix compiler warning
* Try SourceLink.Create.CommandLine instead of SourceLink.Create.GitHub
* CliToolReferences did not update to latest versions
* remove debug origin info
* turn off msbuild output
* go back to SourceLink.Create.GitHub!
* time diff between dev PC and API causes issues if specifying a full 600 second token
* handle extra date format that Installation end point now returns
* field needs to be protected in order to be deserialized
* provide even more buffer for client vs server clock drift
* Update to latest GitHubJwt reference
* go back to SDK 1 since SDK 2 is having sporadic travisCI faliures in TestSourceLink build step
* get appveyor working
* update sourcelink back to latest, and use SDK 1.04 (runtime 1.0.5)
* Use assembly version instead of hard-coded ones
Builds happening on AppVeyor specify the assembly version with `dotnet build /p:Version=<gitversion>`
* Set default version for dev time
This is to avoid that the default 1.0.0 version be assigned to the assemblies
* Move various package/assembly properties from AssemblyInfo into csproj files so dotnet build can set them all
* Get rid of SolutionInfo and move assembly version function into Connection class
* Rework FormatUserAgent to use InformationalVersion and guard against exceptions determining platform OS/arch (fixes#1617)
* Update assembly descriptions
* Reword dotnetcore to .NET Core
* Attempted workaround for package version dependency issue by specifying version on dotnet restore
see https://github.com/NuGet/Home/issues/4337
* Update README and shipping-releases as they are a bit out of date
* Update year/copyright info
* Update cake.frosting to latest for newest dotnet tooling support, and adjust builds for new configuration parameters
* update xunit packages so codelens works for nested test classes (VS2017 15.3 update is also required)
* Fixup VS version and remove win debugging tools
* Cross target Octokit.Tests against netcoreapp1.0 and net452
* Add net45-specific references
This fixes a build error after adding the net452 target:
error CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
* Add SimpleJson conditional compilation symbols for net45
* Disable AppDomain when running tests
Thanks to Dominick and Patrik: https://twitter.com/leastprivilege/status/893376624233762816
* Use nameof operator instead of magic strings
* Remove conditional compilation symbols as they are not used in the conventions tests project
* Enable cross targetting in the conventions tests project
* Run tests against netcoreapp1.0 only when not on Windows
* Going too fast bites you
* Dont hardcode linksources for linux builds
* split ConventionTests into their own build task, since this is how it was in FAKE previously
* update contributing doc after change to CAKE
* minor doc updates
* fix bash linksources argument
* remove all these old packages files
* use forward slashes when referring to bash script
* use Target parameter name for the PowerShell build script
* be consistent when referring to PowerShell build script
* Be even moar consistent
* add sourcelink support
* Update sourcelink (2.0.2 -> 2.1.0)
* Add parameter to enable source linking
* tidy up the arguments with an extension method allowing an argument to be conditionally appended
* Add an explicit "test sourcelink" build task and remove the MSBuild one, so we can get some build script output without needing the whole build to be in verbose logging
* run sourcelink test against the NuGet packages
* convert to VS2017
* rework cake.frosting build to latest cake vs2017 "template" example
* fix clean task and version suffix
* add arg to DotNetCorePack so it uses the correct version
* fix appveyor
* is there an easier way to test appveyor?
* ok travis, let's do this
* after reading the travis repo, this seems to be the version we want for vs201/csproj tool support
* msbuild complaining about arguments - we can use defaults anyhow so remove $@ from build.sh script
* add workaround for msbuild/travis, as mentioned on aspnet Mvc repo
* cmon travis
* perhaps tee isnt needed afterall
* travis permission denied when trying to install tools in build script... i feel dirty but need to see if sudo will fix it!
* could it be folder permissions of /build ?
* Try 777 for NuGet.exe permissions rather than 644
* remove windows platform restriction on GitVersion call
* Add a wrapper script for GitVersion on non windows
* fix wrapper script name
* add debug
* let's see if we are running the script at all!
* run mono gitversion direclty from travis.yml, for science
* see if we can run bin/sh and prepend an argument to our shell script
* remove echos from wrapper script
* Ensure full git repo include more than 50 commits and all tags are fetched, as GitVersion was failing on TravisCI
* only build netstandard framework on non windows
* revert overriding the target framework when building the solution
* Unix being case-sensitive, adjust app.config file name in csproj files
* set FrameworkPathOverride to point to different folders on macOS and Linux
* Remove NuGet.exe from the repo.
On Windows, it will be installed by the Frosting bootstrapper script.
On Unix/macOS, cake has smarts to look for mono- and Linux-specific executables
* tidy up GitVersion logic into a GitVersionRunner class
* apply workaround for osx dotnet restore "too many open files" errors
* update test project references to latest official versions
* doesnt seem to be a reason for overriding the implicit reference
* remove extra whitespace and unused namespace
* add a build task to run LINQPad samples
* make modifications to the validation of LINQPad samples
* rename the CAKE task to its original name ValidateLINQPadSamples
* rename the LINQPad samples file so they get executed in ordinal order (1, 2, ..., 10 and not 1, 10, 2, ...)
* remove openssl linking in TravisCI when on macOS