diff options
-rw-r--r-- | bin/chef-windows-service | 35 | ||||
-rw-r--r-- | chef.gemspec | 2 |
2 files changed, 36 insertions, 1 deletions
diff --git a/bin/chef-windows-service b/bin/chef-windows-service new file mode 100644 index 0000000000..292d5651fc --- /dev/null +++ b/bin/chef-windows-service @@ -0,0 +1,35 @@ +#!/usr/bin/env ruby +# +# Author:: Jay Mundrawala (<jdm@getchef.com>) +# +# Copyright:: 2014, Chef Software, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Note: +# The file is used by appbundler to generate a ruby file that +# we can execute using the correct gems. The batch file we +# generate will call that file, and will be registered as +# a windows service. + +require 'rubygems' +$:.unshift(File.join(File.dirname(__FILE__), "..", "lib")) +require 'chef' +require 'chef/application/windows_service' + +if Chef::Platform.windows? + Chef::Application::WindowsService.mainloop +else + puts "chef-windows-service is only available on Windows platforms." +end diff --git a/chef.gemspec b/chef.gemspec index 075d1fc5d6..427657f678 100644 --- a/chef.gemspec +++ b/chef.gemspec @@ -49,7 +49,7 @@ Gem::Specification.new do |s| # chef-service-manager is a windows only executable. # However gemspec doesn't give us a way to have this executable only # on windows. So we're including this in all platforms. - s.executables = %w( chef-client chef-solo knife chef-shell shef chef-apply chef-service-manager ) + s.executables = %w( chef-client chef-solo knife chef-shell shef chef-apply chef-service-manager chef-windows-service ) s.require_path = 'lib' s.files = %w(Rakefile LICENSE README.md CONTRIBUTING.md) + Dir.glob("{distro,lib,tasks,spec}/**/*", File::FNM_DOTMATCH).reject {|f| File.directory?(f) } |