mina 0.1.2 → 0.1.3.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|