]> code.delx.au - gnu-emacs-elpa/blobdiff - Rakefile
Merge branch 'master' of github.com:capitaomorte/yasnippet
[gnu-emacs-elpa] / Rakefile
index 7d22c43bfa3847a359316449251506d46a087bc6..074dd9edaafa058d8911d432bde4e552213f38a5 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -3,23 +3,34 @@
 require 'fileutils'
 
 def find_version
-  File.read("yasnippet.el") =~ /;; Version: *([0-9.]+[a-z]?) *$/
+  File.read("yasnippet.el") =~ /;; Package-version: *([0-9.]+[a-z]?) *$/
   $version = $1
 end
 find_version
 FileUtils.mkdir_p('pkg')
 
-desc "generate the bundle file."
+desc "generate bundle file for classic snippets."
 task :bundle do
   sh 'emacs --batch -l yasnippet.el --eval "(yas/compile-bundle)"'
   sh "tar czf pkg/yasnippet-bundle-#{$version}.el.tgz yasnippet-bundle.el"
 end
 
+desc "generate bundle file for textmate snippets."
+task :textmate_bundle => [:convert] do
+  sh 'emacs --batch -l yasnippet.el --eval "(yas/compile-textmate-bundle)"'
+  sh "tar czf pkg/yasnippet-textmate-bundle-#{$version}.el.tgz yasnippet-textmate-bundle.el"
+end
+
+desc "convert some textmate bundles to yasnippets"
+task :convert_bundles do
+  sh 'for bundle in html ruby rails css; do ./extras/textmate_import.rb -d extras/bundles/$bundle-tmbundle -o extras/imported/$bundle-mode -q ; done'
+end
+
 desc "create a release package"
 task :package do
   release_dir = "pkg/yasnippet-#{$version}"
   FileUtils.mkdir_p(release_dir)
-  files = ['snippets', 'yasnippet.el', 'dropdown-list.el']
+  files = ['extras', 'snippets', 'yasnippet.el', 'dropdown-list.el']
   FileUtils.cp_r files, release_dir
   FileUtils.rm_r Dir[release_dir + "/**/.svn"]
   FileUtils.cd 'pkg'
@@ -50,17 +61,37 @@ desc "Generate document"
 task :doc => FileList['doc/*.rst'].ext('html')
 
 namespace :doc do
-  task :upload do
-    sh "rsync -avz --exclude '.svn' doc " +
-      "pluskid.lifegoo.com:~/public_html/upload/project/yasnippet/"
-  end
-  
   task :archive do
     release_dir = "pkg/yasnippet-#{$version}"
     FileUtils.mkdir_p(release_dir)
     sh "tar cjf pkg/yasnippet-doc-#{$version}.tar.bz2 " +
       "--exclude=doc/.svn --exclude=doc/images/.svn doc/*.html doc/images"
   end
+
+  task :upload do
+    if File.exists? 'doc/gh-pages'
+      Dir.chdir 'doc/gh-pages' do
+        sh "git checkout gh-pages"
+      end
+      Dir.glob("doc/*.{html,css}").each do |file|
+        FileUtils.cp file, 'doc/gh-pages'
+      end
+      Dir.glob("doc/images/*").each do |file|
+        FileUtils.cp file, 'doc/gh-pages/images'
+      end
+      Dir.chdir 'doc/gh-pages' do
+        sh "git commit -a -m 'Automatic documentation update.'"
+        sh "git push"
+      end
+    end
+  end
+end
+
+desc "Compile yasnippet.el into yasnippet.elc" 
+
+rule '.elc' => '.el' do |t|
+  sh "emacs --batch -L . --eval \"(byte-compile-file \\\"#{t.source}\\\")\""
 end
+task :compile => FileList["yasnippet.el", "dropdown-list.el"].ext('elc')
 
 task :default => :doc