Skip to content
This repository

A build framework for .Net projects

branch: master

Merge pull request #16 from featurist/task_assembly_names

naming your tasks readme sentence that actually makes sense
latest commit 15bce6548f
Tim Macfarlane authored January 08, 2014
Octocat-spinner-32 Bounce.Console.Tests case-insensitivity for task names March 25, 2013
Octocat-spinner-32 Bounce.Console better exception handling November 14, 2012
Octocat-spinner-32 Bounce.Framework.IntegrationTests support for web sites September 17, 2012
Octocat-spinner-32 Bounce.Framework.Tests case-insensitivity for task names March 25, 2013
Octocat-spinner-32 Bounce.Framework case-insensitivity for task names March 25, 2013
Octocat-spinner-32 Bounce.TestHelpers moved all legacy code into LegacyBounce April 12, 2012
Octocat-spinner-32 Bounce parsing LogOptions from command line April 12, 2012
Octocat-spinner-32 Build case-insensitivity for task names March 25, 2013
Octocat-spinner-32 LegacyBounce.Framework.Tests moved all legacy code into LegacyBounce April 12, 2012
Octocat-spinner-32 LegacyBounce.Framework some major changes in logs, shell, nunit and msbuild February 21, 2013
Octocat-spinner-32 MultiStageTargets DependsOn now just ITasks, versions for Downloads target May 07, 2011
Octocat-spinner-32 References Better unit testing with SharpTestEx; August 03, 2011
Octocat-spinner-32 TestBounceAssembly case-insensitivity for task names March 25, 2013
Octocat-spinner-32 VeryLongRunningConsole target version 3.5 for build config Debug_3_5 June 28, 2011
Octocat-spinner-32 docs commentary February 14, 2011
Octocat-spinner-32 .gitignore case-insensitivity for task names March 25, 2013
Octocat-spinner-32 Bounce.Framework.nuspec case-insensitivity for task names March 25, 2013
Octocat-spinner-32 Bounce.sln nunit path February 19, 2013
Octocat-spinner-32 Bounce.sln.DotSettings adding VS classes April 12, 2012
Octocat-spinner-32 LICENSE Edited LICENSE via GitHub June 23, 2011
Octocat-spinner-32 README.md naming your tasks readme sentence that actually makes sense January 08, 2014
Octocat-spinner-32 SolutionAssemblyInfo.cs refactoring MS build stuff, now exits with 1 with exceptions October 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.

Something went wrong with that request. Please try again.