Skip to content

Commit

Permalink
Add Travis file. (#38)
Browse files Browse the repository at this point in the history
- Add travis file
- Modify cake.build to ignore .NET 4.5.2 projects (#40 )
  • Loading branch information
laura-rodriguez committed Sep 6, 2018
1 parent 5a2f459 commit 1491b55
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 14 deletions.
7 changes: 7 additions & 0 deletions .travis.yml
@@ -0,0 +1,7 @@
language: csharp
mono: latest
dotnet: 2.1.3 # .NET Core
script:
- ./build.sh


1 change: 1 addition & 0 deletions Okta.AspNet.Abstractions/Okta.AspNet.Abstractions.csproj
Expand Up @@ -2,6 +2,7 @@

<PropertyGroup>
<TargetFrameworks>net452;netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' != 'Windows_NT'">netstandard2.0</TargetFrameworks>
<Version>1.0.0-beta01</Version>
</PropertyGroup>

Expand Down
21 changes: 7 additions & 14 deletions 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<string>()
{
"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");
Expand All @@ -22,7 +23,6 @@ Task("Clean").Does(() =>
.ToList()
.ForEach(d => CleanDirectory(d));
});

Task("Restore")
.IsDependentOn("Clean")
.Does(() =>
Expand All @@ -33,22 +33,19 @@ Task("Restore")
DotNetCoreRestore($"./{name}");
});
});

Task("Build")
.IsDependentOn("Restore")
.Does(() =>
{
Projects.ForEach(name =>
{
Console.WriteLine($"\nBuilding {name}");
DotNetCoreBuild($"./{name}", new DotNetCoreBuildSettings
{
Configuration = configuration
});
});
});

Task("RunTests")
.IsDependentOn("Restore")
.IsDependentOn("Build")
Expand All @@ -61,8 +58,6 @@ Task("RunTests")
DotNetCoreTest(string.Format("./{0}/{0}.csproj", name));
});
});


Task("PackNuget")
.IsDependentOn("RunTests")
.Does(() =>
Expand All @@ -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);
101 changes: 101 additions & 0 deletions 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

0 comments on commit 1491b55

Please sign in to comment.