Grunt for the .NET developer
Imagine being able to easily define a workflow that will build your solution and run your tests. We have some of those tools available right now, but why stop there? Imagine being able to compile coffeescript and/or less or restart IIS.
Jubilee aims to assist the developer in minimizing the effort to automate their workflows.
##Getting Started
Jubilee works best with Growl for Windows, but is not limited to Growl, it includes a console notifier.
Ask Jubilee for some help
Jubilee.exe -?
With Jubilee, you can define dependent plugins. Let's suppose you want to copy files after a successful build. The configuration below shows how to wire up dependent plugins.
##Sample Configuration
Runner:
Name: FileSystemWatchingRunner
Parameters:
FolderToWatch: c:\SomeFolderToMonitorForChanges
Plugins:
- Name: BuildSolution
Task: MSBuild
- Name: CopyBinariesFromOneLocationToAnother
Task: FileCopy
DependsOn: BuildSolution
Parameters:
From: c:\SomeDirectory
To: c:\SomeOtherDirectory
Notifications:
- Name: ConsoleNotification
- Name: GrowlNotification
##ScriptCS Support Jubilee has the ability to run scripts via ScriptCS. The contextual information, such as which directory is being watched as well as the file that changed will be passed to the script. (This is assuming the FileSystemWatchingRunner is being used).
Scaffold a new ScriptCS Plugin
Jubilee.exe -s YourPluginName
Example Jubilee ScriptCS Configuration
Runner:
Name: FileSystemWatchingRunner
Parameters:
FolderToWatch: f:\SomeFolderToMonitorForChanges
Plugins:
- Name: ScriptCSConsoleWriter
Task: ScriptCS
Parameters:
ScriptName: ConsoleWriter.csx
Notifications:
- Name: ConsoleNotification
- Name: GrowlNotification
Example ScriptCS script
Console.Write(ScriptArgs[0]); //The name of the ScriptCS Script being run
Console.Write(ScriptArgs[1]); //The directory currently being watched by Jubilee
Console.Write(ScriptArgs[2]); //The file that changed the kicked off the workflow
Console.Error.WriteLine("failed"); // will produce an error in Jubilee
##Powershell Support Jubilee has the ability to run powershell scripts. The contextual information, such as which directory is being watched as well as the file that changed will be passed to the script. (This is assuming the FileSystemWatchingRunner is being used).
Scaffold a new Powershell Plugin
Jubilee.exe -p YourPluginName
Example Jubilee Powershell Configuration
Runner:
Name: FileSystemWatchingRunner
Parameters:
FolderToWatch: f:\SomeFolderToMonitorForChanges
Plugins:
- Name: WritingToTheConsole
Task: Powershell
Parameters:
ScriptName: ConsoleWriter.ps1
Notifications:
- Name: ConsoleNotification
- Name: GrowlNotification
Example Powershell script
param($ScriptName,$WorkingPath,$ChangedFilePath)
Write-Output $ScriptName
Write-Output $WorkingPath
Write-Output $ChangedFilePath