lib/appbundler/app.rb in appbundler-0.12.0 vs lib/appbundler/app.rb in appbundler-0.12.1
- old
+ new
@@ -15,10 +15,11 @@
BINSTUB_FILE_VERSION = 1
attr_reader :bundle_path
attr_reader :target_bin_dir
attr_reader :name
+ attr_reader :extra_bin_files
# The bundle_path is always the path to the Gemfile.lock being used, e.g.
# /var/cache/omnibus/src/chef/chef-14.10.9/Gemfile.lock or whatever. If
# the name if the gem is not set then we behave like old style 2-arg appbundling
# where the gem we are appbundling is in the gemspec in that directory.
@@ -28,14 +29,15 @@
# appbundled against the same Gemfile.lock.
#
# @param bundle_path [String] the directory path of the Gemfile.lock
# @param target_bin_dir [String] the binstub dir, e.g. /opt/chefdk/bin
# @param name [String] name of the gem
- def initialize(bundle_path, target_bin_dir, name)
+ def initialize(bundle_path, target_bin_dir, name, extra_bin_files = [])
@bundle_path = bundle_path
@target_bin_dir = target_bin_dir
@name = name
+ @extra_bin_files = extra_bin_files
end
# For the 2-arg version this is the gemfile in the omnibus build directory:
# /var/cache/omnibus/src/chef/chef-14.10.9/Gemfile
#
@@ -335,11 +337,10 @@
Kernel.load(bin_file)
E
end
def executables
- spec = installed_spec
- spec.executables.map { |e| spec.bin_file(e) }
+ installed_spec.executables.map { |e| spec.bin_file(e) } + extra_bin_files
end
def runtime_dep_specs
if external_lockfile?
local_gemfile_lock_specs