Welcome to the albacore project.
albacore is a professional quality suite of Rake tasks to help automate the process of building a .NET based system.
How To Install albacore:
If you would like to install the current, stable release of albacore, you can do so easily through the standard RubyGems.org server. Follow these simple instructions and you will be good to go.
gem install albacore
That's it! You're now equiped with everything you need to get up and running with albacore!
How To Manually Build And Install The albacore Gem
If you would like to install the latest source code for albacore, and get all the new features and functionality (possibly in an unstable form), you can manually build and install the albacore gem. Follow these simple instructions and you will be good to go.
Step 1: Clone albacore
Use your Github account to fork albacore, or clone it directly from my public clone URL.
git clone git://github.com/derickbailey/albacore.git albacore
Step 2: Install Required Dependencies
You will need the Bundler gem installed, to install the other albacore dependencies
gem install bundler
In your local clone of albacore, run bundler
This will install all of the gem dependencies that you need to build the albacore gem and add your own contributions to albacore.
Step 3: Build the gem
In your local clone of albacore, use the jeweler rake tasks to build the latest version of the albacore code into a gem.
rake jeweler:gemspec jeweler:build
this will produce an 'albacore-#.#.#.gem' file in the 'pkg' folder, where '#.#.#' is the version number. For example 'albacore-0.1.2.gem'.
Step 4: Install the gem
After building the gem, you can install it from your local file system.
gem install -l pkg/albacore-#.#.#.gem
where '#.#.#' is the version number of the gem. For example 'albacore-0.1.2.gem'
How To Use albacore
On systems do not have the "RUBYOPT" environment variable set to automatically include rubygems, you may need to add
to the top of your rakefile. Then, you can add
to your rakefile. This will allow you to use the tasks that albacore includes.
desc "Run a sample build using the MSBuild Task" msbuild do |msb| msb.properties :configuration => :Debug msb.targets :Clean, :Build msb.solution = "spec/support/TestSolution/TestSolution.sln" end
Beyond the simple example, check out the albacore Wiki for detailed instructions on how to use the built in tasks and their options.
How To Contribute, Collaborate, Communicate
If you'd like to get involved with the albacore framework, we have a discussion group over at google: AlbacoreDev
Many thanks for contributions to albacore are due (in alphabetical order):
- Andreone: Significant Wiki contributions, questions and contributions on the google group
- Andrew Vos: Fixes and additions to SQLCmd task
- Ben Hall: Primary contributor. SSH, SFTP, ZipDirectory, Rename, YAML auto config, Wiki pages, and many other great additions
- Brett Veenstra: SQLCmd options (truted connection, batch abort), etc
- Brian Donahue: Inspiration and initial code for the ExpandTemplates task
- Dotan Nahum: NChurn task, Output task
- Hernan Garcia: Specflow Report task
- Hibri Marzook: PLink (deprecated) and NDepend tasks
- James Gregory: Docu task, zip task contributions
- Kevin Colyar: Testing and updating of MSBuild to work with Cygwin
- Louis Salin: Support for *nix path separators in CSC task
- Mark Boltuc: Fluent Migrator task
- Mark Wilkins: VB.NET Language Generator For The AssemblyInfo Task
- Mike Nichols: XUnit contributions, bug reports, etc
- Nathan Fisher: additions to CSC task
- Nils Jonsson: AssemblyInfo corrections, rakefile corrections
- Prabir Shrestha: Nupack task, bug fixes for xunit test runner, etc.
- Panda Wood: NCover Console options and wiki edits
- Sean Biefeld: MSpecTestRunner for NCoverConsole
- Steven Harman: Primary contributor. Nant task, issue tickets, disucssions, and much much more.
- Steve Hebert: Nuspec task
- Steven Johnson: Expand Templates (deprecated task) supplimental data, etc
- Tobias Grimm: AssemblyInfo custom_data, working directory code refactoring, relative project paths for executables