diff --git a/.gitignore b/.gitignore index 5ca0973..4dff695 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ .DS_Store - +_releases diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..83bf9dd --- /dev/null +++ b/Rakefile @@ -0,0 +1,40 @@ +require 'fileutils' + + +RLS_PATH = "_releases" +RLS_IGNORE = ["#{RLS_PATH}/*", ".git*", "*.DS_Store", "Rakefile"] + + +desc "Build a release package" +task :release do + FileUtils.mkdir_p(RLS_PATH) + file = File.read("suggest_results/jquery.suggest_results.js") + if file =~ /\* Suggest Results v([0-9\.]+)\n/ + version = $1 + target = "#{RLS_PATH}/jquery.suggest_results-#{version}.zip" + if File.exist?(target) + puts "ERROR: #{target} already exists." + else + ignore = RLS_IGNORE.map { |i| "-x \"#{i}\"" }.join(" ") + system("zip #{ignore} -r #{target} .") + puts "packaged #{target}" + end + end +end + +desc "Update demo page." +task :demo do + rsync(".", "jimeh@jimeh.me:jimeh.me/files/projects/suggest_results", ["--exclude='#{RLS_PATH}'", "--delete"]) +end + + + +def rsync(source, dest, options = []) + if source.is_a?(Array) + source.map! { |dir, i| "\"#{dir}\"" } + source = source.join(" ") + end + options << "--exclude='.DS_Store'" + options << "--exclude='.git*'" + system "rsync -vr #{options.join(" ")} #{source} #{dest}" +end \ No newline at end of file