#!/usr/bin/rake unless defined?(Bundler) puts 'Please use bundle exec to run the rake command' exit 1 end require 'English' ## [ Constants ] ############################################################## POD_NAME = 'Stencil' MIN_XCODE_VERSION = 13.0 BUILD_DIR = File.absolute_path('./.build') ## [ Build Tasks ] ############################################################ namespace :files do desc 'Update all files containing a version' task :update, [:version] do |_, args| version = args[:version] Utils.print_header "Updating files for version #{version}" podspec = Utils.podspec(POD_NAME) podspec['version'] = version podspec['source']['tag'] = version File.write("#{POD_NAME}.podspec.json", JSON.pretty_generate(podspec) + "\n") replace('CHANGELOG.md', '## Master' => "\#\# #{version}") replace("docs/conf.py", /^version = .*/ => %Q(version = '#{version}'), /^release = .*/ => %Q(release = '#{version}') ) replace("docs/installation.rst", /pod 'Stencil', '.*'/ => %Q(pod 'Stencil', '~> #{version}'), /github "stencilproject\/Stencil" ~> .*/ => %Q(github "stencilproject/Stencil" ~> #{version}) ) end def replace(file, replacements) content = File.read(file) replacements.each do |match, replacement| content.gsub!(match, replacement) end File.write(file, content) end end task :default => 'release:new'