https://github.com/rubiojr/sake-tasks
my sake tasks
https://github.com/rubiojr/sake-tasks
Last synced: 3 months ago
JSON representation
my sake tasks
- Host: GitHub
- URL: https://github.com/rubiojr/sake-tasks
- Owner: rubiojr
- Created: 2008-11-17T10:41:37.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2008-11-17T12:49:57.000Z (over 16 years ago)
- Last Synced: 2025-01-26T11:09:11.753Z (5 months ago)
- Homepage:
- Size: 105 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
## Installation
First, clone the sake-tasks repo:
git clone git://github.com/drnic/sake-tasks.git
Or replace 'drnic' with your github username if you have forked the sake-tasks repo.
Then install the sake tasks (this step is repeatable, even if one or more tasks are already exist; that is, any pre-existing tasks with the same name will be overridden)
rake install
To see your list of resulting tasks:
sake -T
## What are Sake tasks/recipes?
It's the marvelous Sake, system-wide Rake.
http://errtheblog.com/posts/60-sake-bomb## Current tasks
The following sake tasks are installed:
sake check:erb # Find all .erb or .rhtml files in the current directory tree and report any syntax errors
sake check:ruby # Find all .rb files in the current directory tree and report any syntax errors
sake check:yaml # Find all .yml files in the current directory tree and report any syntax errors
sake git:analyze:commits:flog_frequent # Flog the most commonly revised files in the git history
sake git:close # Delete the current branch and switch back to master
sake git:manpages:install # Install man pages for current git version
sake git:open # Create a new branch off master
sake git:publish # Push all changes to the SVN repository
sake git:pull # Pull new commits from the repository
sake git:push # Push all changes to the repository
sake git:rebase # Pull new commits from the SVN repository
sake git:src:install # Downloads and installs latest version of git
sake git:status # Show the current status of the checkout
sake git:topic # Create a new topic branch
sake git:update # Pull new commits from the repository
sake mysql:dump # Dump the database to FILE (depends on mysql:params)
sake mysql:load # Load the database from FILE (depends on mysql:params)
sake ssh:install_public_key # Install your public key on a remote server.## Adding new recipes/tasks
The installer rake task `rake install` works by assuming that each `.sake` file contains one sake task. This allows it to uninstall the task from sake first, and then re-install it (sake barfs if you attempt to reinstall an existing task).
So, to create a task `foo:bar:baz`, you'll need to add a folder `foo/bar` and create a file `baz.sake` inside it. Within that file you would then specify your task using `namespace` and `task` method calls:
namespace 'foo' do
namespace 'bar' do
desc "This task ..."
task :baz doend
end
end### Testing tasks (even if not installed)
Whilst a task is in development you can execute it locally, without sake, using `rake testrun`.
To run the local version of foo/bar/baz.sake, use:
rake testrun foo:bar:baz
### Installing individual tasks/files
You can selectively install only tasks/files that you are working on, rather than all the files in your repository, or just install the most recently modified sake file.
To install the latest modified sake file:
rake install:latest
To restrict `rake install` to only re-install a task `foo:bar:baz` you can either use:
rake install:file f=foo/bar/baz.sake
rake install:task t=foo:bar:bazThe values can be comma-separated lists.
So for iterative install & run development you could run the install task and the sake task via the same command line:
rake install:task t=foo:bar:baz && sake foo:bar:baz --trace
The optional `--trace` runs sake in trace mode so useful stacktrace information is given as necessary. Ultimately you'd probably use `rake testrun foo:bar:baz` as above.
### TextMate users
The latest [Ruby.tmbundle](http://github.com/drnic/ruby-tmbundle) on github includes a `task` command that generates the above namespace/task snippet based on the path + file name. That is, inside the `foo/bar/baz.sake` file, make sure your grammar is 'Ruby' or 'Ruby on Rails' and then type "task" and press TAB. The above snippet will be generated ready for you to specify your task.
## Authors
* Luke Melia - many git + mysql + ssh tasks
* Dr Nic Williams - repeatable installer rake task