ebm 0.0.25 → 0.0.26
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/commands/commit.rb +9 -4
- data/lib/commands/configs.rb +9 -4
- data/lib/commands/prepare.rb +16 -4
- data/lib/commands/pull.rb +16 -7
- data/lib/commands/push.rb +10 -5
- data/lib/commands/status.rb +1 -1
- data/lib/commands/tag.rb +2 -2
- data/lib/commands/version.rb +34 -0
- data/lib/commands.rb +2 -0
- data/lib/ebm.rb +1 -0
- data/lib/ebmsharedlib/utilities.rb +115 -27
- data/lib/info.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
SHA512:
|
3
|
-
metadata.gz: 786ec8b4b779ca4b493caf7b33be605b8f7153d5aa8c1734f3ff014b586a64757d4695fd1d1bd033f9c539b44a7994ad6cabc535f8156872cc5ff3978db921c2
|
4
|
-
data.tar.gz: 5fc4701500b320c735e5fe127dc227281ebb938dafd5588a8e31ffa13daeec0ea41fbf0e52fc75f5f629534609b17296ad2c6da5fd51e36da8d83806551c3050
|
5
2
|
SHA1:
|
6
|
-
|
7
|
-
|
3
|
+
data.tar.gz: 9d440012f03a9075aa9f82058fee617d8635e90b
|
4
|
+
metadata.gz: 76bf9f7a8da9a5feaf71b31315aa3fc288252bd4
|
5
|
+
SHA512:
|
6
|
+
data.tar.gz: 3c0f5409c5bc890ead4d55696427ba88bea60683beb10590803cccf84cf9b522e00c17800ab1c65140718ed6a2df327635ba94beaa3a3e901547811580bec0dd
|
7
|
+
metadata.gz: 0951e0740b50371084f6d00f028a9dbb04acad054394ecc77de3955bad64e22ec8d5e25ef8ac87b80acc0b069a1d1e3e37b77991a103d06d9a8459ecf80a3d43
|
data/lib/commands/commit.rb
CHANGED
@@ -34,9 +34,13 @@ module Commands
|
|
34
34
|
options[:comment] = v
|
35
35
|
end
|
36
36
|
|
37
|
-
opts.on("--add", "Also add all new files.") do |v|
|
37
|
+
opts.on('-a', "--add", "Also add all new files.") do |v|
|
38
38
|
options[:add] = v
|
39
39
|
end
|
40
|
+
|
41
|
+
opts.on('-n', "--dry-run", "Perform a dry run.") do |v|
|
42
|
+
options[:dry_run] = v
|
43
|
+
end
|
40
44
|
end
|
41
45
|
|
42
46
|
def run(global_options)
|
@@ -45,13 +49,14 @@ module Commands
|
|
45
49
|
# the file is expected to be in JSON format
|
46
50
|
comment = options[:comment]
|
47
51
|
add = !!options[:add]
|
52
|
+
dry_run = !!options[:dry_run] ? "--dry-run" : ""
|
48
53
|
|
49
54
|
if ARGV.length > 0
|
50
55
|
raise "You must specify all arguments with their options."
|
51
56
|
end
|
52
57
|
|
53
58
|
# get config based on name of current dir
|
54
|
-
info = EbmSharedLib.get_config_from_top_dir
|
59
|
+
info = EbmSharedLib.get_config_from_top_dir
|
55
60
|
|
56
61
|
# Back up to version parent dir. This directory contains the top level repos.
|
57
62
|
top_dir = Dir.pwd
|
@@ -66,13 +71,13 @@ module Commands
|
|
66
71
|
|
67
72
|
if (add)
|
68
73
|
# first add any new files
|
69
|
-
cmd = "git add ."
|
74
|
+
cmd = "git add #{dry_run} ."
|
70
75
|
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
71
76
|
raise "Git add all failed for #{repo_name}."
|
72
77
|
end
|
73
78
|
end
|
74
79
|
|
75
|
-
cmd = "git commit -am \"#{comment}\""
|
80
|
+
cmd = "git commit #{dry_run} -am \"#{comment}\""
|
76
81
|
msg = EbmSharedLib::CL.do_cmd_output(cmd, repo_path)
|
77
82
|
puts msg
|
78
83
|
exit_code = $?.exitstatus
|
data/lib/commands/configs.rb
CHANGED
@@ -24,16 +24,21 @@ module Commands
|
|
24
24
|
def register(opts, global_options)
|
25
25
|
opts.banner = "Usage: configs"
|
26
26
|
opts.description = "List all configurations."
|
27
|
+
|
28
|
+
opts.on('-r', "--config-repo name", "Remote git repository for initial configs file download [corp,stash,<git url>]") do |v|
|
29
|
+
options[:config_repo] = v
|
30
|
+
end
|
27
31
|
end
|
28
32
|
|
29
33
|
|
30
34
|
def run(global_options)
|
31
35
|
# show contents of configs directory for files with .config extension
|
32
36
|
# try to make sure the repo is available
|
33
|
-
|
37
|
+
config_repo = options[:config_repo]
|
38
|
+
repo_url = EbmSharedLib.prepare_config_repo(config_repo)
|
34
39
|
|
35
|
-
config_path =
|
36
|
-
config_names = Pathname.glob("#{config_path}/*.config").map { |file_info|
|
40
|
+
config_path = EbmSharedLib.full_config_path(repo_url)
|
41
|
+
config_names = Pathname.glob("#{config_path}/configs/*.config").map { |file_info|
|
37
42
|
if file_info.directory? == false
|
38
43
|
name = file_info.basename.to_s
|
39
44
|
name.slice!("#{EbmSharedLib::CONFIG_SUFFIX}")
|
@@ -42,7 +47,7 @@ module Commands
|
|
42
47
|
nil
|
43
48
|
end
|
44
49
|
}
|
45
|
-
puts "\nCurrent configurations:"
|
50
|
+
puts "\nCurrent configurations for #{repo_url}:"
|
46
51
|
config_names.each do |name|
|
47
52
|
puts name unless name.nil?
|
48
53
|
end
|
data/lib/commands/prepare.rb
CHANGED
@@ -26,6 +26,10 @@ module Commands
|
|
26
26
|
opts.banner = "Usage: prepare [options]"
|
27
27
|
opts.description = "Prepare your build environment"
|
28
28
|
|
29
|
+
opts.on('-r', "--config-repo name", "Remote git repository for initial configs file download [corp,stash,<git url>]") do |v|
|
30
|
+
options[:config_repo] = v
|
31
|
+
end
|
32
|
+
|
29
33
|
opts.on('-c', "--config name", "Required - Name of the config we are preparing from.") do |v|
|
30
34
|
options[:config] = v
|
31
35
|
end
|
@@ -34,11 +38,11 @@ module Commands
|
|
34
38
|
options[:initials] = v
|
35
39
|
end
|
36
40
|
|
37
|
-
opts.on("--
|
41
|
+
opts.on("--no-branch", "Don't create developer branch.") do |v|
|
38
42
|
options[:nobranch] = v
|
39
43
|
end
|
40
44
|
|
41
|
-
opts.on("--
|
45
|
+
opts.on("--with-local-version", "Also include a local version branch, only applies with the -i option.") do |v|
|
42
46
|
options[:with_local_version] = v
|
43
47
|
end
|
44
48
|
|
@@ -154,8 +158,9 @@ module Commands
|
|
154
158
|
end
|
155
159
|
|
156
160
|
# try to make sure the repo is available
|
157
|
-
|
158
|
-
|
161
|
+
config_repo = options[:config_repo]
|
162
|
+
config_repo_url = EbmSharedLib.prepare_config_repo(config_repo)
|
163
|
+
info = EbmSharedLib.read_repo_config(config_repo_url, config_name)
|
159
164
|
|
160
165
|
# Now that we have the json, prepare the world by creating a directory with the config name and placing
|
161
166
|
# the various repos beneath that. The directory is created relative to the current directory.
|
@@ -170,6 +175,13 @@ module Commands
|
|
170
175
|
prepare_repo(repo, top_dir, initials, nobranch, with_local_version)
|
171
176
|
end
|
172
177
|
|
178
|
+
# finish up by writing settings
|
179
|
+
settings = {
|
180
|
+
:config_repo_url => config_repo_url,
|
181
|
+
:config_name => config_name,
|
182
|
+
}
|
183
|
+
EbmSharedLib.write_settings(settings, top_dir, err_msg = nil)
|
184
|
+
|
173
185
|
end
|
174
186
|
|
175
187
|
end
|
data/lib/commands/pull.rb
CHANGED
@@ -29,18 +29,23 @@ module Commands
|
|
29
29
|
options[:tag] = v
|
30
30
|
end
|
31
31
|
|
32
|
-
opts.on("--
|
32
|
+
opts.on("--remote-version", "Pull from remote version branch into your current branch.") do |v|
|
33
33
|
options[:remote_version] = v
|
34
34
|
end
|
35
35
|
|
36
|
+
opts.on('-n', "--dry-run", "Perform a dry run.") do |v|
|
37
|
+
options[:dry_run] = v
|
38
|
+
end
|
36
39
|
end
|
37
40
|
|
41
|
+
# @param [Object] global_options
|
38
42
|
def run(global_options)
|
39
43
|
|
40
44
|
# see if we can open the config file - we append the .config suffix
|
41
45
|
# the file is expected to be in JSON format
|
42
46
|
tag = options[:tag]
|
43
|
-
remote_version = options[:remote_version]
|
47
|
+
remote_version = !!options[:remote_version]
|
48
|
+
dry_run = !!options[:dry_run] ? "--dry-run" : ""
|
44
49
|
|
45
50
|
if ARGV.length > 0
|
46
51
|
raise "You must specify all arguments with their options."
|
@@ -51,7 +56,7 @@ module Commands
|
|
51
56
|
end
|
52
57
|
|
53
58
|
# get config based on name of current dir
|
54
|
-
info = EbmSharedLib.get_config_from_top_dir
|
59
|
+
info = EbmSharedLib.get_config_from_top_dir
|
55
60
|
|
56
61
|
# Back up to version parent dir. This directory contains the top level repos.
|
57
62
|
top_dir = Dir.pwd
|
@@ -64,7 +69,7 @@ module Commands
|
|
64
69
|
branch = repo[:branch]
|
65
70
|
puts("\n#{repo_name} pull:\n");
|
66
71
|
|
67
|
-
cmd = "git fetch --all"
|
72
|
+
cmd = "git fetch #{dry_run} --all"
|
68
73
|
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
69
74
|
raise "Git fetch failed for #{repo_name}."
|
70
75
|
end
|
@@ -78,16 +83,20 @@ module Commands
|
|
78
83
|
else
|
79
84
|
if remote_version
|
80
85
|
# pulling from remote version branch
|
81
|
-
cmd = "git pull --no-edit --recurse-submodules=yes origin #{branch}"
|
86
|
+
cmd = "git pull #{dry_run} --no-edit --recurse-submodules=yes origin #{branch}"
|
82
87
|
else
|
83
88
|
# pull from the remote branch of the current branch
|
84
|
-
cmd = "git pull --no-edit --recurse-submodules=yes"
|
89
|
+
cmd = "git pull #{dry_run} --no-edit --recurse-submodules=yes"
|
85
90
|
end
|
86
91
|
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
87
92
|
raise "Git pull failed for #{repo_name}."
|
88
93
|
end
|
89
94
|
end
|
90
|
-
|
95
|
+
if dry_run.empty?
|
96
|
+
cmd = "git submodule update"
|
97
|
+
else
|
98
|
+
cmd = "git submodule update --no-fetch"
|
99
|
+
end
|
91
100
|
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
92
101
|
raise "Updating submodules for #{repo_name} failed."
|
93
102
|
end
|
data/lib/commands/push.rb
CHANGED
@@ -25,24 +25,29 @@ module Commands
|
|
25
25
|
opts.banner = "Usage: push [options]"
|
26
26
|
opts.description = "Push code to the remote repo."
|
27
27
|
|
28
|
-
opts.on("--
|
28
|
+
opts.on("--remote-version", "Push from your local dev branch to the remote version branch - use with caution!") do |v|
|
29
29
|
options[:remote_version] = v
|
30
30
|
end
|
31
31
|
|
32
|
+
opts.on('-n', "--dry-run", "Perform a dry run.") do |v|
|
33
|
+
options[:dry_run] = v
|
34
|
+
end
|
35
|
+
|
32
36
|
end
|
33
37
|
|
34
38
|
def run(global_options)
|
35
39
|
|
36
40
|
# see if we can open the config file - we append the .config suffix
|
37
41
|
# the file is expected to be in JSON format
|
38
|
-
remote_version = options[:remote_version]
|
42
|
+
remote_version = !!options[:remote_version]
|
43
|
+
dry_run = !!options[:dry_run] ? "--dry-run" : ""
|
39
44
|
|
40
45
|
if ARGV.length > 0
|
41
46
|
raise "You must specify all arguments with their options."
|
42
47
|
end
|
43
48
|
|
44
49
|
# get config based on name of current dir
|
45
|
-
info = EbmSharedLib.get_config_from_top_dir
|
50
|
+
info = EbmSharedLib.get_config_from_top_dir
|
46
51
|
|
47
52
|
# Back up to version parent dir. This directory contains the top level repos.
|
48
53
|
top_dir = Dir.pwd
|
@@ -59,12 +64,12 @@ module Commands
|
|
59
64
|
if remote_version
|
60
65
|
# pulling from remote version branch
|
61
66
|
remote_branch = repo[:branch]
|
62
|
-
cmd = "git push origin #{local_branch}:#{remote_branch}"
|
67
|
+
cmd = "git push #{dry_run} origin #{local_branch}:#{remote_branch}"
|
63
68
|
else
|
64
69
|
# pull from the remote branch of the current branch
|
65
70
|
# they want to commit whatever has changed and push to current remote
|
66
71
|
# first grab the current branch name
|
67
|
-
cmd = "git push origin #{local_branch}"
|
72
|
+
cmd = "git push #{dry_run} origin #{local_branch}"
|
68
73
|
end
|
69
74
|
if EbmSharedLib::CL.do_cmd_result(cmd, repo_path) != 0
|
70
75
|
raise "Git push failed for #{repo_name}."
|
data/lib/commands/status.rb
CHANGED
@@ -33,7 +33,7 @@ module Commands
|
|
33
33
|
# the file is expected to be in JSON format
|
34
34
|
|
35
35
|
# determine config_name by extracting parent of our directory
|
36
|
-
info = EbmSharedLib.get_config_from_top_dir
|
36
|
+
info = EbmSharedLib.get_config_from_top_dir
|
37
37
|
|
38
38
|
# Back up to version parent dir. This directory contains the top level repos.
|
39
39
|
# top_dir = File.expand_path("#{Dir.pwd}/..")
|
data/lib/commands/tag.rb
CHANGED
@@ -34,7 +34,7 @@ module Commands
|
|
34
34
|
options[:delete] = v
|
35
35
|
end
|
36
36
|
|
37
|
-
opts.on("--
|
37
|
+
opts.on("--commit-and-push", "Commit any local changes and then push the remote - should only be used by the build system.") do |v|
|
38
38
|
options[:commit_and_push] = v
|
39
39
|
end
|
40
40
|
|
@@ -52,7 +52,7 @@ module Commands
|
|
52
52
|
raise "You cannot use --commit_and_push with --delete."
|
53
53
|
end
|
54
54
|
|
55
|
-
info = EbmSharedLib.get_config_from_top_dir
|
55
|
+
info = EbmSharedLib.get_config_from_top_dir
|
56
56
|
|
57
57
|
# other than prepare, any commands that work across the repos expect you to start
|
58
58
|
# in the containing directory (i.e. if your config is named iphone_3.1, you are expected
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#
|
2
|
+
# Greg Seitz
|
3
|
+
#
|
4
|
+
# Copyright 2013, eBay Inc.
|
5
|
+
# All rights reserved.
|
6
|
+
# http://www.ebay.com
|
7
|
+
#
|
8
|
+
module Commands
|
9
|
+
class Version
|
10
|
+
|
11
|
+
# holds the options that were passed
|
12
|
+
# you can set any initial defaults here
|
13
|
+
def options
|
14
|
+
@options ||= {
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
# required options
|
19
|
+
def required_options
|
20
|
+
@required_options ||= Set.new [
|
21
|
+
]
|
22
|
+
end
|
23
|
+
|
24
|
+
def register(opts, global_options)
|
25
|
+
opts.banner = "Usage: version"
|
26
|
+
opts.description = "Returns the version only."
|
27
|
+
end
|
28
|
+
|
29
|
+
def run(global_options)
|
30
|
+
puts "#{Info.version}"
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
data/lib/commands.rb
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
#require "FileUtils"
|
9
9
|
require "set"
|
10
10
|
require "fileutils"
|
11
|
+
require "hmac-sha1"
|
11
12
|
|
12
13
|
require 'ebmsharedlib/monkey_patches'
|
13
14
|
require "printer"
|
@@ -24,3 +25,4 @@ require 'commands/periodic'
|
|
24
25
|
require 'commands/pull'
|
25
26
|
require 'commands/push'
|
26
27
|
require 'commands/commit'
|
28
|
+
require 'commands/version'
|
data/lib/ebm.rb
CHANGED
@@ -8,8 +8,16 @@
|
|
8
8
|
module EbmSharedLib
|
9
9
|
ROOT_PATH = File.expand_path("~/.ebm")
|
10
10
|
CONFIG_DIR = "build_configs"
|
11
|
-
CONFIG_PATH = "#{ROOT_PATH}/#{CONFIG_DIR}"
|
12
11
|
CONFIG_SUFFIX = ".config"
|
12
|
+
SETTINGS_FILE = ".ebm-settings.json"
|
13
|
+
|
14
|
+
# the key is the shortcut used for the config repos
|
15
|
+
CONFIG_REPOS = {
|
16
|
+
"stash" => "https://mobiebay.com/git/scm/ebmconfigs/build_configs.git",
|
17
|
+
"corp" => "git@github.scm.corp.ebay.com:eBayMobile/build_configs.git",
|
18
|
+
"mobi" => "git@github.mobiebay.com:eBayMobile/build_configs.git",
|
19
|
+
}
|
20
|
+
CONFIG_REPOS["default"] = CONFIG_REPOS["corp"]
|
13
21
|
|
14
22
|
class CL
|
15
23
|
# run a command line and echo to console
|
@@ -60,29 +68,68 @@ module EbmSharedLib
|
|
60
68
|
|
61
69
|
end
|
62
70
|
|
63
|
-
def self.
|
64
|
-
|
65
|
-
|
66
|
-
#`mkdir -p #{ROOT_PATH}`
|
71
|
+
def self.get_config_repo_url(config_repo)
|
72
|
+
# convert to lowercase for comparison below if non nil
|
73
|
+
repo_alias = config_repo.nil? ? "default" : config_repo.downcase
|
67
74
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
if EbmSharedLib::CL.do_cmd_result(cmd, ROOT_PATH) != 0
|
74
|
-
raise "Unable to clone build_configs repo into #{ROOT_PATH}"
|
75
|
-
end
|
76
|
-
end
|
75
|
+
# loop up matching repo
|
76
|
+
found_repo = CONFIG_REPOS[repo_alias]
|
77
|
+
# if no match use the passed in repo
|
78
|
+
config_repo = found_repo.nil? ? config_repo : found_repo
|
79
|
+
end
|
77
80
|
|
81
|
+
# compute a unique hash for this repo so
|
82
|
+
# we can store it in a subdir of configs
|
83
|
+
def self.repo_url_hash(repo_url)
|
84
|
+
Digest::SHA1.hexdigest(repo_url)
|
78
85
|
end
|
79
86
|
|
80
|
-
#
|
81
|
-
|
82
|
-
|
87
|
+
# return the base config path minus the git dir
|
88
|
+
# for the given url
|
89
|
+
def self.base_config_path(repo_url)
|
90
|
+
config_hash = repo_url_hash(repo_url)
|
91
|
+
|
92
|
+
"#{ROOT_PATH}/repo_configs/#{config_hash}"
|
93
|
+
end
|
94
|
+
|
95
|
+
# the full config path
|
96
|
+
def self.full_config_path(repo_url)
|
97
|
+
"#{base_config_path(repo_url)}/#{CONFIG_DIR}"
|
98
|
+
end
|
83
99
|
|
100
|
+
# takes the repo name (shortcut or full url)
|
101
|
+
# and fetches config into appropriate location
|
102
|
+
# returns the full repo_url
|
103
|
+
def self.prepare_config_repo(config_repo_url)
|
104
|
+
# get the full url
|
105
|
+
repo_url = EbmSharedLib.get_config_repo_url(config_repo_url)
|
106
|
+
|
107
|
+
# get the local config dir
|
108
|
+
base_config_path = base_config_path(repo_url)
|
109
|
+
|
110
|
+
# make the root if missing
|
111
|
+
FileUtils.mkpath(base_config_path)
|
112
|
+
|
113
|
+
# and the full config path
|
114
|
+
config_path = full_config_path(repo_url)
|
115
|
+
|
116
|
+
# try to pull, if it fails could be due to repo not cloned
|
117
|
+
cmd = "git pull"
|
118
|
+
if EbmSharedLib::CL.do_cmd_result(cmd, config_path) != 0
|
119
|
+
# pull failed, try to clone
|
120
|
+
cmd = "git clone #{repo_url} #{CONFIG_DIR}"
|
121
|
+
if EbmSharedLib::CL.do_cmd_result(cmd, base_config_path) != 0
|
122
|
+
raise "Unable to clone #{CONFIG_DIR} repo into #{base_config_path}"
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
repo_url
|
127
|
+
end
|
128
|
+
|
129
|
+
# read and parse a json file
|
130
|
+
def self.read_json_file(file_path, err_msg = nil)
|
84
131
|
begin
|
85
|
-
json = File.open(
|
132
|
+
json = File.open(file_path, 'r') {|f| f.read }
|
86
133
|
info = JSON.parse(json)
|
87
134
|
info.recursively_symbolize_keys!
|
88
135
|
rescue
|
@@ -91,10 +138,44 @@ module EbmSharedLib
|
|
91
138
|
end
|
92
139
|
end
|
93
140
|
|
141
|
+
# write the map as json into the specified file
|
142
|
+
def self.write_json_file(map, file_path, err_msg = nil)
|
143
|
+
begin
|
144
|
+
|
145
|
+
json = JSON.pretty_generate(map)
|
146
|
+
|
147
|
+
File.open(file_path, 'w') { |file| file.write(json) }
|
148
|
+
rescue
|
149
|
+
msg = err_msg.nil? ? "Error creating JSON file: #{file_path}" : err_msg
|
150
|
+
raise msg
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
# write the prepared settings, expects us to pass
|
155
|
+
# dir to write into
|
156
|
+
def self.write_settings(map, dir, err_msg = nil)
|
157
|
+
settings_path = "#{dir}/#{SETTINGS_FILE}"
|
158
|
+
write_json_file(map, settings_path, err_msg)
|
159
|
+
end
|
160
|
+
|
161
|
+
# read and return the config info for this repo
|
162
|
+
def self.read_repo_config(repo_url, config_name, err_msg = nil)
|
163
|
+
config_file_path = "#{full_config_path(repo_url)}/configs/#{config_name}#{EbmSharedLib::CONFIG_SUFFIX}"
|
164
|
+
|
165
|
+
read_json_file(config_file_path, err_msg)
|
166
|
+
end
|
167
|
+
|
168
|
+
# read top level settings within a prepared dir
|
169
|
+
# lets us get to the appropriate config file
|
170
|
+
def self.read_settings(err_msg = nil)
|
171
|
+
settings_path = "#{Dir.pwd}/#{SETTINGS_FILE}"
|
172
|
+
settings = read_json_file(settings_path, err_msg)
|
173
|
+
end
|
174
|
+
|
94
175
|
# expects us to be in the top level dir that has the same name
|
95
176
|
# as the config. Such as /Users/gseitz/Develop/ebay/iphone_3.1
|
96
177
|
# will extract the config_name of iphone_3.1
|
97
|
-
def self.config_name_from_dir
|
178
|
+
def self.config_name_from_dir
|
98
179
|
config_name = "#{Dir.pwd}".split("/").last
|
99
180
|
end
|
100
181
|
|
@@ -118,13 +199,20 @@ module EbmSharedLib
|
|
118
199
|
branch = result.rstrip.split("/").last
|
119
200
|
end
|
120
201
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
#
|
126
|
-
|
127
|
-
|
128
|
-
|
202
|
+
# read the repo_config file for the prepared directory by
|
203
|
+
# first fetching the settings from this dir
|
204
|
+
def self.get_config_from_top_dir(err_msg = nil)
|
205
|
+
begin
|
206
|
+
# for now we still operate without settings by using defaults
|
207
|
+
# this should be removed once everyone is on the new tool
|
208
|
+
settings = read_settings(".ebm-settings not found, make sure you are in the top level directory.")
|
209
|
+
repo_url = settings[:config_repo_url]
|
210
|
+
config_name = settings[:config_name]
|
211
|
+
rescue
|
212
|
+
# use defaults since failed to load settings
|
213
|
+
config_name = config_name_from_dir()
|
214
|
+
repo_url = get_config_repo_url(nil)
|
215
|
+
end
|
216
|
+
read_repo_config(repo_url, config_name, "Config not found, make sure you are in the top level directory.")
|
129
217
|
end
|
130
218
|
end
|
data/lib/info.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ebm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Seitz
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-08-01 00:00:00 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: subcommand
|
@@ -59,6 +59,7 @@ files:
|
|
59
59
|
- lib/commands/push.rb
|
60
60
|
- lib/commands/status.rb
|
61
61
|
- lib/commands/tag.rb
|
62
|
+
- lib/commands/version.rb
|
62
63
|
- lib/commands.rb
|
63
64
|
- lib/ebm.rb
|
64
65
|
- lib/ebmsharedlib/monkey_patches.rb
|