Skip to content

Instantly share code, notes, and snippets.

View patriksvensson's full-sized avatar

Patrik Svensson patriksvensson

View GitHub Profile
@patriksvensson
patriksvensson / powershell.cake
Created March 8, 2016 09:20
Run PowerShell scripts from Cake
// Tools and addins
#addin "nuget:?package=System.Management.Automation&version=6.1.7601.17515"
using System.Collections;
using System.Management.Automation;
using System.Management.Automation.Internal;
using System.Management.Automation.Runspaces;
using System.Threading;
///////////////////////////////////////////////////////////////////////////////
var platform = (int)Environment.OSVersion.Platform;
if (platform == (int)PlatformID.MacOSX)
{
OperatingSystem = OperatingSystemFamily.OSX;
}
else if ((platform == 4) || (platform == 6) || (platform == 128))
{
OperatingSystem = OperatingSystemFamily.Linux;
}
else if((platform <= 3) || (platform == 5))
@patriksvensson
patriksvensson / statuscode.cake
Created August 17, 2016 19:00
Cake script: Gets the status code from a web request and outputs it.
// Cake script
#r "System.Net"
using System.Net;
var request = (HttpWebRequest)WebRequest.Create("http://google.com");
var response = (HttpWebResponse)request.GetResponse();
var statusCode = response.StatusCode;
Information("Received {0}!", statusCode);
@patriksvensson
patriksvensson / NSubstituteTest.cs
Last active August 28, 2016 11:41
NSubstitute problem: How do I verify the call to IBuilder.Register(Action<IContainer>)?
public class BuilderExtensionsTests
{
public class TheRegisterFooMethod
{
[Fact]
public void Should_Register_Foo_With_Container()
{
// Given
var builder = Substitute.For<IBuilder>();
using System;
using Cake.Common.Diagnostics;
using Cake.Core;
using Cake.Core.Diagnostics;
using Cake.Frosting;
public class Program
{
public static int Main(string[] args)
{
@patriksvensson
patriksvensson / project.json.lock
Created September 14, 2016 21:28
Lock file for Cake.Frosting.CLI.
{
"version": 2,
"targets": {
".NETCoreApp,Version=v1.0": {
"Cake.Common/0.16.0-alpha0084": {
"type": "package",
"dependencies": {
"Cake.Core": "0.16.0-alpha0084",
"System.ComponentModel.TypeConverter": "4.1.0",
"System.Runtime.Serialization.Json": "4.0.2",
@patriksvensson
patriksvensson / project.json.lock
Created September 14, 2016 21:29
Lock file for project.
{
"version": 2,
"targets": {
".NETCoreApp,Version=v1.0": {
"Cake.Common/0.16.0-alpha0084": {
"type": "package",
"dependencies": {
"Cake.Core": "0.16.0-alpha0084",
"System.ComponentModel.TypeConverter": "4.1.0",
"System.Runtime.Serialization.Json": "4.0.2",
@patriksvensson
patriksvensson / Get-NuGetPackage.ps1
Created September 15, 2016 09:38
Download NuGet package
Function Get-NuGetPackage(
[string]$Source = "http://nuget.org",
[string]$Package,
[string]$Version)
{
$Url = "$Source/api/v2/package/$Package/$Version"
$Output = Join-Path (Get-Location) "$Package.$Version.nupkg"
(New-Object System.Net.WebClient).DownloadFile($Url, $Output)
}
@patriksvensson
patriksvensson / build.cake
Created September 25, 2016 22:54
Cake and FAKE sample
Task("Test").Does(() => {
Information("Testing stuff...");
}
Task("Deploy").IsDependentOn("Test").Does(() => {
Information("Heavy deploy action");
}
RunTarget("Deploy");
@patriksvensson
patriksvensson / EmbeddedResourceDataAttribute.cs
Created November 10, 2017 23:58
EmbeddedResourceDataAttribute.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using Xunit.Sdk;
namespace MyProject.Tests
{
public sealed class EmbeddedResourceDataAttribute : DataAttribute
{