lib/poolparty.rb in poolparty-0.2.84 vs lib/poolparty.rb in poolparty-1.2.2
- old
+ new
@@ -1,10 +1,10 @@
-require 'rubygems'
-
+$LOAD_PATH<< File.dirname(__FILE__)
# Load required gems
+#TODO: remove activesupport
@required_software = Array.new
-%w(activesupport ftools logging resolv ruby2ruby digest/sha2 open3 capistrano).each do |lib|
+%w(rubygems activesupport ftools logging resolv ruby2ruby digest/sha2 json pp).each do |lib|
begin
require lib
rescue Exception => e
@required_software << lib
end
@@ -30,44 +30,97 @@
@np.print
exit(0)
end
-# Use active supports auto load mechanism
-ActiveSupport::Dependencies.load_paths << File.dirname(__FILE__)
+Dir.glob(File.join(File.dirname(__FILE__),'..', 'vendor/gems/*/lib/*.rb')).each do |d|
+ require d
+end
+t=Time.now
## Load PoolParty
-%w(version).each do |f|
- require "#{File.dirname(__FILE__)}/poolparty/#{f}"
+module PoolParty
end
-%w(core modules exceptions dependency_resolutions aska monitors provisioners extra net).each do |dir|
- Dir[File.dirname(__FILE__) + "/poolparty/#{dir}/**.rb"].each do |file|
- require file
+def PoolParty.require_directory(dir)
+ if ::File.file?(dir)
+ puts "#{::File.expand_path(dir)}" if $DEBUGGING || $GENERATING_MANIFEST
+ require dir
+ else
+ Dir["#{dir}/*.rb"].sort.each do |file|
+ puts "#{::File.expand_path(file)}" if $DEBUGGING || $GENERATING_MANIFEST
+ require "#{file}" if ::File.file?(file)
+ end
+ Dir["#{dir}/*"].sort.each do |dir|
+ require_directory(dir) if ::File.directory?(dir)
+ end
end
end
-Kernel.load_p File.dirname(__FILE__) + "/poolparty/poolparty"
-Logging.init :debug, :info, :warn, :error, :fatal
+#load poolparty framework in specific order
+$_poolparty_load_directories = [
+ "core",
+ "dependencies.rb",
+ "dependency_resolver/dependency_resolver_cloud_extensions.rb",
+ "dependency_resolver/dependency_resolver.rb",
+ "poolparty/poolparty_base_class.rb",
+ "poolparty/default.rb",
+ "modules",
+ "exceptions",
+ 'poolparty/key.rb',
+ "dependency_resolver",
+ "aska.rb",
+ "config",
+ "monitors/monitor_rack",
+ "capistrano.rb",
+ 'provisioners/provisioner_base.rb',
+ 'provisioners/capistrano/capistrano.rb',
+ 'provision',
+ "extra",
+ "net",
+ "helpers",
+ "verification",
+ "poolparty/resource.rb",
+ "poolparty/service.rb",
+ "resources",
+ "services",
+ "poolparty/cloud.rb",
+ "poolparty",
+ "templates"
+ ]
+manifest_file_location = ::File.join(::File.dirname(__FILE__), '../config/manifest.pp')
+if ::File.file?(manifest_file_location)
+ ::File.readlines(manifest_file_location).each do |line|
+ dputs "#{::File.expand_path(line)}"
+ require "#{line.gsub(/\n/, '')}"
+ end
+else
+ $_poolparty_load_directories.each do |dir|
+ PoolParty.require_directory(::File.join(::File.dirname(__FILE__),'poolparty', dir))
+ end
+end
+
+# Logging.init :debug, :info, :warn, :error, :fatal
+
module PoolParty
include FileWriter
def log
- @logger ||= make_new_logger
+ @logger ||= make_new_logger rescue STDOUT
end
+ def reset!
+ $pools = $clouds = $plugins = @describe_instances = nil
+ end
class PoolParty
- def initialize(spec)
- Script.inflate(spec) if spec
- end
end
private
#:nodoc:#
def make_new_logger
- FileUtils.mkdir_p ::File.dirname(Base.pool_logger_location) unless ::File.directory?(::File.dirname(Base.pool_logger_location))
+ FileUtils.mkdir_p ::File.dirname(Default.pool_logger_location) unless ::File.directory?(::File.dirname(Default.pool_logger_location))
Loggable.new
end
end
class Object
@@ -77,16 +130,17 @@
include PoolParty::DefinableResource
end
class Class
- include PoolParty::PluginModel
+ include PoolParty::PluginModel
end
## Load PoolParty Plugins and package
module PoolParty
%w(plugins base_packages).each do |dir|
- Dir[::File.dirname(__FILE__) + "/poolparty/#{dir}/*.rb"].each do |file|
- require file
- end
+ require_directory(::File.join(::File.dirname(__FILE__), 'poolparty', dir))
end
-end
\ No newline at end of file
+end
+
+PoolParty.reset!
+dputs "duration = #{Time.now-t}"