diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..cca870f
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,7 @@
+language: csharp
+mono: latest
+dotnet: 2.1.3 # .NET Core
+script:
+ - ./build.sh
+
+
diff --git a/Okta.AspNet.Abstractions/Okta.AspNet.Abstractions.csproj b/Okta.AspNet.Abstractions/Okta.AspNet.Abstractions.csproj
index c15c050..3e6bee2 100644
--- a/Okta.AspNet.Abstractions/Okta.AspNet.Abstractions.csproj
+++ b/Okta.AspNet.Abstractions/Okta.AspNet.Abstractions.csproj
@@ -2,6 +2,7 @@
net452;netstandard2.0
+ netstandard2.0
1.0.0-beta01
diff --git a/build.cake b/build.cake
index e7abe42..83beac6 100644
--- a/build.cake
+++ b/build.cake
@@ -1,16 +1,17 @@
var target = Argument("target", "Default");
var configuration = Argument("configuration", "Release");
+// Ignoring .NET 4.5.2 projects as it is causing issues with travis.
+// https://github.com/okta/okta-aspnet/issues/40
var Projects = new List()
{
- "Okta.AspNet.Abstractions",
+ "Okta.AspNet.Abstractions",
"Okta.AspNet.Abstractions.Test",
- "Okta.AspNet",
- "Okta.AspNet.Test",
- "Okta.AspNetCore",
- "Okta.AspNetCore.Test"
+ //"Okta.AspNet",
+ //"Okta.AspNet.Test",
+ "Okta.AspNetCore",
+ "Okta.AspNetCore.Test"
};
-
Task("Clean").Does(() =>
{
Console.WriteLine("Removing ./artifacts");
@@ -22,7 +23,6 @@ Task("Clean").Does(() =>
.ToList()
.ForEach(d => CleanDirectory(d));
});
-
Task("Restore")
.IsDependentOn("Clean")
.Does(() =>
@@ -33,7 +33,6 @@ Task("Restore")
DotNetCoreRestore($"./{name}");
});
});
-
Task("Build")
.IsDependentOn("Restore")
.Does(() =>
@@ -41,14 +40,12 @@ Task("Build")
Projects.ForEach(name =>
{
Console.WriteLine($"\nBuilding {name}");
-
DotNetCoreBuild($"./{name}", new DotNetCoreBuildSettings
{
Configuration = configuration
});
});
});
-
Task("RunTests")
.IsDependentOn("Restore")
.IsDependentOn("Build")
@@ -61,8 +58,6 @@ Task("RunTests")
DotNetCoreTest(string.Format("./{0}/{0}.csproj", name));
});
});
-
-
Task("PackNuget")
.IsDependentOn("RunTests")
.Does(() =>
@@ -81,13 +76,11 @@ Task("PackNuget")
});
});
});
-
Task("Default")
.IsDependentOn("Clean")
.IsDependentOn("Restore")
.IsDependentOn("Build")
.IsDependentOn("RunTests")
.IsDependentOn("PackNuget");
-
// Run the specified (or default) target
RunTarget(target);
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..58e86f6
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,101 @@
+#!/usr/bin/env bash
+
+##########################################################################
+# This is the Cake bootstrapper script for Linux and OS X.
+# This file was downloaded from https://github.com/cake-build/resources
+# Feel free to change this file to fit your needs.
+##########################################################################
+
+# Define directories.
+SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+TOOLS_DIR=$SCRIPT_DIR/tools
+NUGET_EXE=$TOOLS_DIR/nuget.exe
+CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe
+PACKAGES_CONFIG=$TOOLS_DIR/packages.config
+PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum
+
+# Define md5sum or md5 depending on Linux/OSX
+MD5_EXE=
+if [[ "$(uname -s)" == "Darwin" ]]; then
+ MD5_EXE="md5 -r"
+else
+ MD5_EXE="md5sum"
+fi
+
+# Define default arguments.
+SCRIPT="build.cake"
+TARGET="Default"
+CONFIGURATION="Release"
+VERBOSITY="verbose"
+DRYRUN=
+SHOW_VERSION=false
+SCRIPT_ARGUMENTS=()
+
+# Parse arguments.
+for i in "$@"; do
+ case $1 in
+ -s|--script) SCRIPT="$2"; shift ;;
+ -t|--target) TARGET="$2"; shift ;;
+ -c|--configuration) CONFIGURATION="$2"; shift ;;
+ -v|--verbosity) VERBOSITY="$2"; shift ;;
+ -d|--dryrun) DRYRUN="-dryrun" ;;
+ --version) SHOW_VERSION=true ;;
+ --) shift; SCRIPT_ARGUMENTS+=("$@"); break ;;
+ *) SCRIPT_ARGUMENTS+=("$1") ;;
+ esac
+ shift
+done
+
+# Make sure the tools folder exist.
+if [ ! -d "$TOOLS_DIR" ]; then
+ mkdir "$TOOLS_DIR"
+fi
+
+# Make sure that packages.config exist.
+if [ ! -f "$TOOLS_DIR/packages.config" ]; then
+ echo "Downloading packages.config..."
+ curl -Lsfo "$TOOLS_DIR/packages.config" http://cakebuild.net/download/bootstrapper/packages
+ if [ $? -ne 0 ]; then
+ echo "An error occured while downloading packages.config."
+ exit 1
+ fi
+fi
+
+# Download NuGet if it does not exist.
+if [ ! -f "$NUGET_EXE" ]; then
+ echo "Downloading NuGet..."
+ curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
+ if [ $? -ne 0 ]; then
+ echo "An error occured while downloading nuget.exe."
+ exit 1
+ fi
+fi
+
+# Restore tools from NuGet.
+pushd "$TOOLS_DIR" >/dev/null
+if [ ! -f $PACKAGES_CONFIG_MD5 ] || [ "$( cat $PACKAGES_CONFIG_MD5 | sed 's/\r$//' )" != "$( $MD5_EXE $PACKAGES_CONFIG | awk '{ print $1 }' )" ]; then
+ find . -type d ! -name . | xargs rm -rf
+fi
+
+mono "$NUGET_EXE" install -ExcludeVersion
+if [ $? -ne 0 ]; then
+ echo "Could not restore NuGet packages."
+ exit 1
+fi
+
+$MD5_EXE $PACKAGES_CONFIG | awk '{ print $1 }' >| $PACKAGES_CONFIG_MD5
+
+popd >/dev/null
+
+# Make sure that Cake has been installed.
+if [ ! -f "$CAKE_EXE" ]; then
+ echo "Could not find Cake.exe at '$CAKE_EXE'."
+ exit 1
+fi
+
+# Start Cake
+if $SHOW_VERSION; then
+ exec mono "$CAKE_EXE" -version
+else
+ exec mono "$CAKE_EXE" $SCRIPT -verbosity=$VERBOSITY -configuration=$CONFIGURATION -target=$TARGET $DRYRUN "${SCRIPT_ARGUMENTS[@]}"
+fi