Compare commits

...
33 Commits
Author SHA1 Message Date
David Dollar 89c1314abe try jruby with travis 2012-01-29 22:37:07 -05:00
David Dollar f33211d100 clean up gems 2012-01-29 21:35:51 -05:00
David Dollar 4317079bf3 tweak changelog 2012-01-29 21:29:11 -05:00
David Dollar c745c282c9 update docs 2012-01-29 21:28:49 -05:00
David Dollar 7dca45db57 0.37.2 2012-01-29 21:28:30 -05:00
David Dollar de3c47fe21 handle directories with spaces in runner 2012-01-29 21:28:11 -05:00
David Dollar a8a255db4a update docs 2012-01-29 14:06:09 -05:00
David Dollar 307d63b631 changelog 2012-01-29 14:05:59 -05:00
David Dollar de54f6a5a5 0.37.1 2012-01-29 14:03:45 -05:00
David Dollar 0dff116340 use a 1.8-compatbiel method for IO.pipe 2012-01-29 14:01:13 -05:00
David Dollar e053dc8434 cleanup 2012-01-29 13:58:16 -05:00
David Dollar 20f6ba1563 use binary pipes 2012-01-29 13:56:57 -05:00
David Dollar 557a08ea77 add utf8 test to engine 2012-01-29 13:56:51 -05:00
David Dollar 8eccc819d6 remove nonfunctional utf8 test 2012-01-29 13:56:42 -05:00
David Dollar 347d4a0184 factor out poll_readers 2012-01-29 13:56:35 -05:00
David Dollar 0147f5d284 set up example procfile with utf8 item 2012-01-29 13:56:22 -05:00
David Dollar 1da034ce66 try to add failing test for utf8 2012-01-29 10:03:31 -05:00
David Dollar 5fc7552572 refactor resource_file 2012-01-29 10:03:14 -05:00
David Dollar 083efe3ae9 sleep longer after loading scripts 2012-01-29 10:03:03 -05:00
David Dollar 9d2382a2d2 remove autotest 2012-01-29 02:06:01 -05:00
David Dollar f731daae1a update docs 2012-01-29 01:55:44 -05:00
David Dollar b7f0e3f573 typo 2012-01-29 01:55:14 -05:00
David Dollar e7c523dab7 cleanup 2012-01-29 01:52:30 -05:00
David Dollar 9f4f15a29c update docs 2012-01-29 01:51:52 -05:00
David Dollar b2dc89c50e fix up authors 2012-01-29 01:51:00 -05:00
David Dollar 389bf05800 cleanup 2012-01-29 01:47:05 -05:00
David Dollar a632a62efd update docs 2012-01-29 01:45:57 -05:00
David Dollar 2edf6e1c68 pedantry 2012-01-29 01:41:21 -05:00
David Dollar 56158e881b add changelog 2012-01-29 01:40:36 -05:00
David Dollar 6b5ed495d5 fix up packaging after moving tasks 2012-01-29 01:38:21 -05:00
David Dollar 9652c285f1 fix up changelog task 2012-01-29 01:32:20 -05:00
David Dollar ba171cc10d curate changelog 2012-01-29 01:26:21 -05:00
David Dollar ebb191adba better changelog task 2012-01-29 01:26:14 -05:00
18 changed files with 222 additions and 237 deletions
+3
View File
@@ -1,9 +1,12 @@
script: bundle exec rake spec script: bundle exec rake spec
env: JRUBY_OPTS="--debug -X+O"
rvm: rvm:
- 1.8.7 - 1.8.7
- 1.9.2 - 1.9.2
- 1.9.3 - 1.9.3
- jruby-head
notifications: notifications:
email: false email: false
+132 -169
View File
@@ -1,190 +1,153 @@
## 0.37.0.pre5 2012-01-24 9632227 ## 0.37.2 (2012-01-29)
0.37.0.pre5 [David Dollar]
Merge pull request #142 from apollo13/master [David Dollar]
rename readme [David Dollar]
Fix the test for an empty string in bin/runner [Florian Apolloner]
## 0.37.0.pre4 2012-01-24 a040324 * handle directories with spaces in runner [David Dollar]
0.37.0.pre4 [David Dollar] * update docs [David Dollar]
Merge pull request #130 from clowder/foreman [David Dollar]
Don't expose the options hash. [Chris Lowder]
Simplify subclassing by adding all arguments to the initializer. Also, clean up the method signatures for existing exporters. [Chris Lowder]
Add ZenTest as a development dependency, there is an autotest folder but the gem is missing. [Chris Lowder]
Attempt to require the custom export class. [Chris Lowder]
Catching more than we need to. [Chris Lowder]
Extract commonality into the base class, make life easy for our plugin writers. [Chris Lowder]
Removing the hard coding of export formats allowing the user to 'plug-in' their own export format. [Chris Lowder]
Update README.markdown [David Dollar]
Revert "try on more rubies" [David Dollar]
try on more rubies [David Dollar]
fix webhook url [David Dollar]
Update README.markdown [David Dollar]
Update README.markdown [David Dollar]
ensure we have non-nil data, fixes #111 [David Dollar]
make sure error method exists. fixes #104 [David Dollar]
Merge pull request #136 from fnichol/foreman [David Dollar]
remove other from install instructions [David Dollar]
cleanup [David Dollar]
Revert "tweak authors" [David Dollar]
tweak authors [David Dollar]
fix authors [David Dollar]
readme tweaks [David Dollar]
readme tweaks [David Dollar]
fix up authors [David Dollar]
Update README.markdown [David Dollar]
fix up specs [David Dollar]
we're not chdiring any more [David Dollar]
use strings rather than symbols to better emulate the real thing [David Dollar]
Merge pull request #139 from brainopia/foreman [David Dollar]
Add specs for Foreman::Process#run [brainopia]
Implement Foreman::Process#kill,detach,alive?,dead? [brainopia]
- Use explicit fakefs tag in specs - Clean up trailing whitespace [brainopia]
Simplify Foreman::Process#with_environment [brainopia]
Add specs for options of Foreman::Process#run [brainopia]
Add specs for initialization of Foreman::Process [brainopia]
runit creates a full path to export directory. [Fletcher Nichol]
## 0.37.0.pre3 2012-01-22 51eee01 ## 0.37.1 (2012-01-29)
0.37.0.pre3 [David Dollar]
normalize platform names [David Dollar]
windows support [David Dollar]
add windows support [David Dollar]
dont need pty [David Dollar]
fix specs [David Dollar]
## 0.37.0.pre2 2012-01-22 2995a60 * use binary pipes to better handle UTF-8 data [David Dollar]
0.37.0.pre2 [David Dollar] * set up example procfile with UTF-8 item [David Dollar]
0.37.0.pre1 [David Dollar] * remove autotest [David Dollar]
remove unnecessary stdout/stderr flattening [David Dollar] * fix up authors generation [David Dollar]
use PLATFORM=jruby instead of JRUBY=true [David Dollar] * fix up packaging after moving tasks [David Dollar]
* fix up changelog tasks [David Dollar]
## 0.37.0.pre1 2012-01-22 3e98170 ## 0.37.0 (2012-01-29)
fix java build bug [David Dollar]
dont do rubygems/bundler in the Rakefile [David Dollar]
switch to posix-spawn for jruby [David Dollar]
add jruby build [David Dollar]
spork is in the gemspec now [David Dollar]
remove debugging [David Dollar]
move the spoon require into the jruby branch [David Dollar]
pass basedir along to the runner script [David Dollar]
beef up the runner script to allow a working directory to be set [David Dollar]
Merge pull request #140 from jc00ke/foreman [David Dollar]
Move spoon dep to Gemfile [jc00ke]
Using spoon for JRuby support [jc00ke]
use default bucket for storage [David Dollar]
Merge pull request #138 from technomancy/debian [David Dollar]
Add Debian packaging. [Phil Hagelberg]
Ignore vendor dir. [Phil Hagelberg]
## 0.36.1 2012-01-18 1485eeb * put an entire line of output inside a single mutex so we don't cross the streams [David Dollar]
0.36.1 [David Dollar] * fix race condition with process termination [David Dollar]
bump term-ansicolor in gemspec [David Dollar] * allow external custom exporters [Chris Lowder]
* fix the test for an empty string in bin/runner [Florian Apolloner]
* ensure we have non-nil data, fixes #111 [David Dollar]
* make sure error method exists, fixes #104 [David Dollar]
* clean up chdir usage [David Dollar]
* normalize platform names [David Dollar]
* add windows support [David Dollar]
* add jruby support [David Dollar]
* pass basedir along to the runner script [David Dollar]
* harden runner script [David Dollar]
* add many missing specs [brainopia]
* clean up fakefs usage in specs [brainopia]
* runit creates a full path to export directory. [Fletcher Nichol]
## 0.36.0 2012-01-17 a73dce5 ## 0.36.1 (2012-01-18)
0.36.0 [David Dollar]
sync the writer stream [David Dollar]
capture stderr as well [David Dollar]
## 0.35.0 2012-01-16 2bfc065 * 0.36.1 [David Dollar]
update rake [David Dollar] * bump term-ansicolor in gemspec [David Dollar]
0.35.0 [David Dollar]
Merge pull request #132 from Viximo/feature/concurrency [David Dollar]
Fix export specs [Matt Griffin]
Merge branch 'master' of https://github.com/michaeldwan/foreman into feature/concurrency [Matt Griffin]
default process concurrency is 0 when concurrency options specified, otherwise default concurrency is 1 [Michael Dwan]
## 0.34.1 2012-01-16 d4c2332 ## 0.36.0 (2012-01-17)
0.34.1 [David Dollar]
fix missing start desc [David Dollar]
## 0.34.0 2012-01-16 a278755 * 0.36.0 [David Dollar]
0.34.0 [David Dollar] * sync the writer stream [David Dollar]
update man page [David Dollar] * capture stderr as well [David Dollar]
update docs for -d [David Dollar]
Merge pull request #101 from ndbroadbent/foreman [David Dollar]
Wrap around to the first colour when all the colours are used [Craig R Webster]
run specs in random order [David Dollar]
update rspec [David Dollar]
pedantry [David Dollar]
Set executable bit on runit run scripts. [Matthijs Langenberg]
Merge pull request #114 from gburt/master [David Dollar]
add more colors [Gabriel Burt]
Added option to specify app_root, if executing a Procfile from a shared location [Nathan Broadbent]
## 0.33.1 2012-01-16 533139e ## 0.35.0 (2012-01-16)
0.33.1 [David Dollar]
Merge pull request #129 from fnichol/resolve-home-template [David Dollar]
Expand template path under user's home directory. [Fletcher Nichol]
## 0.33.0 2012-01-15 cf269c3 * update rake [David Dollar]
0.33.0 [David Dollar] * 0.35.0 [David Dollar]
Revert "Merge pull request #125 from brainopia/master" [David Dollar] * Merge pull request #132 from Viximo/feature/concurrency [David Dollar]
* Fix export specs [Matt Griffin]
* Merge branch 'master' of https://github.com/michaeldwan/foreman into feature/concurrency [Matt Griffin]
* default process concurrency is 0 when concurrency options specified, otherwise default concurrency is 1 [Michael Dwan]
## 0.32.0 2012-01-12 83748cb ## 0.34.1 (2012-01-16)
0.32.0 [David Dollar]
Merge pull request #125 from brainopia/master [David Dollar]
Merge pull request #121 from Viximo/feature/run [David Dollar]
Return some whitespace that was accidentally removed [Matt Griffin]
Steal the run method back from Thor so that it can be used in place for exec for running commands in the foreman environment. [Matt Griffin]
Remove old cruft [brainopia]
In case someone wants to use bin/runner directly [brainopia]
Fix for double fork [brainopia]
Use ruby exec which works with escaped cmd and replaces shell [brainopia]
Fix foreman to work with cmds containing pipes and redirects [brainopia]
Add "exec" action to allow execution of arbitrary commands with the app's environment. [Matt Griffin]
tweak readme [David Dollar]
## 0.31.0 2012-01-04 342d30b * 0.34.1 [David Dollar]
0.31.0 [David Dollar] * fix missing start desc [David Dollar]
make fork more robust [David Dollar]
remove unnecessary debug [David Dollar]
add more information when shutting down [David Dollar]
Merge pull request #110 from lstoll/master [David Dollar]
Use different port ranges for each process type [Lincoln Stoll]
## 0.30.1 2011-12-23 fcfa913 ## 0.34.0 (2012-01-16)
0.30.1 [David Dollar]
require thread for mutex [David Dollar]
## 0.30.0 2011-12-22 fc95936 * 0.34.0 [David Dollar]
0.30.0 [David Dollar] * update man page [David Dollar]
compatibility with ruby 1.8 [David Dollar] * update docs for -d [David Dollar]
* Merge pull request #101 from ndbroadbent/foreman [David Dollar]
* Wrap around to the first colour when all the colours are used [Craig R Webster]
* run specs in random order [David Dollar]
* update rspec [David Dollar]
* pedantry [David Dollar]
* Set executable bit on runit run scripts. [Matthijs Langenberg]
* Merge pull request #114 from gburt/master [David Dollar]
* add more colors [Gabriel Burt]
* Added option to specify app_root, if executing a Procfile from a shared location [Nathan Broadbent]
## 0.29.0 2011-12-22 356c61f ## 0.33.1 (2012-01-16)
0.29.0 [David Dollar]
## 0.28.0.pre2 2011-12-08 dcff4da * 0.33.1 [David Dollar]
0.28.0.pre2 [David Dollar] * Merge pull request #129 from fnichol/resolve-home-template [David Dollar]
fix pipe error [David Dollar] * Expand template path under user's home directory. [Fletcher Nichol]
## 0.28.0.pre1 2011-12-08 c7b6b33 ## 0.33.0 (2012-01-15)
0.28.0.pre1 [David Dollar]
Merge branch 'fork' [David Dollar]
wip [David Dollar]
wip [David Dollar]
wip [David Dollar]
wip [David Dollar]
wip [David Dollar]
## 0.27.0 2011-12-05 914a1ee * 0.33.0 [David Dollar]
0.27.0 [David Dollar] * Revert "Merge pull request #125 from brainopia/master" [David Dollar]
add changelog [David Dollar]
Merge pull request #103 from csquared/load_env_from_irb [David Dollar]
refactor load_env to apply_environment [Chris Continanza]
rename load! to load_env! [Chris Continanza]
use ./.env as default [Chris Continanza]
load contents from env file [Chris Continanza]
refactor engine to expose env methods [Chris Continanza]
disable email notifications [David Dollar]
add travis config [David Dollar]
## 0.26.1 2011-12-05 a5e0943 ## 0.32.0 (2012-01-12)
Merge pull request #103 from csquared/load_env_from_irb [David Dollar] * 0.32.0 [David Dollar]
refactor load_env to apply_environment [Chris Continanza] * Merge pull request #125 from brainopia/master [David Dollar]
rename load! to load_env! [Chris Continanza] * Merge pull request #121 from Viximo/feature/run [David Dollar]
use ./.env as default [Chris Continanza] * Return some whitespace that was accidentally removed [Matt Griffin]
load contents from env file [Chris Continanza] * Steal the run method back from Thor so that it can be used in place for exec for running commands in the foreman environment. [Matt Griffin]
refactor engine to expose env methods [Chris Continanza] * Remove old cruft [brainopia]
disable email notifications [David Dollar] * In case someone wants to use bin/runner directly [brainopia]
add travis config [David Dollar] * Fix for double fork [brainopia]
* Use ruby exec which works with escaped cmd and replaces shell [brainopia]
* Fix foreman to work with cmds containing pipes and redirects [brainopia]
* Add "exec" action to allow execution of arbitrary commands with the app's environment. [Matt Griffin]
* tweak readme [David Dollar]
## 0.31.0 (2012-01-04)
* 0.31.0 [David Dollar]
* make fork more robust [David Dollar]
* remove unnecessary debug [David Dollar]
* add more information when shutting down [David Dollar]
* Merge pull request #110 from lstoll/master [David Dollar]
* Use different port ranges for each process type [Lincoln Stoll]
## 0.30.1 (2011-12-23)
* 0.30.1 [David Dollar]
* require thread for mutex [David Dollar]
## 0.30.0 (2011-12-22)
* 0.30.0 [David Dollar]
* compatibility with ruby 1.8 [David Dollar]
## 0.29.0 (2011-12-22)
* 0.29.0 [David Dollar]
* 0.28.0.pre2 [David Dollar]
* fix pipe error [David Dollar]
* 0.28.0.pre1 [David Dollar]
* Merge branch 'fork' [David Dollar]
* wip [David Dollar]
* wip [David Dollar]
* wip [David Dollar]
* wip [David Dollar]
* wip [David Dollar]
## 0.27.0 (2011-12-05)
* 0.27.0 [David Dollar]
* add changelog [David Dollar]
* Merge pull request #103 from csquared/load_env_from_irb [David Dollar]
* refactor load_env to apply_environment [Chris Continanza]
* rename load! to load_env! [Chris Continanza]
* use ./.env as default [Chris Continanza]
* load contents from env file [Chris Continanza]
* refactor engine to expose env methods [Chris Continanza]
* disable email notifications [David Dollar]
* add travis config [David Dollar]
## 0.26.1 2011-12-05
* Merge pull request #103 from csquared/load_env_from_irb [David Dollar]
* refactor load_env to apply_environment [Chris Continanza]
* rename load! to load_env! [Chris Continanza]
* use ./.env as default [Chris Continanza]
* load contents from env file [Chris Continanza]
* refactor engine to expose env methods [Chris Continanza]
* disable email notifications [David Dollar]
* add travis config [David Dollar]
-3
View File
@@ -17,8 +17,5 @@ group :development do
gem 'fakefs', '~> 0.3.2' gem 'fakefs', '~> 0.3.2'
gem 'rr', '~> 1.0.2' gem 'rr', '~> 1.0.2'
gem 'rspec', '~> 2.0' gem 'rspec', '~> 2.0'
gem 'ZenTest'
gem 'aws-s3'
gem "rubyzip"
gem "simplecov", :require => false gem "simplecov", :require => false
end end
+1 -12
View File
@@ -1,19 +1,13 @@
PATH PATH
remote: . remote: .
specs: specs:
foreman (0.37.0) foreman (0.37.2)
term-ansicolor (~> 1.0.7) term-ansicolor (~> 1.0.7)
thor (>= 0.13.6) thor (>= 0.13.6)
GEM GEM
remote: http://rubygems.org/ remote: http://rubygems.org/
specs: specs:
ZenTest (4.6.2)
aws-s3 (0.6.2)
builder
mime-types
xml-simple
builder (3.0.0)
crack (0.1.8) crack (0.1.8)
diff-lcs (1.1.3) diff-lcs (1.1.3)
fakefs (0.3.2) fakefs (0.3.2)
@@ -44,7 +38,6 @@ GEM
rspec-expectations (2.8.0) rspec-expectations (2.8.0)
diff-lcs (~> 1.1.2) diff-lcs (~> 1.1.2)
rspec-mocks (2.8.0) rspec-mocks (2.8.0)
rubyzip (0.9.4)
simplecov (0.5.4) simplecov (0.5.4)
multi_json (~> 1.0.3) multi_json (~> 1.0.3)
simplecov-html (~> 0.5.3) simplecov-html (~> 0.5.3)
@@ -52,7 +45,6 @@ GEM
term-ansicolor (1.0.7) term-ansicolor (1.0.7)
thor (0.14.6) thor (0.14.6)
win32console (1.3.0-x86-mingw32) win32console (1.3.0-x86-mingw32)
xml-simple (1.0.15)
PLATFORMS PLATFORMS
java java
@@ -60,8 +52,6 @@ PLATFORMS
x86-mingw32 x86-mingw32
DEPENDENCIES DEPENDENCIES
ZenTest
aws-s3
fakefs (~> 0.3.2) fakefs (~> 0.3.2)
foreman! foreman!
parka parka
@@ -70,6 +60,5 @@ DEPENDENCIES
ronn ronn
rr (~> 1.0.2) rr (~> 1.0.2)
rspec (~> 2.0) rspec (~> 2.0)
rubyzip
simplecov simplecov
win32console (~> 1.3.0) win32console (~> 1.3.0)
+2 -1
View File
@@ -25,6 +25,7 @@ Manage Procfile-based applications
* [man page](http://ddollar.github.com/foreman) * [man page](http://ddollar.github.com/foreman)
* [wiki](http://github.com/ddollar/foreman/wiki) * [wiki](http://github.com/ddollar/foreman/wiki)
* [changelog](https://github.com/ddollar/foreman/blob/master/Changelog.md)
## Authors ## Authors
@@ -32,7 +33,7 @@ Manage Procfile-based applications
David Dollar David Dollar
#### Patches contributed by #### Patches contributed by
Adam Wiggins, Chris Continanza, Chris Lowder, Craig R Webster, Dan Farina, Dan Peterson, David Dollar, Fletcher Nichol, Gabriel Burt, Gamaliel Toro, Greg Reinacker, Hugues Le Gendre, Hunter Nield, Iain Hecker, Jay Zeschin, Keith Rarick, Khaja Minhajuddin, Lincoln Stoll, Marcos Muino Garcia, Mark McGranaghan, Matt Griffin, Matt Haynes, Matthijs Langenberg, Michael Dwan, Michael van Rooijen, Mike Javorski, Nathan Broadbent, Nathan L Smith, Nick Zadrozny, Phil Hagelberg, Ricardo Chimal, Jr, Thom May, Tom Ward, brainopia, clifff, jc00ke Adam Wiggins, Chris Continanza, Chris Lowder, Craig R Webster, Dan Farina, Dan Peterson, David Dollar, Fletcher Nichol, Florian Apolloner, Gabriel Burt, Gamaliel Toro, Greg Reinacker, Hugues Le Gendre, Hunter Nield, Iain Hecker, Jay Zeschin, Keith Rarick, Khaja Minhajuddin, Lincoln Stoll, Marcos Muino Garcia, Mark McGranaghan, Matt Griffin, Matt Haynes, Matthijs Langenberg, Michael Dwan, Michael van Rooijen, Mike Javorski, Nathan Broadbent, Nathan L Smith, Nick Zadrozny, Phil Hagelberg, Ricardo Chimal, Jr, Thom May, Tom Ward, brainopia, clifff, jc00ke
## License ## License
-1
View File
@@ -1 +0,0 @@
Autotest.add_discovery { "rspec2" }
+1 -1
View File
@@ -18,7 +18,7 @@ usage() {
while getopts ":hd:" OPT; do while getopts ":hd:" OPT; do
case $OPT in case $OPT in
d) cd $OPTARG ;; d) cd "$OPTARG" ;;
h) usage ;; h) usage ;;
\?) error "invalid option: -$OPTARG" ;; \?) error "invalid option: -$OPTARG" ;;
:) error "option -$OPTARG requires an argument" ;; :) error "option -$OPTARG requires an argument" ;;
+1
View File
@@ -1,2 +1,3 @@
ticker: ruby ./ticker $PORT ticker: ruby ./ticker $PORT
error: ruby ./error error: ruby ./error
utf8: ruby ./utf8
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env ruby
# encoding: BINARY
$stdout.sync = true
while true
puts "\u65e5\u672c\u8a9e\u6587\u5b57\u5217"
puts "\u0915\u0932\u094d\u0907\u0928\u0643\u0637\u0628\u041a\u0430\u043b\u0438\u043d\u0430"
puts "\xff\x03"
sleep 1
end
+13 -9
View File
@@ -58,7 +58,7 @@ private ######################################################################
concurrency = Foreman::Utils.parse_concurrency(@options[:concurrency]) concurrency = Foreman::Utils.parse_concurrency(@options[:concurrency])
procfile.entries.each do |entry| procfile.entries.each do |entry|
reader, writer = IO.pipe reader, writer = (IO.method(:pipe).arity == 0 ? IO.pipe : IO.pipe("BINARY"))
entry.spawn(concurrency[entry.name], writer, @directory, @environment, port_for(entry, 1, base_port)).each do |process| entry.spawn(concurrency[entry.name], writer, @directory, @environment, port_for(entry, 1, base_port)).each do |process|
running_processes[process.pid] = process running_processes[process.pid] = process
readers[process] = reader readers[process] = reader
@@ -94,19 +94,23 @@ private ######################################################################
kill_all "SIGKILL" kill_all "SIGKILL"
end end
def poll_readers
rs, ws = IO.select(readers.values, [], [], 1)
(rs || []).each do |r|
data = r.gets
next unless data
ps, message = data.split(",", 2)
color = colors[ps.split(".").first]
info message, ps, color
end
end
def watch_for_output def watch_for_output
Thread.new do Thread.new do
require "win32console" if Foreman.windows? require "win32console" if Foreman.windows?
begin begin
loop do loop do
rs, ws = IO.select(readers.values, [], [], 1) poll_readers
(rs || []).each do |r|
data = r.gets
next unless data
ps, message = data.split(",", 2)
color = colors[ps.split(".").first]
info message, ps, color
end
end end
rescue Exception => ex rescue Exception => ex
puts ex.message puts ex.message
+1 -1
View File
@@ -1,5 +1,5 @@
module Foreman module Foreman
VERSION = "0.37.0" VERSION = "0.37.2"
end end
+1 -1
View File
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3 .\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3
. .
.TH "FOREMAN" "1" "January 2012" "Foreman 0.33.1" "Foreman Manual" .TH "FOREMAN" "1" "January 2012" "Foreman 0.37.2" "Foreman Manual"
. .
.SH "NAME" .SH "NAME"
\fBforeman\fR \- manage Procfile\-based applications \fBforeman\fR \- manage Procfile\-based applications
+19
View File
@@ -83,4 +83,23 @@ describe "Foreman::Engine", :fakefs do
engine.start engine.start
end end
end end
describe "utf8" do
before(:each) do
File.open("Procfile", "w") do |file|
file.puts "utf8: #{resource_path("bin/utf8")}"
end
end
it "should spawn" do
stub(subject).watch_for_output
stub(subject).watch_for_termination
subject.start
sleep 1
mock(subject).info(/started with pid \d+/, "utf8.1", anything)
mock(subject).info("\xff\x03\n", "utf8.1", anything)
subject.send(:poll_readers)
subject.send(:poll_readers)
end
end
end end
+1 -1
View File
@@ -36,6 +36,7 @@ describe Foreman::Process do
def run_file(executable, code) def run_file(executable, code)
file = File.open("#{basedir}/script", 'w') {|it| it << code } file = File.open("#{basedir}/script", 'w') {|it| it << code }
run "#{executable} #{file.path}" run "#{executable} #{file.path}"
sleep 1
end end
context 'options' do context 'options' do
@@ -98,7 +99,6 @@ describe Foreman::Process do
trap "TERM", "IGNORE" trap "TERM", "IGNORE"
loop { sleep 1 } loop { sleep 1 }
CODE CODE
sleep 1 # wait for ruby to start
subject.should be_alive subject.should be_alive
subject.kill 'TERM' subject.kill 'TERM'
subject.should be_alive subject.should be_alive
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/env ruby
puts "\xff\x03"
+5 -1
View File
@@ -68,9 +68,13 @@ def load_export_templates_into_fakefs(type)
end end
end end
def resource_path(filename)
File.expand_path("../resources/#{filename}", __FILE__)
end
def example_export_file(filename) def example_export_file(filename)
FakeFS.deactivate! FakeFS.deactivate!
data = File.read(File.expand_path("../resources/export/#{filename}", __FILE__)) data = File.read(File.expand_path(resource_path("export/#{filename}"), __FILE__))
FakeFS.activate! FakeFS.activate!
data data
end end
+5 -6
View File
@@ -21,7 +21,7 @@ end
GEM_BLACKLIST = %w( bundler foreman ) GEM_BLACKLIST = %w( bundler foreman )
def assemble_gems(target_dir=Dir.pwd) def assemble_gems(target_dir=Dir.pwd)
lines = %x{ bundle show }.strip.split("\n") lines = %x{ cd #{project_root} && bundle show }.strip.split("\n")
raise "error running bundler" unless $?.success? raise "error running bundler" unless $?.success?
%x{ env BUNDLE_WITHOUT="development:test" bundle show }.split("\n").each do |line| %x{ env BUNDLE_WITHOUT="development:test" bundle show }.split("\n").each do |line|
@@ -47,8 +47,7 @@ def distribution_files(type=nil)
require "foreman/distribution" require "foreman/distribution"
base_files = Foreman::Distribution.files base_files = Foreman::Distribution.files
type_files = type ? type_files = type ?
Dir[File.expand_path("../dist/resources/#{type}/**/*", __FILE__)] : Dir[File.expand_path("../../dist/resources/#{type}/**/*", __FILE__)] : []
[]
base_files.concat(type_files) base_files.concat(type_files)
end end
@@ -60,15 +59,15 @@ def mkchdir(dir)
end end
def pkg(filename) def pkg(filename)
File.expand_path("../pkg/#{filename}", __FILE__) File.expand_path("../../pkg/#{filename}", __FILE__)
end end
def project_root def project_root
File.dirname(__FILE__) File.expand_path("../..", __FILE__)
end end
def resource(name) def resource(name)
File.expand_path("../dist/resources/#{name}", __FILE__) File.expand_path("../../dist/resources/#{name}", __FILE__)
end end
def s3_connect def s3_connect
+24 -31
View File
@@ -9,8 +9,8 @@ end
desc "Commit the manual to git" desc "Commit the manual to git"
task "man:commit" => :man do task "man:commit" => :man do
sh "git add README.markdown" sh "git add README.md"
sh "git commit -m 'update readme' || echo 'nothing to commit'" sh "git commit -am 'update docs' || echo 'nothing to commit'"
end end
desc "Generate the Github docs" desc "Generate the Github docs"
@@ -30,52 +30,45 @@ end
desc "Generate an authors list" desc "Generate an authors list"
task :authors do task :authors do
authors = %x{ git log --pretty=format:"%an" | sort -u }.split("\n") authors = %x{ git log --pretty=format:"%an" | sort -u }.split("\n")
puts authors.join(", ") readme = File.read("README.md")
readme.gsub!(/#### Patches contributed by\n([^\n]*)\n/m, "#### Patches contributed by\n#{authors.join(", ")}\n")
File.open("README.md", "w") { |f| f.print readme }
end end
def latest_release def latest_release
latest = File.read("Changelog.md").split("\n").first.split(" ").last latest = File.read("Changelog.md").split("\n").first.split(" ")[1]
end end
def newer_release def newer_release
release = %x{ git tag --contains #{latest_release} }.split("\n")[1] tags = %x{ git tag --contains v#{latest_release} }.split("\n").sort_by do |tag|
Gem::Version.new(tag[1..-1])
end
tags.reject { |tag| Gem::Version.new(tag[1..-1]).prerelease? }[1]
end end
desc "Generate a Changelog" desc "Generate a Changelog"
task :changelog do task :changelog do
while release = newer_release while release = newer_release
entry = %x{ git show --format="%h %cd" #{release} | head -n 1 } entry = %x{ git show --format="%cd" #{release} | head -n 1 }
commit, date_raw = entry.split(" ", 2) date = Time.parse(entry.chomp).strftime("%Y-%m-%d")
date = Time.parse(date_raw).strftime("%Y-%m-%d")
message = "## #{release[1..-1]} #{date} #{commit}\n" message = "## #{release[1..-1]} (#{date})\n\n"
message += %x{ git log --format="%s [%an]" #{latest_release}..#{release} } message += %x{ git log --format="* %s [%an]" v#{latest_release}..#{release} }
changelog = File.read("Changelog.md") changelog = File.read("Changelog.md")
changelog = message + "\n" + changelog changelog = message + "\n" + changelog
puts release
File.open("Changelog.md", "w") do |file| File.open("Changelog.md", "w") do |file|
file.puts changelog file.print changelog
end end
end end
end
# date = desc "Cut a release"
# message = "## #{release[1..-1]} task :release do
# timestamp = Time.now.utc.strftime('%m/%d/%Y') Rake::Task["authors"].invoke
# sha = `git log | head -1`.split(' ').last Rake::Task["changelog"].invoke
# changelog = ["#{version} #{timestamp} #{sha}"] Rake::Task["pages"].invoke
# changelog << ('=' * changelog[0].length)
# changelog << ''
# last_sha = `cat Changelog | head -1`.split(' ').last
# shortlog = `git log #{last_sha}..HEAD --pretty=format:'%s [%an]'`
# changelog << shortlog.split("\n")
# changelog.concat ['', '', '']
# old_changelog = File.read('Changelog')
# File.open('Changelog', 'w') do |file|
# file.write(changelog.join("\n"))
# file.write(old_changelog)
# end
end end