Files
2025-09-20 17:35:58 -05:00

79 lines
2.5 KiB
Ruby

#!/usr/bin/env ruby
require 'versionomy'
require 'colorize'
require 'pry'
class String; def to_version; Versionomy.parse(self) end end
HOME=ENV['HOME']
APP_ROOT="#{HOME}/Documents/workspace/mozo-mobile-app"
APP_ASSET_ROOT="#{APP_ROOT}/www/assets"
app_config_path = File.join(APP_ROOT, 'config.xml')
app_config = File.read(app_config_path)
app_index_html_path = File.join(APP_ROOT, 'www/index.html')
app_index_html = File.read(app_index_html_path)
current_version = app_config.match(/version="([\.\d]+)"/)[1].to_version
new_version = File.read("config/version").strip.to_version
version_increased = false
while new_version <= current_version
version_increased = true
new_version = new_version.bump(:tiny)
end
if version_increased
puts "Increasing version value to #{new_version}".colorize(:red)
File.open("config/version", 'w+'){|f| f.puts new_version.to_s }
end
`spring stop`
`rm -rf #{APP_ASSET_ROOT}`
`mkdir #{APP_ASSET_ROOT}`
`rm -rf public/assets`
`MOZO_MOBILE_EXPORT=yes RAILS_ENV=user_app bundle exec rake assets:precompile`
`find public/assets -name "*.gz" -exec rm -f {} \\;`
%w[
supplier
cmtool
waiter
admin
qr_sheet
site
cartoon
frames
tinymce
textures
jquery-ui
icons
].each{|folder| `rm -rf public/assets/#{folder}`}
`time ./bin/dedigest_assets`
# correct stuff
`time ./bin/user_asset_corrections`
# now move stuff to a cleaned up cordova location
`cp -r public/assets/user #{APP_ASSET_ROOT}/user`
`cp -r public/assets/theme1 #{APP_ASSET_ROOT}/theme1`
`cp -r public/assets/vendor #{APP_ASSET_ROOT}/vendor`
# Theme1 files are not used
`find #{APP_ASSET_ROOT}/theme1 -name "*.css" -exec rm -f {} \\;`
`find #{APP_ASSET_ROOT}/theme1 -name "*.js" -exec rm -f {} \\;`
# copy font files
`find public/assets -iname "font*" -depth 1 -exec cp {} #{APP_ASSET_ROOT} \\;`
# rm -rf public/assets/cmtool;
# rm -rf public/assets/jquery-ui;
# rm -rf public/assets/admin;
# rm -rf public/assets/waiter;
# rm -rf public/assets/obtain_token;
# rm -rf public/assets/qr_sheet;
# rm -rf public/assets/supplier;
# rm -rf public/assets/site;
# rm -rf public/assets/cartoon;
# rm -rf public/assets/frames;
# MOZO_MOBILE_EXPORT=yes RAILS_ENV=user_app TEST_HOST=$1 bundle exec rails runner bin/build_mobile_app.rb;
`rm -rf public/assets`
# Set app versions
File.open(app_config_path, 'w+'){|f| f.puts app_config.sub(%[version="#{current_version}"], %[version="#{new_version}"])}
File.open(app_index_html_path, 'w+'){ |f| f.puts app_index_html.sub(/app_version\s*=\s*'([\.\d]+)'/, "app_version = '#{new_version.to_s}'") }