Compare commits

...
9 Commits
Author SHA1 Message Date
David Dollar 9cd772ac0f 0.7.5 2010-09-17 09:31:24 -04:00
David Dollar 2b27d0a51a include files from export in the gem 2010-09-17 09:31:08 -04:00
Keith Rarick 99204d7c1d Wait for descendant processes to exit. 2010-09-17 21:28:01 +08:00
Ricardo Chimal, Jr e9b5ed81b8 bugfix upstart export erb templates 2010-09-17 21:27:29 +08:00
David Dollar 7d751470d2 0.7.3 2010-08-24 17:41:36 -04:00
David Dollar 68c1a01f15 add executable and man page to gem release 2010-08-24 17:41:22 -04:00
David Dollar 08f9027cb4 0.7.2 2010-08-24 17:24:43 -04:00
David Dollar 4f7692bed9 switch to parka for gem management 2010-08-24 17:23:03 -04:00
David Dollar dd95cea997 update docs 2010-07-21 07:23:32 -07:00
9 changed files with 76 additions and 126 deletions
+1
View File
@@ -1,3 +1,4 @@
.bundle
coverage coverage
example/log/* example/log/*
man/*.? man/*.?
+16
View File
@@ -0,0 +1,16 @@
source "http://rubygems.org"
group :development do
gem 'parka'
gem 'rake'
end
group :test do
gem 'fakefs', '~> 0.2.1'
gem 'rcov', '~> 0.9.8'
gem 'rr', '~> 0.10.11'
gem 'rspec', '~> 2.0.0.beta.19'
end
gem 'term-ansicolor', '~> 1.0.5'
gem 'thor', '~> 0.13.6'
+37
View File
@@ -0,0 +1,37 @@
GEM
remote: http://rubygems.org/
specs:
diff-lcs (1.1.2)
fakefs (0.2.1)
mime-types (1.16)
parka (0.3.1)
rest-client
thor
rake (0.8.7)
rcov (0.9.8)
rest-client (1.6.0)
mime-types (>= 1.16)
rr (0.10.11)
rspec (2.0.0.beta.19)
rspec-core (= 2.0.0.beta.19)
rspec-expectations (= 2.0.0.beta.19)
rspec-mocks (= 2.0.0.beta.19)
rspec-core (2.0.0.beta.19)
rspec-expectations (2.0.0.beta.19)
diff-lcs (>= 1.1.2)
rspec-mocks (2.0.0.beta.19)
term-ansicolor (1.0.5)
thor (0.13.8)
PLATFORMS
ruby
DEPENDENCIES
fakefs (~> 0.2.1)
parka
rake
rcov (~> 0.9.8)
rr (~> 0.10.11)
rspec (~> 2.0.0.beta.19)
term-ansicolor (~> 1.0.5)
thor (~> 0.13.6)
+4 -38
View File
@@ -1,3 +1,7 @@
require "rubygems"
require "bundler"
Bundler.setup
require "rake" require "rake"
require "rspec" require "rspec"
require "rspec/core/rake_task" require "rspec/core/rake_task"
@@ -45,41 +49,3 @@ task :pages => :man do
git checkout master git checkout master
} }
end end
######################################################
begin
require 'jeweler'
Jeweler::Tasks.new do |s|
s.name = "foreman"
s.version = Foreman::VERSION
s.summary = "Process manager for applications with multiple components"
s.description = s.summary
s.author = "David Dollar"
s.email = "ddollar@gmail.com"
s.homepage = "http://github.com/ddollar/foreman"
s.platform = Gem::Platform::RUBY
s.has_rdoc = false
s.files = %w(Rakefile README.md) + Dir["{bin,export,lib,spec}/**/*"]
s.require_path = "lib"
# #s.bindir = "bin"
# s.executables = Dir["bin/*"]
s.default_executable = "foreman"
s.add_development_dependency 'fakefs', '~> 0.2.1'
s.add_development_dependency 'rake', '~> 0.8.7'
s.add_development_dependency 'rcov', '~> 0.9.8'
s.add_development_dependency 'rr', '~> 0.10.11'
s.add_development_dependency 'rspec', '~> 2.0.0'
s.add_dependency 'term-ansicolor', '~> 1.0.5'
s.add_dependency 'thor', '~> 0.13.6'
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler not available. Install it with: sudo gem install jeweler"
end
+1 -1
View File
@@ -3,4 +3,4 @@ stop on stopping <%= app %>-<%= process.name %>
respawn respawn
chdir <%= engine.directory %> chdir <%= engine.directory %>
exec su <%= user %> -c "PORT=<%= port %> <%= process.command %> >> <%= log_root %>/<%=process.name%>-<%=num%>.log 2>&1" exec su - <%= user %> -c 'export PORT=<%= port %>; <%= process.command %> >> <%= log_root %>/<%=process.name%>-<%=num%>.log 2>&1'
+10 -86
View File
@@ -1,89 +1,13 @@
# Generated by jeweler require "rubygems"
# DO NOT EDIT THIS FILE DIRECTLY require "parka/specification"
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
# -*- encoding: utf-8 -*-
Gem::Specification.new do |s| Parka::Specification.new do |gem|
s.name = %q{foreman} gem.name = "foreman"
s.version = "0.7.1" gem.version = Foreman::VERSION
gem.summary = "Process manager for applications with multiple components"
gem.homepage = "http://github.com/ddollar/foreman"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= gem.executables = "foreman"
s.authors = ["David Dollar"] gem.files << "man/foreman.1"
s.date = %q{2010-07-20} gem.files << Dir["export/**/*"]
s.default_executable = %q{foreman}
s.description = %q{Process manager for applications with multiple components}
s.email = %q{ddollar@gmail.com}
s.executables = ["foreman"]
s.extra_rdoc_files = [
"README.markdown"
]
s.files = [
"Rakefile",
"bin/foreman",
"export/upstart/master.conf.erb",
"export/upstart/process.conf.erb",
"export/upstart/process_master.conf.erb",
"lib/foreman.rb",
"lib/foreman/cli.rb",
"lib/foreman/engine.rb",
"lib/foreman/export.rb",
"lib/foreman/export/base.rb",
"lib/foreman/export/inittab.rb",
"lib/foreman/export/upstart.rb",
"lib/foreman/process.rb",
"lib/foreman/utils.rb",
"spec/foreman/cli_spec.rb",
"spec/foreman/engine_spec.rb",
"spec/foreman/export/upstart_spec.rb",
"spec/foreman/export_spec.rb",
"spec/foreman/process_spec.rb",
"spec/foreman_spec.rb",
"spec/spec_helper.rb"
]
s.homepage = %q{http://github.com/ddollar/foreman}
s.rdoc_options = ["--charset=UTF-8"]
s.require_paths = ["lib"]
s.rubygems_version = %q{1.3.7}
s.summary = %q{Process manager for applications with multiple components}
s.test_files = [
"spec/foreman/cli_spec.rb",
"spec/foreman/engine_spec.rb",
"spec/foreman/export/upstart_spec.rb",
"spec/foreman/export_spec.rb",
"spec/foreman/process_spec.rb",
"spec/foreman_spec.rb",
"spec/spec_helper.rb"
]
if s.respond_to? :specification_version then
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_development_dependency(%q<fakefs>, ["~> 0.2.1"])
s.add_development_dependency(%q<rake>, ["~> 0.8.7"])
s.add_development_dependency(%q<rcov>, ["~> 0.9.8"])
s.add_development_dependency(%q<rr>, ["~> 0.10.11"])
s.add_development_dependency(%q<rspec>, ["~> 2.0.0"])
s.add_runtime_dependency(%q<term-ansicolor>, ["~> 1.0.5"])
s.add_runtime_dependency(%q<thor>, ["~> 0.13.6"])
else
s.add_dependency(%q<fakefs>, ["~> 0.2.1"])
s.add_dependency(%q<rake>, ["~> 0.8.7"])
s.add_dependency(%q<rcov>, ["~> 0.9.8"])
s.add_dependency(%q<rr>, ["~> 0.10.11"])
s.add_dependency(%q<rspec>, ["~> 2.0.0"])
s.add_dependency(%q<term-ansicolor>, ["~> 1.0.5"])
s.add_dependency(%q<thor>, ["~> 0.13.6"])
end
else
s.add_dependency(%q<fakefs>, ["~> 0.2.1"])
s.add_dependency(%q<rake>, ["~> 0.8.7"])
s.add_dependency(%q<rcov>, ["~> 0.9.8"])
s.add_dependency(%q<rr>, ["~> 0.10.11"])
s.add_dependency(%q<rspec>, ["~> 2.0.0"])
s.add_dependency(%q<term-ansicolor>, ["~> 1.0.5"])
s.add_dependency(%q<thor>, ["~> 0.13.6"])
end
end end
+1 -1
View File
@@ -1,6 +1,6 @@
module Foreman module Foreman
VERSION = "0.7.1" VERSION = "0.7.5"
class AppDoesNotExist < Exception; end class AppDoesNotExist < Exception; end
+2
View File
@@ -97,6 +97,7 @@ private ######################################################################
rescue PTY::ChildExited, Interrupt rescue PTY::ChildExited, Interrupt
info "process exiting", process info "process exiting", process
end end
Process.waitall
end end
end end
@@ -106,6 +107,7 @@ private ######################################################################
info "killing #{process.name} in pid #{pid}" info "killing #{process.name} in pid #{pid}"
Process.kill(signal, pid) Process.kill(signal, pid)
end end
Process.waitall
exit 0 exit 0
end end
+4
View File
@@ -29,6 +29,10 @@ The following options control how the application is run:
Specify the number of each process type to run. The value passed in Specify the number of each process type to run. The value passed in
should be in the format `process=num,process=num` should be in the format `process=num,process=num`
* `-p`, `--port`:
Specify which port to use as the base for this application. Should be
a multiple of 1000.
## EXPORTING ## EXPORTING
`foreman export` is used to export your application to another process `foreman export` is used to export your application to another process