require 'fileutils'
def find_version
- File.read("yasnippet.el") =~ /;; Package-version: *([0-9.]+[a-z]?) *$/
+ File.read("yasnippet.el", :encoding => "UTF-8") =~ /;; Package-version: *([0-9.]+?) *$/
$version = $1
end
find_version
raise "Couldn't guess mode name for #{bundle_dir}" unless mode_prefix
output = "./extras/imported/#{mode_prefix}-mode"
FileUtils.mkdir_p output
- sh "./extras/textmate_import.rb -d #{bundle_dir} -o #{output} -q"
+ sh "./extras/textmate_import.rb -d #{bundle_dir} -o #{output} -q"
end
end
task :package do
release_dir = "pkg/yasnippet-#{$version}"
FileUtils.mkdir_p(release_dir)
- files = ['extras', 'snippets', 'yasnippet.el', 'dropdown-list.el']
+ files = ['snippets', 'yasnippet.el', 'dropdown-list.el']
FileUtils.cp_r files, release_dir
- FileUtils.rm_r Dir[release_dir + "/**/.svn"]
- FileUtils.cd 'pkg'
- sh "tar cjf yasnippet-#{$version}.tar.bz2 yasnippet-#{$version}"
- FileUtils.cd ".."
+ File.open(File.join(release_dir,'yasnippet-pkg.el'), 'w') do |file|
+ file.puts <<END
+(define-package "yasnippet"
+ "#{$version}"
+ "A template system for Emacs")
+END
+ end
+ sh "git clean -f snippets"
+ FileUtils.cd 'pkg' do
+ sh "tar cf yasnippet-#{$version}.tar yasnippet-#{$version}"
+ end
end
desc "create a release package and upload it to google code"
end
end
-desc "Compile yasnippet.el into yasnippet.elc"
+desc "Compile yasnippet.el into yasnippet.elc"
rule '.elc' => '.el' do |t|
sh "emacs --batch -L . --eval \"(byte-compile-file \\\"#{t.source}\\\")\""