2023-03-21 18:21:32 +00:00
|
|
|
# vim: set noet sta sw=4 ts=4 :
|
|
|
|
|
# -*- ruby -*-
|
2014-04-22 00:21:43 +00:00
|
|
|
|
2023-03-21 18:21:32 +00:00
|
|
|
require 'rake/deveiate'
|
2014-04-22 00:21:43 +00:00
|
|
|
require 'pathname'
|
|
|
|
|
|
2023-03-21 18:21:32 +00:00
|
|
|
Rake::DevEiate.setup( 'symphony-metronome' ) do |project|
|
|
|
|
|
project.publish_to = 'martini.nu:martini/www/docs/symphony-metronome'
|
|
|
|
|
project.summary = <<~END_SUM
|
|
|
|
|
A natural language scheduling and task runner for Symphony.
|
|
|
|
|
END_SUM
|
|
|
|
|
project.description = <<~END_DESC
|
|
|
|
|
Metronome is a scheduler and task runner. It can be used locally as a
|
|
|
|
|
cron replacement, or as a network-wide job executor. Events are stored
|
|
|
|
|
via simple database rows, and optionally managed via AMQP events.
|
|
|
|
|
Interval/time values are expressed with reasonably intuitive English
|
|
|
|
|
phrases, ie.: 'at 2pm', or 'Starting in 20 minutes, run every 10 seconds
|
|
|
|
|
and then finish in 2 days'.
|
|
|
|
|
END_DESC
|
|
|
|
|
project.authors = [ 'Mahlon E. Smith <mahlon@martini.nu>' ]
|
|
|
|
|
project.rdoc_generator = :sixfish
|
|
|
|
|
end
|
|
|
|
|
|
2014-04-22 00:21:43 +00:00
|
|
|
CLOBBER.include( 'coverage' )
|
|
|
|
|
|
2023-03-21 18:21:32 +00:00
|
|
|
BASEDIR = Pathname( __FILE__ ).dirname.relative_path_from( Pathname.pwd )
|
|
|
|
|
LIBDIR = BASEDIR + 'lib' + 'symphony'
|
2014-04-22 00:21:43 +00:00
|
|
|
|
|
|
|
|
EXPRESSION_RL = LIBDIR + 'metronome' + 'intervalexpression.rl'
|
|
|
|
|
EXPRESSION_RB = LIBDIR + 'metronome' + 'intervalexpression.rb'
|
|
|
|
|
|
2023-03-21 18:21:32 +00:00
|
|
|
CLOBBER.include( EXPRESSION_RB.to_s )
|
2014-04-22 00:21:43 +00:00
|
|
|
|
|
|
|
|
task :default => [ :spec, :docs, :package ]
|
|
|
|
|
|
|
|
|
|
# Generate the expression parser with Ragel
|
|
|
|
|
file EXPRESSION_RL
|
|
|
|
|
file EXPRESSION_RB
|
|
|
|
|
task EXPRESSION_RB => EXPRESSION_RL do |task|
|
|
|
|
|
sh 'ragel', '-R', '-T1', '-Ls', task.prerequisites.first
|
|
|
|
|
end
|
|
|
|
|
|
2023-03-21 18:21:32 +00:00
|
|
|
task :spec => EXPRESSION_RB
|
|
|
|
|
task :package => EXPRESSION_RB
|
2015-07-08 16:44:26 +00:00
|
|
|
|