rb2exe 0.1.52 → 0.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5f59bb0f8fd023da658424046900dd01764d678
4
- data.tar.gz: 8a4b810ade4be8f202bfb45530b631f1b26f82be
3
+ metadata.gz: 7514934e6aafcd94c546bed5e4c2f07015f492e3
4
+ data.tar.gz: 44af662d5e97fe0ec0c7de279e77d9aaaecb9d98
5
5
  SHA512:
6
- metadata.gz: 95e52bcb1905b2f15ae861b11b829a7d20e1ffcfbbd3ae631de055d2d9d9f63306a322d52609e7f344c55535f005c3e9fce2348a987be7da1e0a2a8a1a729737
7
- data.tar.gz: fe020fdb4e3b934a1f81bc8f91cb5d7edc56d8d84a52db256d998bf22cb648bc82292854852d3295fd52b5c0a68f245faa9a2142a693653951f183bb1ba68ea7
6
+ metadata.gz: ea357fdff2778172d5730784555509f1af7b2c28548eb237a5278675991817ca682e8948960de09a863125cfae67dd98ba65b4cb7a829a3869bc22aae0733617
7
+ data.tar.gz: 9a7e3ad2595eec5f11a9833ac412f913a7bcf0d5f09dc1c435f2cd49c50d8582b56fc723dacc1edd70a67a2801cd8c92566ec0eaac509e886ad387005dc6d4b7
data/README.md CHANGED
@@ -39,6 +39,19 @@ rb2exe main.rb --add .
39
39
  ./main
40
40
  ```
41
41
 
42
+ ## Example III - Gemfile support
43
+ ```bash
44
+ mkdir test
45
+ cd test
46
+ echo "source 'https://rubygems.org'" > Gemfile
47
+ echo "gem 'faker'" >> Gemfile
48
+ echo "require 'faker'" > a.rb
49
+ echo 'puts "Hello #{Faker::Name.name}"' >> a.rb
50
+
51
+ rb2exe a.rb --add .
52
+ ./a
53
+ ```
54
+
42
55
 
43
56
  ## Security
44
57
 
data/bin/rb2exe CHANGED
@@ -62,7 +62,10 @@ end
62
62
  result = "Error"
63
63
  Dir.mktmpdir do |tmp_dir|
64
64
  FileUtils.mkdir_p("#{tmp_dir}/payload/lib")
65
- FileUtils.cp_r("#{gem_dir}/bin/traveling-ruby-2.2.2", "#{tmp_dir}/payload/lib/ruby") # Copy ruby traveler 2.2.2 on "payload/lib/ruby"
65
+
66
+ # Copy ruby traveler 2.2.2 to "payload/lib/ruby"
67
+ FileUtils.cp_r("#{gem_dir}/bin/traveling-ruby-2.2.2", "#{tmp_dir}/payload/lib/ruby")
68
+
66
69
  # Move the "app" folder to "payload/lib"
67
70
  if app_dir.nil?
68
71
  FileUtils.mkdir_p("#{tmp_dir}/payload/lib/app/")
@@ -71,6 +74,29 @@ Dir.mktmpdir do |tmp_dir|
71
74
  FileUtils.cp_r(app_dir, "#{tmp_dir}/payload/lib/app")
72
75
  end
73
76
  FileUtils.cp_r("#{gem_dir}/bin/installer", "#{tmp_dir}/payload/") # Create a wrapper script (name it as "installer")
77
+
78
+ # Gemfile support
79
+ puts "#{tmp_dir}/payload/lib/app/Gemfile"
80
+ if File.exists?("#{tmp_dir}/payload/lib/app/Gemfile")
81
+ puts "Gemfile detected. Loading gems." unless options[:quiet]
82
+ FileUtils.mkdir_p("#{tmp_dir}/payload/lib/tmp") # Create a "tmp" folder on ".package/payload/lib"
83
+ FileUtils.cp("#{tmp_dir}/payload/lib/app/Gemfile", "#{tmp_dir}/payload/lib/tmp/") # Copy the project Gemfile to tmp
84
+ FileUtils.cp("#{tmp_dir}/payload/lib/app/Gemfile.lock", "#{tmp_dir}/payload/lib/tmp/")
85
+ # Download gems into the "lib/vendor" folder
86
+ Bundler.with_clean_env do
87
+ Dir.chdir("#{tmp_dir}/payload/lib/app") do
88
+ `bundle install --path #{tmp_dir}/payload/lib/vendor --without development`
89
+ end
90
+ end
91
+ FileUtils.rm_rf("#{tmp_dir}/payload/lib/tmp/") # Delete tmp folder
92
+ %x[cd #{tmp_dir}/payload/lib/ && rm -f vendor/*/*/cache/*] # Delete gem's cache in the vendor folder
93
+ FileUtils.cp("#{tmp_dir}/payload/lib/app/Gemfile", "#{tmp_dir}/payload/lib/vendor/") # Copy the Gemfile to the vendor folder
94
+ FileUtils.cp("#{tmp_dir}/payload/lib/app/Gemfile.lock", "#{tmp_dir}/payload/lib/vendor/")
95
+ # Create a bundler config
96
+ FileUtils.mkdir_p("#{tmp_dir}/payload/lib/vendor/.bundle")
97
+ FileUtils.cp("#{gem_dir}/lib/bundler-config", "#{tmp_dir}/payload/lib/vendor/.bundle/config")
98
+ end
99
+
74
100
  FileUtils.cp_r("#{gem_dir}/bin/build", "#{tmp_dir}/") # Package builder
75
101
  FileUtils.cp_r("#{gem_dir}/bin/decompress", "#{tmp_dir}/")
76
102
  result = `#{tmp_dir}/build #{tmp_dir} #{main_app_path} #{exe_fn} #{options[:quiet]}`
@@ -0,0 +1,3 @@
1
+ BUNDLE_PATH: .
2
+ BUNDLE_WITHOUT: development
3
+ BUNDLE_DISABLE_SHARED_GEMS: '1'
@@ -1,3 +1,3 @@
1
1
  module Rb2exe
2
- VERSION = "0.1.52"
2
+ VERSION = "0.1.53"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rb2exe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.52
4
+ version: 0.1.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Loureiro
@@ -1049,7 +1049,7 @@ files:
1049
1049
  - bin/traveling-ruby-2.2.2/lib/ruby/gems/2.2.0/specifications/default/psych-2.0.8.gemspec
1050
1050
  - bin/traveling-ruby-2.2.2/lib/ruby/gems/2.2.0/specifications/default/rake-10.4.2.gemspec
1051
1051
  - bin/traveling-ruby-2.2.2/lib/ruby/gems/2.2.0/specifications/default/rdoc-4.2.0.gemspec
1052
- - bin/traveling-ruby-2.2.2/test-rake
1052
+ - lib/bundler-config
1053
1053
  - lib/rb2exe.rb
1054
1054
  - lib/rb2exe/version.rb
1055
1055
  - rb2exe.gemspec
@@ -1 +0,0 @@
1
- /home/daniel/projects/test-rake