mortar 0.8.4 → 0.8.5

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.
@@ -26,7 +26,17 @@ class Mortar::Command::Local < Mortar::Command::Base
26
26
  #
27
27
  # Install dependencies for running this mortar project locally - other mortar:local commands will also perform this step automatically.
28
28
  #
29
+ # --project-root PROJECTDIR # The root directory of the project if not the CWD
30
+ #
29
31
  def configure
32
+
33
+ # cd into the project root
34
+ project_root = options[:project_root] ||= Dir.getwd
35
+ unless File.directory?(project_root)
36
+ error("No such directory #{project_root}")
37
+ end
38
+ Dir.chdir(project_root)
39
+
30
40
  ctrl = Mortar::Local::Controller.new
31
41
  ctrl.install_and_configure
32
42
  end
@@ -37,6 +47,7 @@ class Mortar::Command::Local < Mortar::Command::Base
37
47
  #
38
48
  # -p, --parameter NAME=VALUE # Set a pig parameter value in your script.
39
49
  # -f, --param-file PARAMFILE # Load pig parameter values from a file.
50
+ # --project-root PROJECTDIR # The root directory of the project if not the CWD
40
51
  #
41
52
  #Examples:
42
53
  #
@@ -48,6 +59,14 @@ class Mortar::Command::Local < Mortar::Command::Base
48
59
  error("Usage: mortar local:run SCRIPT\nMust specify SCRIPT.")
49
60
  end
50
61
  validate_arguments!
62
+
63
+ # cd into the project root
64
+ project_root = options[:project_root] ||= Dir.getwd
65
+ unless File.directory?(project_root)
66
+ error("No such directory #{project_root}")
67
+ end
68
+ Dir.chdir(project_root)
69
+
51
70
  script = validate_script!(script_name)
52
71
  ctrl = Mortar::Local::Controller.new
53
72
  ctrl.run(script, pig_parameters)
@@ -63,6 +82,7 @@ class Mortar::Command::Local < Mortar::Command::Base
63
82
  # -p, --parameter NAME=VALUE # Set a pig parameter value in your script.
64
83
  # -f, --param-file PARAMFILE # Load pig parameter values from a file.
65
84
  # --no_browser # Don't open the illustrate results automatically in the browser.
85
+ # --project-root PROJECTDIR # The root directory of the project if not the CWD
66
86
  #
67
87
  # Examples:
68
88
  #
@@ -77,6 +97,13 @@ class Mortar::Command::Local < Mortar::Command::Base
77
97
  error("Usage: mortar local:illustrate PIGSCRIPT [ALIAS]\nMust specify PIGSCRIPT.")
78
98
  end
79
99
 
100
+ # cd into the project root
101
+ project_root = options[:project_root] ||= Dir.getwd
102
+ unless File.directory?(project_root)
103
+ error("No such directory #{project_root}")
104
+ end
105
+ Dir.chdir(project_root)
106
+
80
107
  validate_arguments!
81
108
  pigscript = validate_pigscript!(pigscript_name)
82
109
 
@@ -91,6 +118,7 @@ class Mortar::Command::Local < Mortar::Command::Base
91
118
  #
92
119
  # -p, --parameter NAME=VALUE # Set a pig parameter value in your script.
93
120
  # -f, --param-file PARAMFILE # Load pig parameter values from a file.
121
+ # --project-root PROJECTDIR # The root directory of the project if not the CWD
94
122
  #
95
123
  #Examples:
96
124
  #
@@ -102,6 +130,14 @@ class Mortar::Command::Local < Mortar::Command::Base
102
130
  error("Usage: mortar local:validate SCRIPT\nMust specify SCRIPT.")
103
131
  end
104
132
  validate_arguments!
133
+
134
+ # cd into the project root
135
+ project_root = options[:project_root] ||= Dir.getwd
136
+ unless File.directory?(project_root)
137
+ error("No such directory #{project_root}")
138
+ end
139
+ Dir.chdir(project_root)
140
+
105
141
  script = validate_script!(script_name)
106
142
  ctrl = Mortar::Local::Controller.new
107
143
  ctrl.validate(script, pig_parameters)
@@ -16,5 +16,5 @@
16
16
 
17
17
  module Mortar
18
18
  # see http://semver.org/
19
- VERSION = "0.8.4"
19
+ VERSION = "0.8.5"
20
20
  end
@@ -106,6 +106,11 @@ STDERR
106
106
 
107
107
  context("configure") do
108
108
 
109
+ it "errors if the project root doesn't exist or we can't cd there" do
110
+ stderr, stdout = execute("local:configure --project-root /foo/baz")
111
+ stderr.should == " ! No such directory /foo/baz\n"
112
+ end
113
+
109
114
  it "errors if java can't be found" do
110
115
  any_instance_of(Mortar::Local::Java) do |j|
111
116
  stub(j).check_install.returns(false)
metadata CHANGED
@@ -1,167 +1,164 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mortar
3
- version: !ruby/object:Gem::Version
4
- version: 0.8.4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 53
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 8
9
+ - 5
10
+ version: 0.8.5
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Mortar Data
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-06-07 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-06-10 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: mortar-api-ruby
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: 0.6.3
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
- requirements:
25
+ requirements:
27
26
  - - ~>
28
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ hash: 1
29
+ segments:
30
+ - 0
31
+ - 6
32
+ - 3
29
33
  version: 0.6.3
30
- - !ruby/object:Gem::Dependency
31
- name: netrc
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ~>
36
- - !ruby/object:Gem::Version
37
- version: '0.7'
38
34
  type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: netrc
39
38
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
41
+ requirements:
43
42
  - - ~>
44
- - !ruby/object:Gem::Version
45
- version: '0.7'
46
- - !ruby/object:Gem::Dependency
47
- name: launchy
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: '2.1'
43
+ - !ruby/object:Gem::Version
44
+ hash: 5
45
+ segments:
46
+ - 0
47
+ - 7
48
+ version: "0.7"
54
49
  type: :runtime
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: launchy
55
53
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
54
+ requirement: &id003 !ruby/object:Gem::Requirement
57
55
  none: false
58
- requirements:
56
+ requirements:
59
57
  - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '2.1'
62
- - !ruby/object:Gem::Dependency
58
+ - !ruby/object:Gem::Version
59
+ hash: 1
60
+ segments:
61
+ - 2
62
+ - 1
63
+ version: "2.1"
64
+ type: :runtime
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
63
67
  name: excon
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: '0.15'
70
- type: :development
71
68
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '0.15'
78
- - !ruby/object:Gem::Dependency
79
- name: fakefs
80
- requirement: !ruby/object:Gem::Requirement
69
+ requirement: &id004 !ruby/object:Gem::Requirement
81
70
  none: false
82
- requirements:
71
+ requirements:
83
72
  - - ~>
84
- - !ruby/object:Gem::Version
85
- version: 0.4.2
73
+ - !ruby/object:Gem::Version
74
+ hash: 21
75
+ segments:
76
+ - 0
77
+ - 15
78
+ version: "0.15"
86
79
  type: :development
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: fakefs
87
83
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
84
+ requirement: &id005 !ruby/object:Gem::Requirement
89
85
  none: false
90
- requirements:
86
+ requirements:
91
87
  - - ~>
92
- - !ruby/object:Gem::Version
88
+ - !ruby/object:Gem::Version
89
+ hash: 11
90
+ segments:
91
+ - 0
92
+ - 4
93
+ - 2
93
94
  version: 0.4.2
94
- - !ruby/object:Gem::Dependency
95
- name: gem-release
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
95
  type: :development
96
+ version_requirements: *id005
97
+ - !ruby/object:Gem::Dependency
98
+ name: gem-release
103
99
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: rake
112
- requirement: !ruby/object:Gem::Requirement
100
+ requirement: &id006 !ruby/object:Gem::Requirement
113
101
  none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ hash: 3
106
+ segments:
107
+ - 0
108
+ version: "0"
118
109
  type: :development
110
+ version_requirements: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
119
113
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rr
128
- requirement: !ruby/object:Gem::Requirement
114
+ requirement: &id007 !ruby/object:Gem::Requirement
129
115
  none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ hash: 3
120
+ segments:
121
+ - 0
122
+ version: "0"
134
123
  type: :development
124
+ version_requirements: *id007
125
+ - !ruby/object:Gem::Dependency
126
+ name: rr
135
127
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
128
+ requirement: &id008 !ruby/object:Gem::Requirement
137
129
  none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- - !ruby/object:Gem::Dependency
143
- name: rspec
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '0'
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 0
136
+ version: "0"
150
137
  type: :development
138
+ version_requirements: *id008
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
151
141
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
142
+ requirement: &id009 !ruby/object:Gem::Requirement
153
143
  none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ hash: 3
148
+ segments:
149
+ - 0
150
+ version: "0"
151
+ type: :development
152
+ version_requirements: *id009
158
153
  description: Client library and command-line tool to interact with the Mortar service.
159
154
  email: support@mortardata.com
160
- executables:
155
+ executables:
161
156
  - mortar
162
157
  extensions: []
158
+
163
159
  extra_rdoc_files: []
164
- files:
160
+
161
+ files:
165
162
  - README.md
166
163
  - bin/mortar
167
164
  - css/illustrate.css
@@ -252,26 +249,38 @@ files:
252
249
  - spec/support/display_message_matcher.rb
253
250
  homepage: http://mortardata.com/
254
251
  licenses: []
252
+
255
253
  post_install_message:
256
254
  rdoc_options: []
257
- require_paths:
255
+
256
+ require_paths:
258
257
  - lib
259
- required_ruby_version: !ruby/object:Gem::Requirement
258
+ required_ruby_version: !ruby/object:Gem::Requirement
260
259
  none: false
261
- requirements:
262
- - - ! '>='
263
- - !ruby/object:Gem::Version
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ hash: 57
264
+ segments:
265
+ - 1
266
+ - 8
267
+ - 7
264
268
  version: 1.8.7
265
- required_rubygems_version: !ruby/object:Gem::Requirement
269
+ required_rubygems_version: !ruby/object:Gem::Requirement
266
270
  none: false
267
- requirements:
268
- - - ! '>='
269
- - !ruby/object:Gem::Version
270
- version: '0'
271
+ requirements:
272
+ - - ">="
273
+ - !ruby/object:Gem::Version
274
+ hash: 3
275
+ segments:
276
+ - 0
277
+ version: "0"
271
278
  requirements: []
279
+
272
280
  rubyforge_project:
273
- rubygems_version: 1.8.23
281
+ rubygems_version: 1.8.24
274
282
  signing_key:
275
283
  specification_version: 3
276
284
  summary: Client library and CLI to interact with the Mortar service.
277
285
  test_files: []
286
+