ora-cli 0.2.0 → 0.2.1
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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/ora/cli/tasks/push_to_master.rb +44 -9
- data/lib/ora/cli/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37f2683d7437533d89260be6e9e6bc4c58835886
|
4
|
+
data.tar.gz: ca4045ee65cfffa7e5a213417fb06110baeac40e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7831147f18cb4bf23daa857b9a36f59fabaa0ed9fccfa9ee3cc1f4c8cc1f5a4811243c96b8841ee5c5a64597ead5fbaea56a1d4596ab44d8b38bef5f038dfad
|
7
|
+
data.tar.gz: 90fc6a50ed74e3d084d1ba108d16899e03152ef2174fd26709029328dddf0cda400b03cc9415697c82c9a0d330b6018dac4cc6260d5b2977b1e0b8aec8009f2b
|
data/README.md
CHANGED
@@ -29,9 +29,9 @@ A command line tool to automate development workflow in ORA
|
|
29
29
|
|
30
30
|
`push_to_uat`: Help to push your feature branch to uat
|
31
31
|
|
32
|
-
`push_to_master`: Help to push
|
32
|
+
`push_to_master`: Help to push develop to master with a version tag with a message including all new pull requests from the previous tag
|
33
33
|
|
34
|
-
`switch_branch`: Help to switch branch without thinking about dirty files
|
34
|
+
`switch_branch`: Help to switch branch without thinking about dirty files
|
35
35
|
|
36
36
|
## Contributing
|
37
37
|
|
@@ -6,9 +6,8 @@ module Ora::Cli
|
|
6
6
|
|
7
7
|
def commands
|
8
8
|
'
|
9
|
-
:
|
10
|
-
|
11
|
-
:pull_branch
|
9
|
+
:clean_on_main_branch!
|
10
|
+
git stash save -u "OraCli"
|
12
11
|
git checkout develop
|
13
12
|
git pull origin develop
|
14
13
|
git merge #{branch}
|
@@ -20,21 +19,27 @@ module Ora::Cli
|
|
20
19
|
git fetch --tags
|
21
20
|
:set_version
|
22
21
|
git checkout #{branch}
|
23
|
-
|
24
|
-
git push --tags
|
22
|
+
:apply_stash
|
25
23
|
:slack_message_to_paste
|
26
24
|
'
|
27
25
|
end
|
28
26
|
|
29
27
|
private
|
30
28
|
def set_version
|
29
|
+
return '' if tag_message.empty?
|
30
|
+
|
31
31
|
print.plain "Latest versions:"
|
32
32
|
print.plain latest_versions
|
33
|
+
print.plain tag_message
|
33
34
|
print.plain "Enter to use #{recommend_version} or type new version:"
|
34
35
|
print.inline "New Version: "
|
35
36
|
@version = stdin.gets(/^(v[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)?$/)
|
36
37
|
@version = recommend_version if @version.empty?
|
37
|
-
|
38
|
+
|
39
|
+
'
|
40
|
+
git tag -a "#{version}" -m "#{tag_message}"
|
41
|
+
git push --tags
|
42
|
+
'
|
38
43
|
end
|
39
44
|
def latest_versions
|
40
45
|
@latest_versions ||=
|
@@ -43,15 +48,45 @@ module Ora::Cli
|
|
43
48
|
map {|tag| Gem::Version.create(tag.sub(/^v/, ''))}.sort.last(5).
|
44
49
|
map {|ver| "v#{ver}"}.join("\n")
|
45
50
|
end
|
51
|
+
def latest_version
|
52
|
+
@latest_version ||= latest_versions.split("\n").last.to_s
|
53
|
+
end
|
46
54
|
def recommend_version
|
47
|
-
@recommend_version ||=
|
48
|
-
latest_versions.split("\n").last.to_s.
|
49
|
-
sub(/\.(\d+)$/, '.') + ($1.to_i + 1).to_s
|
55
|
+
@recommend_version ||= latest_version.sub(/\.(\d+)$/, '.') + ($1.to_i + 1).to_s
|
50
56
|
end
|
51
57
|
|
52
58
|
def slack_message_to_paste
|
53
59
|
print.plain ":merge: #{branch} => develop\n:merge: develop => master\n:monorail: production"
|
54
60
|
''
|
55
61
|
end
|
62
|
+
|
63
|
+
def apply_stash
|
64
|
+
return '' if target_stash_revision.empty?
|
65
|
+
|
66
|
+
"git stash pop #{target_stash_revision}"
|
67
|
+
end
|
68
|
+
def target_stash_revision
|
69
|
+
@target_stash_revision ||=
|
70
|
+
@bash.silent("git stash list | grep '#{target_stash_name}' | sed s/:.*//").
|
71
|
+
split("\n").first.to_s.strip
|
72
|
+
end
|
73
|
+
def target_stash_name
|
74
|
+
"On #{branch}: OraCli"
|
75
|
+
end
|
76
|
+
|
77
|
+
def tag_message
|
78
|
+
return @tag_message if @tag_message
|
79
|
+
messages = []
|
80
|
+
@bash.silent("git log --merges --pretty=oneline #{latest_version}..HEAD").split("\n").each do |commit|
|
81
|
+
match = commit.match(/^[0-9a-z]+ Merge pull request #(\d+) from (.*)$/)
|
82
|
+
next if match.nil?
|
83
|
+
|
84
|
+
pull_request = match[1]
|
85
|
+
branch_name = match[2]
|
86
|
+
|
87
|
+
messages << "#{pull_request} #{branch_name}"
|
88
|
+
end
|
89
|
+
@tag_message = messages.join("\n")
|
90
|
+
end
|
56
91
|
end
|
57
92
|
end
|
data/lib/ora/cli/version.rb
CHANGED