fontana_client_support 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9cec5bc5e9f37dacf46a8061e9dad4ebbe41dcb
4
- data.tar.gz: 05effcbe5e02a50bb435b736d674c06447dc3fc8
3
+ metadata.gz: 32de00430365d7865f4ae1d9358c4465767bcd86
4
+ data.tar.gz: 5872211dd0a0ca9743e1478155053b28cf6fbe1c
5
5
  SHA512:
6
- metadata.gz: 466b2ffe6398cb88ed07029d88dd8a01e8d3036d1401cfd45cdea746f4e1d6819043ff33e2d407bf044e9c037c47775c2652c541c8c7daff13a6794ae6e74d93
7
- data.tar.gz: 88aac68f52270f3d4deaac0b0a25406563b56c0b29678977f2ea6c7f5ba2093c61771d87767f735d5c17588fbfe92b7b8f8080b9fcb0e98380129ea2eee8d3a2
6
+ metadata.gz: a6a0ecca172127313f4cf511ecdea9870e15d1720d20090a72ce555188e160176170637b8f9677a55ef9e4a7780c92e532f41976b28d9ae4a399aab1df7c30ef
7
+ data.tar.gz: 361fe52894855f7296d3e7c815505ccf081b9febf3a14e62a965c0cf5cb9ab4d9434d53e49c4f55f1aa318b27965bd9aad3e6a646bdc385620e1f9a8d2bcadfd
@@ -6,9 +6,11 @@ namespace :clear do
6
6
  task :all => [:"db:drop:all", :"vendor:fontana:clear"] do
7
7
  Dir.chdir(FontanaClientSupport.root_dir) do
8
8
  if `git diff`.strip.empty?
9
- puts "\e[32mOK"
9
+ puts "\e[32mOK\e[0m"
10
10
  else
11
- puts "\e[31mThere is/are different(s). Please, commit and/or revert your changes.\n" << `git status` << "\e[0m"
11
+ puts "\e[33mWARNING! There is/are different(s) from repository." <<
12
+ "If you want to make the same environment as repository, commit and/or discard your changes.\e[0m\n" <<
13
+ `git status`
12
14
  end
13
15
  end
14
16
  end
@@ -155,4 +155,9 @@ namespace :servers do
155
155
 
156
156
  desc "restart development HTTP+HTTPS server daemons"
157
157
  task :restart => :"development:servers:restart"
158
+
159
+ namespace :stop do
160
+ desc "stop all HTTP+HTTPS server daemons"
161
+ task :all => [:"development:servers:stop", :"test:servers:stop"]
162
+ end
158
163
  end
@@ -25,11 +25,22 @@ namespace :vendor do
25
25
  end
26
26
  end
27
27
 
28
+ def vendor_fontana_branch
29
+ `git status`.scan(/On branch\s*(.+)\s*$/).flatten.first
30
+ end
31
+
32
+ def raise_if_fontana_branch_empty
33
+ if Fontana.branch.nil? || Fontana.branch.empty?
34
+ # FONTANA_BRANCHがnilならmasterが設定されているはずです
35
+ raise "\e[31mInvalid FONTANA_BRANCH: #{ENV['FONTANA_BRANCH'].inspect}. Please set valid value or unset FONTANA_BRANCH.\e[0m"
36
+ end
37
+ end
38
+
28
39
  task :version do
29
40
  puts vendor_fontana_version
30
41
  end
31
42
 
32
- task :clear do
43
+ task :clear => :"servers:stop:all" do
33
44
  d = FontanaClientSupport.vendor_fontana
34
45
  fileutils.rm_rf(d) if Dir.exist?(d)
35
46
  end
@@ -51,16 +62,15 @@ namespace :vendor do
51
62
  ]
52
63
 
53
64
  task :clone do
65
+ raise_if_fontana_branch_empty
54
66
  raise "$FONTANA_REPO_URL is required" unless Fontana.repo_url
55
67
  fileutils.mkdir_p(FontanaClientSupport.vendor_dir)
56
68
  fileutils.chdir(FontanaClientSupport.root_dir) do
57
- system!("git clone #{Fontana.repo_url} vendor/fontana")
69
+ system!("git clone #{Fontana.repo_url} vendor/fontana -b #{Fontana.branch}")
58
70
  end
59
71
  fileutils.chdir(FontanaClientSupport.vendor_fontana) do
60
- if Fontana.version
72
+ unless Fontana.version.nil? || Fontana.version.empty?
61
73
  system!("git checkout master && git reset --hard #{Fontana.version}")
62
- else
63
- system!("git checkout #{Fontana.branch}")
64
74
  end
65
75
  end
66
76
  end
@@ -111,18 +121,47 @@ namespace :vendor do
111
121
  task_sequential :reset, [:"vendor:fontana:clear", :"vendor:fontana:setup"]
112
122
 
113
123
  task :prepare do
114
- if vfv = vendor_fontana_version
115
- if vfv == Fontana.version
116
- puts "\e[32m#{Fontana.version} is already used.\e[0m"
117
- else
118
- puts "\e[33m#{vfv} is used but FONTANA_VERSION is #{Fontana.version}\e[0m"
119
- # name = Dir.exist?(FontanaClientSupport.vendor_fontana) ? "update" : "reset"
120
- # Rake::Task["vendor:fontana:#{name}"].delegate
121
- Rake::Task["vendor:fontana:reset"].delegate
124
+ raise_if_fontana_branch_empty
125
+
126
+ vfb = vendor_fontana_branch
127
+ vfv = vendor_fontana_version
128
+
129
+ puts "vendor/fontana branch: #{vfb.inspect} version: #{vfv.inspect}"
130
+ puts " required branch: #{Fontana.branch.inspect} version: #{Fontana.version.inspect}"
131
+
132
+ if !Dir.exist?(FontanaClientSupport.vendor_fontana)
133
+ # vendor/fontana が存在しない場合
134
+ puts "\e[34mvendor/fontana does not exist.\e[0m"
135
+ Rake::Task["vendor:fontana:reset"].delegate
136
+
137
+ elsif vfb != Fontana.branch
138
+ # vendor/fontanaのブランチが FONTANA_BRANCH と異なる場合
139
+ puts "\e[33m but FONTANA_BRANCH is #{Fontana.branch}\e[0m"
140
+ Rake::Task["vendor:fontana:reset"].delegate
141
+
142
+ elsif Fontana.version.nil? || Fontana.version.empty?
143
+ # FONTANA_BRANCHとvendor/fontanaのブランチが同じで、FONTANA_VERSIONが指定されていない場合
144
+ puts "\e[34mvendor/fontana's branch is #{vfb} as same as FONTANA_BRANCH. Now pulling origin #{vfb.inspect} \e[0m"
145
+ fileutils.chdir(FontanaClientSupport.vendor_fontana) do
146
+ system!("git pull origin #{Fontana.branch}; git status")
122
147
  end
123
- else
148
+
149
+ elsif vfv.nil?
150
+ # FONTANA_BRANCHとvendor/fontanaのブランチが同じで、vendor/fontanaのバージョンが取得できない場合
124
151
  puts "\e[33mversion not found in vendor/fontana\e[0m"
125
152
  Rake::Task["vendor:fontana:reset"].delegate
153
+
154
+ elsif vfv == Fontana.version
155
+ # FONTANA_BRANCHとvendor/fontanaのブランチが同じで、FONTANA_VERSIONが指定されていて、vendor/fontanaのバージョンと同じものの場合
156
+ puts "\e[32m#{Fontana.version} is already used.\e[0m"
157
+
158
+ else
159
+ # FONTANA_BRANCHとvendor/fontanaのブランチが同じで、FONTANA_VERSIONが指定されていて、vendor/fontanaのバージョンと異なる場合
160
+ puts "\e[33m#{vfv} is used but FONTANA_VERSION is #{Fontana.version}\e[0m"
161
+ # name = Dir.exist?(FontanaClientSupport.vendor_fontana) ? "update" : "reset"
162
+ # Rake::Task["vendor:fontana:#{name}"].delegate
163
+ Rake::Task["vendor:fontana:reset"].delegate
164
+
126
165
  end
127
166
  end
128
167
 
@@ -1,3 +1,3 @@
1
1
  module FontanaClientSupport
2
- VERSION = "0.7.0"
2
+ VERSION = "0.7.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fontana_client_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - akima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-10 00:00:00.000000000 Z
11
+ date: 2013-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler