summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2020-10-30 23:37:03 -0600
committerDan Allen <dan.j.allen@gmail.com>2020-10-31 03:37:37 -0600
commit9ff6fc3cf0c11e8b99b7d8f8027f07f960ce3946 (patch)
tree6bd2e24bcba092ca608643d7d3f523833ba32219
parent0678c1544f3c34080cc4e6924015d4b0e1d7ad7c (diff)
use version of pdf-core requested by Prawn when testing Prawn from upstream
-rw-r--r--.travis.yml1
-rw-r--r--scripts/switch-to-prawn-master.rb19
2 files changed, 20 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index afc91c05..4446b634 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -43,6 +43,7 @@ jobs:
before_script:
- bundle exec ruby scripts/switch-to-prawn-master.rb
- rm -f Gemfile.lock
+ - bundle config --local clean true
- bundle --jobs 3 --retry 3
- stage: release gem
rvm: *default_ruby
diff --git a/scripts/switch-to-prawn-master.rb b/scripts/switch-to-prawn-master.rb
index f4e3e49e..283bb17f 100644
--- a/scripts/switch-to-prawn-master.rb
+++ b/scripts/switch-to-prawn-master.rb
@@ -4,3 +4,22 @@ require 'fileutils'
prawn_spec = Gem::Specification.find_by_name 'prawn'
FileUtils.rm_r prawn_spec.gem_dir, secure: true if Dir.exist? prawn_spec.gem_dir
Process.wait Process.spawn %(git clone --depth=1 https://github.com/prawnpdf/prawn #{File.basename prawn_spec.gem_dir}), chdir: prawn_spec.gems_dir
+
+# Option A: patch dependency versions
+#new_prawn_spec_contents = File.read (File.join prawn_spec.gem_dir, 'prawn.gemspec'), mode: 'r:UTF-8'
+#ttfunk_version_spec = (%r/'ttfunk', *'(.+?)'/.match new_prawn_spec_contents)[1]
+#pdf_core_version_spec = (%r/'pdf-core', *'(.+?)'/.match new_prawn_spec_contents)[1]
+#prawn_spec_replacement = prawn_spec
+# .to_ruby
+# .gsub(%r/(ttfunk.+?)"[^"]+"/, %(\\1"#{ttfunk_version_spec}"))
+# .gsub(%r/(pdf-core.+?)"[^"]+"/, %(\\1"#{pdf_core_version_spec}"))
+
+# Option B: regenerate spec file
+new_prawn_spec_contents = File.readlines (File.join prawn_spec.gem_dir, 'prawn.gemspec'), mode: 'r:UTF-8'
+basedir_line_idx = new_prawn_spec_contents.index {|it| it.start_with? 'basedir =' }
+new_prawn_spec_contents[basedir_line_idx] = %(basedir = '#{prawn_spec.gem_dir}'\n)
+new_prawn_spec = eval new_prawn_spec_contents.join
+new_prawn_spec.version = prawn_spec.version
+prawn_spec_replacement = new_prawn_spec.to_ruby
+
+File.write prawn_spec.spec_file, prawn_spec_replacement