A build framework for .Net projects
C# HTML Other
Latest commit 5be9967 Feb 13, 2017 @refractalize fixed tests
Permalink
Failed to load latest commit information.
Bounce.Console.Tests fixed tests Feb 13, 2017
Bounce.Console - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
Bounce.Framework.IntegrationTests - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
Bounce.Framework.Tests - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
Bounce.Framework - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
Bounce.TestHelpers - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
Bounce parsing LogOptions from command line Apr 12, 2012
Build - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
LegacyBounce.Framework.Tests - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
LegacyBounce.Framework - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
MultiStageTargets - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
References Better unit testing with SharpTestEx; Aug 3, 2011
TestBounceAssembly fixed tests Feb 13, 2017
VeryLongRunningConsole - Reverted to .NET 4.5.2 because 4.6.1 causes query errors with NHibe… Feb 13, 2017
docs commentary Feb 14, 2011
.gitignore case-insensitivity for task names Mar 25, 2013
Bounce.Framework.nuspec printing exception Sep 7, 2015
Bounce.sln - Merge fixes. Nov 17, 2016
Bounce.sln.DotSettings - Updated console arg parsing to pass everything after '/' as task args. Sep 14, 2015
LICENSE Edited LICENSE via GitHub Jun 23, 2011
README.md naming your tasks readme sentence that actually makes sense Jan 8, 2014
SolutionAssemblyInfo.cs refactoring MS build stuff, now exits with 1 with exceptions Oct 19, 2012

README.md

Bounce

A task runner for .Net.

(theme track: Bounce, Rock, Skate, Roll - Vaughan Mason & Crew)

Install

Bounce can be found on NuGet, simply:

PM> Install-Package Bounce

Then, make sure that your bounce project's output directory is the Bounce folder, in the root of your solution. bounce.exe looks for this folder in the current and all parent directories. For example, go to your project settings, go to the Build tab, then enter ..\Bounce into the Output path box.

What is it good for?

Put simply, it's a way to create a project toolbox that can be operated from the command line, not unlike Rake.

Imagine you have this in your project:

using System;
using Bounce.Framework;

namespace MyProject.Bounce {
    public class Stuff {
        [Task]
        public void HelloWorld() {
            Console.WriteLine("hello, world!");
        }
    }
}

You could easily call it from the command line like this:

> bounce HelloWorld
hello, world!

Of course, you can pass arguments too:

using System;
using Bounce.Framework;

namespace MyProject.Bounce {
    public class Stuff {
        [Task]
        public void Hello(string name) {
            Console.WriteLine("hello, {0}!", name);
        }
    }
}

Then:

> bounce Hello /name Bob
hello, Bob!

And those arguments can even have useful defaults:

using System;
using Bounce.Framework;

namespace MyProject.Bounce {
    public class Stuff {
        [Task]
        public void Hello(string name = "all") {
            Console.WriteLine("hello, {0}!", name);
        }
    }
}

Then:

> bounce Hello
hello, all!

And, if you've forgotten what you can do, just run bounce and it will tell you:

> bounce
usage: bounce task [options]

tasks:

    MyProject.Bounce.Stuff.HelloWorld

    MyProject.Bounce.Stuff.Hello
        /name:string = all

Naming your tasks project

Ensure your project produces an assembly ending with ".Bounce.dll" or an executable ending with ".Bounce.exe" (both case-insensitive). Bounce only looks for tasks in these assemblies, so that it can start up really quickly.

Bounce has a bunch of utilities that make it easy to build VisualStudio projects, as well as deploy to IIS sites. More documentation to come.