summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Preston <stuart@chef.io>2018-06-23 22:50:19 +0100
committerStuart Preston <stuart@chef.io>2018-06-23 22:50:19 +0100
commitacb4c6adc451ff72eab8512bafe63fb16ea22856 (patch)
tree35520593cea4c17ab9b9abbfe19c8ab6d8be0b25
parenteaac3e8f2fb695b47cde9b595e87d83e3b23d984 (diff)
downloadchef-acb4c6adc451ff72eab8512bafe63fb16ea22856.tar.gz
Move bindir copy logic into Gemfile to be used by Bundler
Signed-off-by: Stuart Preston <stuart@chef.io>
-rw-r--r--Gemfile14
-rw-r--r--appveyor.yml1
-rw-r--r--distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll (renamed from distro/powershell/chef/Chef.PowerShell.Wrapper.dll)bin123904 -> 123904 bytes
-rw-r--r--distro/ruby_bin_folder/Chef.PowerShell.dll (renamed from distro/powershell/chef/Chef.PowerShell.dll)bin6656 -> 6656 bytes
-rw-r--r--distro/ruby_bin_folder/Newtonsoft.Json.dll (renamed from distro/powershell/chef/Newtonsoft.Json.dll)bin664576 -> 664576 bytes
5 files changed, 14 insertions, 1 deletions
diff --git a/Gemfile b/Gemfile
index a6fe2d24ae..0a041760e5 100644
--- a/Gemfile
+++ b/Gemfile
@@ -65,3 +65,17 @@ instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"]
# If you want to load debugging tools into the bundle exec sandbox,
# add these additional dependencies into Gemfile.local
eval_gemfile(__FILE__ + ".local") if File.exist?(__FILE__ + ".local")
+
+# These lines added for Windows development only.
+# For FFI to call into PowerShell we need the binaries and assemblies located
+# in the Ruby bindir.
+#
+# We copy (and overwrite) these files every time "bundle <exec|install>" is
+# executed, just in case they have changed.
+if RUBY_PLATFORM =~ /mswin|mingw|windows/
+ instance_eval do
+ ruby_exe_dir = RbConfig::CONFIG["bindir"]
+ assemblies = Dir.glob(File.expand_path("distro/ruby_bin_folder", Dir.pwd) + "/*.dll")
+ FileUtils.cp_r assemblies, ruby_exe_dir
+ end
+end
diff --git a/appveyor.yml b/appveyor.yml
index 5b57881269..c75a2be12b 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -25,7 +25,6 @@ install:
- winrm quickconfig -q
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
- echo %PATH%
- - copy c:\projects\chef\distro\powershell\chef\*.dll C:\Ruby%ruby_version%\bin /y
- appveyor DownloadFile http://curl.haxx.se/ca/cacert.pem -FileName C:\cacert.pem
- set SSL_CERT_FILE=C:\cacert.pem
- SET BUNDLE_WITHOUT=server:docgen:maintenance:pry:travis:integration:ci
diff --git a/distro/powershell/chef/Chef.PowerShell.Wrapper.dll b/distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll
index bdf9ef4125..bdf9ef4125 100644
--- a/distro/powershell/chef/Chef.PowerShell.Wrapper.dll
+++ b/distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll
Binary files differ
diff --git a/distro/powershell/chef/Chef.PowerShell.dll b/distro/ruby_bin_folder/Chef.PowerShell.dll
index 568f9f43cd..568f9f43cd 100644
--- a/distro/powershell/chef/Chef.PowerShell.dll
+++ b/distro/ruby_bin_folder/Chef.PowerShell.dll
Binary files differ
diff --git a/distro/powershell/chef/Newtonsoft.Json.dll b/distro/ruby_bin_folder/Newtonsoft.Json.dll
index 1971a35679..1971a35679 100644
--- a/distro/powershell/chef/Newtonsoft.Json.dll
+++ b/distro/ruby_bin_folder/Newtonsoft.Json.dll
Binary files differ