mina 0.1.2 → 0.1.3.pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.md +30 -24
- data/lib/mina/helpers.rb +4 -0
- data/lib/mina/output_helpers.rb +1 -0
- data/lib/mina/rails.rb +78 -19
- data/lib/mina/version.rb +1 -1
- metadata +5 -5
data/HISTORY.md
CHANGED
@@ -1,37 +1,43 @@
|
|
1
|
-
v0.1.
|
2
|
-
|
1
|
+
v0.1.3 - Jul 13, 2012 (Unreleased)
|
2
|
+
----------------------------------
|
3
3
|
|
4
4
|
### Fixed:
|
5
|
-
*
|
6
|
-
*
|
5
|
+
* [pre1] Respect the `bundle_bin` setting when doing `bundle exec` in Rails commands. (#29)
|
6
|
+
* [pre1] Doing `rails:assets_precompile` now properly skips asset compilation if not needed. (#25)
|
7
|
+
|
8
|
+
### Added:
|
9
|
+
* [pre1] Doing `rails:db_migrate` now skips doing migrations if they're not needed. (#18)
|
10
|
+
* [pre1] Added the `mina console` command for Rails.
|
11
|
+
* [pre1] Make asset paths configurable using the `asset_paths` setting.
|
7
12
|
|
8
13
|
### Changed:
|
9
|
-
* Refactor pretty printing to be simpler, cleaner, and extensible.
|
10
|
-
* Show prettier abort messages when ^C'd.
|
11
|
-
* Use the new error message format. (See lib/mina/output_helpers.rb)
|
14
|
+
* [pre1] Refactor pretty printing to be simpler, cleaner, and extensible.
|
15
|
+
* [pre1] Show prettier abort messages when ^C'd.
|
12
16
|
|
13
|
-
v0.1.2
|
14
|
-
|
17
|
+
v0.1.2 - Jul 06, 2012
|
18
|
+
---------------------
|
15
19
|
|
16
|
-
|
17
|
-
* Add `:bundle_bin` option.
|
18
|
-
* Add `:ssh` port option.
|
20
|
+
This release had two prereleases: v0.1.2.pre1 and v0.1.2.pre2.
|
19
21
|
|
20
22
|
### Fixed:
|
21
|
-
*
|
22
|
-
*
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
* __Show stdout output properly on deploy.__
|
24
|
+
* 'mina rake' now works.
|
25
|
+
* [.pre2] __Fix `deploy:link_shared_paths` to use absolute paths.__
|
26
|
+
* [.pre2] Fix console logs for task init.
|
27
|
+
* [.pre1] __Fixed JRuby support.__
|
28
|
+
* [.pre1] __Respect .bashrc.__ (#5)
|
26
29
|
|
27
|
-
###
|
28
|
-
*
|
29
|
-
*
|
30
|
+
### Added:
|
31
|
+
* [.pre2] Add `:bundle_bin` option.
|
32
|
+
* [.pre2] Add `:ssh` port option.
|
30
33
|
|
31
|
-
### Changed:
|
32
|
-
*
|
33
|
-
*
|
34
|
-
*
|
34
|
+
### Changed: (v0.1.2)
|
35
|
+
* Refactor pretty printing to be simpler, cleaner, and extensible.
|
36
|
+
* Show prettier abort messages when ^C'd.
|
37
|
+
* Use the new error message format. (See lib/mina/output_helpers.rb)
|
38
|
+
* [.pre1] Implement `ssh("..", return: true)`.
|
39
|
+
* [.pre1] Rename `simulate_mode` to `simulate_mode?`. Same with `verbose_mode?`.
|
40
|
+
* [.pre1] Show the SSH command in the simulation output.
|
35
41
|
|
36
42
|
v0.1.1 - Jun 07, 2012
|
37
43
|
---------------------
|
data/lib/mina/helpers.rb
CHANGED
data/lib/mina/output_helpers.rb
CHANGED
data/lib/mina/rails.rb
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
+
require 'mina/bundler'
|
2
|
+
|
1
3
|
settings.rails_env ||= 'production'
|
2
4
|
# TODO: This should be lambda
|
3
|
-
settings.bundle_prefix ||= lambda { %{RAILS_ENV="#{rails_env}"
|
5
|
+
settings.bundle_prefix ||= lambda { %{RAILS_ENV="#{rails_env}" #{bundle_bin} exec} }
|
4
6
|
settings.rake ||= lambda { %{#{bundle_prefix} rake} }
|
5
7
|
settings.rails ||= lambda { %{#{bundle_prefix} rails} }
|
8
|
+
settings.asset_paths ||= ['vendor/assets/', 'app/assets/']
|
6
9
|
|
7
10
|
# Macro used later by :rails, :rake, etc
|
8
11
|
make_run_task = lambda { |name, sample_args|
|
@@ -17,15 +20,70 @@ make_run_task = lambda { |name, sample_args|
|
|
17
20
|
end
|
18
21
|
}
|
19
22
|
|
23
|
+
def check_for_changes_script(options={})
|
24
|
+
diffs = options[:at].map { |path|
|
25
|
+
%[diff -r "#{deploy_to}/#{current_path}/#{path}" "./#{path}" 2>/dev/null]
|
26
|
+
}.join("\n")
|
27
|
+
|
28
|
+
unindent %[
|
29
|
+
if [ -e "#{deploy_to}/#{current_path}/#{options[:check]}" ]; then
|
30
|
+
count=`(
|
31
|
+
#{reindent 4, diffs}
|
32
|
+
) | wc -l`
|
33
|
+
|
34
|
+
if [ "$((count))" = "0" ]; then
|
35
|
+
#{reindent 4, options[:skip]} &&
|
36
|
+
exit
|
37
|
+
else
|
38
|
+
#{reindent 4, options[:changed]}
|
39
|
+
fi
|
40
|
+
else
|
41
|
+
#{reindent 2, options[:default]}
|
42
|
+
fi
|
43
|
+
]
|
44
|
+
end
|
45
|
+
|
20
46
|
desc "Execute a Rails command in the current deploy."
|
21
47
|
make_run_task[:rails, 'console']
|
22
48
|
|
23
49
|
desc "Execute a Rake command in the current deploy."
|
24
50
|
make_run_task[:rake, 'db:migrate']
|
25
51
|
|
52
|
+
desc "Starts an interactive console."
|
53
|
+
task :console do
|
54
|
+
queue echo_cmd %[cd "#{deploy_to!}/#{current_path!}" && #{rails} console]
|
55
|
+
end
|
56
|
+
|
26
57
|
namespace :rails do
|
27
|
-
desc "Migrates the Rails database."
|
58
|
+
desc "Migrates the Rails database (skips if nothing has changed since the last release)."
|
28
59
|
task :db_migrate do
|
60
|
+
if ENV['force_migrate']
|
61
|
+
invoke :'rails:db_migrate:force'
|
62
|
+
return
|
63
|
+
end
|
64
|
+
|
65
|
+
message = verbose_mode? ?
|
66
|
+
'$((count)) changes found, migrating database' :
|
67
|
+
'Migrating database'
|
68
|
+
|
69
|
+
queue check_for_changes_script \
|
70
|
+
check: 'db/schema.rb',
|
71
|
+
at: ['db/schema.rb'],
|
72
|
+
skip: %[
|
73
|
+
echo "-----> DB schema unchanged; skipping DB migration"
|
74
|
+
],
|
75
|
+
changed: %[
|
76
|
+
echo "-----> #{message}"
|
77
|
+
#{echo_cmd %[#{rake} db:migrate]}
|
78
|
+
],
|
79
|
+
default: %[
|
80
|
+
echo "-----> Migrating database"
|
81
|
+
#{echo_cmd %[#{rake} db:migrate]}
|
82
|
+
]
|
83
|
+
end
|
84
|
+
|
85
|
+
desc "Migrates the Rails database."
|
86
|
+
task :'db_migrate:force' do
|
29
87
|
queue %{
|
30
88
|
echo "-----> Migrating database"
|
31
89
|
#{echo_cmd %[#{rake} db:migrate]}
|
@@ -47,24 +105,25 @@ namespace :rails do
|
|
47
105
|
return
|
48
106
|
end
|
49
107
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
count=`(
|
54
|
-
diff -r "#{current_path}/vendor/assets/" "./vendor/assets/" 2>/dev/null;
|
55
|
-
diff -r "#{current_path}/app/assets/" "./app/assets/" 2>/dev/null
|
56
|
-
) | wc -l`
|
57
|
-
|
58
|
-
if [ "$((count))" = "0" ]; then
|
59
|
-
echo "-----> Skipping asset precompilation"
|
60
|
-
#{echo_cmd %[cp -R "#{current_path}/public/assets" "./public/assets"]} &&
|
61
|
-
exit
|
62
|
-
fi
|
63
|
-
fi
|
108
|
+
message = verbose_mode? ?
|
109
|
+
'$((count)) changes found, precompiling asset files' :
|
110
|
+
'Precompiling asset files'
|
64
111
|
|
65
|
-
|
66
|
-
|
67
|
-
|
112
|
+
queue check_for_changes_script \
|
113
|
+
check: 'public/assets/',
|
114
|
+
at: [*asset_paths],
|
115
|
+
skip: %[
|
116
|
+
echo "-----> Skipping asset precompilation"
|
117
|
+
#{echo_cmd %[cp -R "#{deploy_to}/#{current_path}/public/assets" "./public/assets"]}
|
118
|
+
],
|
119
|
+
changed: %[
|
120
|
+
echo "-----> #{message}"
|
121
|
+
#{echo_cmd %[#{rake} assets:precompile]}
|
122
|
+
],
|
123
|
+
default: %[
|
124
|
+
echo "-----> Precompiling asset files"
|
125
|
+
#{echo_cmd %[#{rake} assets:precompile]}
|
126
|
+
]
|
68
127
|
end
|
69
128
|
|
70
129
|
end
|
data/lib/mina/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mina
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.3.pre1
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Rico Sta. Cruz
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-07-
|
13
|
+
date: 2012-07-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -125,9 +125,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
125
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
126
|
none: false
|
127
127
|
requirements:
|
128
|
-
- - ! '
|
128
|
+
- - ! '>'
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
130
|
+
version: 1.3.1
|
131
131
|
requirements: []
|
132
132
|
rubyforge_project:
|
133
133
|
rubygems_version: 1.8.23
|