-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathRakefile
55 lines (47 loc) · 1.49 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env rake
require 'bundler/setup'
require 'bundler/gem_tasks'
require 'json'
task :update do
js_dir = 'vendor/assets/javascripts'
css_dir = 'vendor/assets/stylesheets'
img_dir = 'vendor/assets/images'
[js_dir, css_dir, img_dir].each do |dir|
FileUtils.rm_r(dir)
FileUtils.mkdir(dir)
FileUtils.touch(File.join(dir, '.gitkeep'))
end
puts 'Updating source files...'
`git submodule foreach git pull`
puts 'Copying source js files...'
source_files = Dir['jquery.inputmask/dist/inputmask/*.js']
source_files.each do |file|
print "#{file.sub('jquery.inputmask/', '')}"
FileUtils.cp(file, js_dir)
puts "...ok"
end
source_files = Dir['jquery.inputmask/js/*/*.js']
source_files.each do |file|
print "#{file.sub('jquery.inputmask/', '')}"
target_dir = File.join(js_dir, File.dirname(file).split('/').last)
FileUtils.mkdir_p(target_dir)
FileUtils.cp(file, target_dir)
puts "...ok"
end
puts 'Updating version...'
version = JSON.parse(File.read('jquery.inputmask/bower.json'))['version']
readme = File.read('README.md')
puts "Current version is: #{version}"
new_content = readme.gsub(/(?<=<b id="jquery.inputmask-version">)[\d\.]+(?=<\/b>)/, version)
File.open('README.md','w') { |f| f.write(new_content) }
end
task :build do
FileUtils.rm_f Dir['*.gem']
`gem build jquery-inpumask-rails.gemspec`
built_gem_file = Dir['*.gem'].first
if built_gem_file
`gem push #{built_gem_file}`
else
raise "Gem was not built!"
end
end