Skip to content

Instantly share code, notes, and snippets.

@DamianReeves
DamianReeves / build.gradle
Created January 19, 2019 13:26
Add Scala Compiler Plugins Using a Custom Config
tasks.withType(ScalaCompile){
// Map plugin jars to -Xplugin parameter
List<String> parameters =
configurations.scalaCompilerPlugin.files.collect {
'-Xplugin:'+ it.absolutePath
}
// Add existing parameters
List<String> existingParameters = scalaCompileOptions.additionalParameters
if (existingParameters) {
@DamianReeves
DamianReeves / build.gradle
Last active April 21, 2022 15:11
Using Scala Compiler Plugins From Gradle
plugins {
id 'scala'
}
configurations {
scalaCompilerPlugin
}
dependencies {
@DamianReeves
DamianReeves / EquivalenceExpectation.scala
Last active December 4, 2017 17:29
Shapeless Expectations
package experiments
import experiments.expectation.EquivalenceExpectationResult
import shapeless._
trait EquivalenceExpectation[-In] {
type Result
def apply(actual:In, expected:In):Result
}
namespace FSharp.EventSourcing
open System
open System.Threading.Tasks
open Orleankka
open Orleankka.FSharp
open Strategies.Contracts
open System.Collections
@DamianReeves
DamianReeves / _init.ps1
Last active November 18, 2016 22:56
PS YAML Build
#Requires -Version 4.0
$ErrorActionPreference = 'Stop'
# Ignoring progress stream is vital to keep the performance
# of Invoke-WebRequest decent in Teamcity
$ProgressPreference = 'SilentlyContinue'
function global:RestoreBuildLevelPackages {
# Download paket.exe.
# Use --prefer-nuget to get it from nuget.org first as it is quicker (compressed .nupkg)
@DamianReeves
DamianReeves / CakeContextFixture.cs
Last active November 18, 2016 14:57
Cake Alias Tests
using Cake.Core;
using Cake.Core.Diagnostics;
using Cake.Core.IO;
using Cake.Core.Tooling;
using NSubstitute;
namespace Mohawk.Cake.Fixtures
{
public sealed class CakeContextFixture
{
@DamianReeves
DamianReeves / ConfigExtensions.cs
Created October 26, 2016 17:23
Akka config extensions
using System;
using System.Collections.Generic;
using Akka.Configuration;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json.Linq;
namespace Akka.Configuration
{
public static class ConfigExtensions
{
@DamianReeves
DamianReeves / InitializeDatabase.template.sql
Created January 13, 2016 20:35
Even Oracle schema template
declare
table_count integer;
begin
select count (object_id) into table_count from user_objects where exists (
select object_name from user_objects where (object_name = upper('{0}') and object_type = 'TABLE'));
if table_count = 0 then
dbms_output.put_line('Creating the {0} table');
execute immediate (
@DamianReeves
DamianReeves / Install-IISWebApplication.ps1
Last active June 5, 2018 11:52
DevOps-WebAdministration
<#
.SYNOPSIS
Script to restore nuget packages
.DESCRIPTION
Script to restore nuget packages
.PARAMETER Site
The web site name.
// credit: http://madskristensen.net/post/A-shorter-and-URL-friendly-GUID
using System;
public static class GuidEncoder
{
public static string Encode(string guidText)
{
Guid guid = new Guid(guidText);
return Encode(guid);
}