envandle 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/envandle.rb +1 -0
- data/lib/envandle/gemspec_cache.rb +2 -0
- data/lib/envandle/git_ref_reference.rb +37 -0
- data/lib/envandle/git_util.rb +8 -0
- data/lib/envandle/reference_cache.rb +5 -1
- data/lib/envandle/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d329ce5df2ca681f51283c395f2be9526c66c3e1
|
4
|
+
data.tar.gz: eb443817b65eb96d575792cb395a319b2b865306
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c746e1b72f84fafe984f7a33e88a36f30d3d1c18da38d4d2171e3f826ca0a553d8813eb86a1d5b33f593a464455b831fccacb344ecfca520116647ab4a21fb02
|
7
|
+
data.tar.gz: cce9a7b1dcd22f0f7ec4f9a95c25617a4c0aca9448043cd0f3c9d529f07f99d40dddca494ff2f188b569da09a427a8e8ecce00a806965cd49db6f18931981624
|
data/README.md
CHANGED
@@ -118,9 +118,17 @@ is evaluated as:
|
|
118
118
|
gem "mygem", "~> 1.0"
|
119
119
|
```
|
120
120
|
|
121
|
+
### Setting Git Commit IDs
|
122
|
+
|
123
|
+
You can specify the gem method's `git` and `ref` options by setting the ENVANDLE_GEM_GIT_REF variable.
|
124
|
+
|
125
|
+
```ruby
|
126
|
+
ENV["ENVANDLE_GEM_GIT_REF"] = "mygem:https://github.com/mosop/mygem.git#aed3d9b9965b6938cca7490e98423cf9b5908b09"
|
127
|
+
```
|
128
|
+
|
121
129
|
### Specifying Gemspecs
|
122
130
|
|
123
|
-
|
131
|
+
You can also specify a gemspec not a single gem.
|
124
132
|
|
125
133
|
For example, if your gem's name is "mygem", the gemspec refers the a, b and c gems and the c's version requirement is "~> 1.0",
|
126
134
|
|
data/lib/envandle.rb
CHANGED
@@ -19,6 +19,7 @@ module Envandle
|
|
19
19
|
autoload :GemspecCache, "envandle/gemspec_cache"
|
20
20
|
autoload :Gemspec, "envandle/gemspec"
|
21
21
|
autoload :GitBranchReference, "envandle/git_branch_reference"
|
22
|
+
autoload :GitRefReference, "envandle/git_ref_reference"
|
22
23
|
autoload :GitUtil, "envandle/git_util"
|
23
24
|
autoload :History, "envandle/history"
|
24
25
|
autoload :IllegalElement, "envandle/illegal_element"
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Envandle
|
2
|
+
class GitRefReference
|
3
|
+
extend AsGitReference
|
4
|
+
|
5
|
+
def initialize(context, name, url, ref)
|
6
|
+
@context = context
|
7
|
+
@name = name
|
8
|
+
@url = url
|
9
|
+
@ref = ref
|
10
|
+
end
|
11
|
+
|
12
|
+
def spec
|
13
|
+
@spec ||= begin
|
14
|
+
cache = @context.gemfile.gemspecs
|
15
|
+
cache_url = "#{@url}##{@ref}"
|
16
|
+
dir = cache.find(cache_url) || begin
|
17
|
+
reserve = cache.reserve
|
18
|
+
Envandle::GitUtil.init reserve.path, @url
|
19
|
+
sha = Envandle::GitUtil.pull_sha(reserve.path, @ref, "master")
|
20
|
+
reserve.url = cache_url
|
21
|
+
reserve.save
|
22
|
+
reserve.path
|
23
|
+
end
|
24
|
+
Gemspec.new(File.join(dir, "#{@name}.gemspec"))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_executable_argset(base)
|
29
|
+
args = base.dup
|
30
|
+
args.clear_reference
|
31
|
+
args.args[0] = @name
|
32
|
+
args.options[:git] = @url
|
33
|
+
args.options[:ref] = @ref
|
34
|
+
Argset.new(:gem, *args.args_and_options)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/envandle/git_util.rb
CHANGED
@@ -49,5 +49,13 @@ module Envandle
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
52
|
+
|
53
|
+
def self.pull_sha(dir, ref, branch)
|
54
|
+
Dir.chdir(dir) do
|
55
|
+
Envandle.sh "#{BIN} checkout -b #{branch}"
|
56
|
+
Envandle.sh "#{BIN} fetch origin"
|
57
|
+
Envandle.sh "#{BIN} reset --hard #{ref}"
|
58
|
+
end
|
59
|
+
end
|
52
60
|
end
|
53
61
|
end
|
@@ -19,8 +19,12 @@ module Envandle
|
|
19
19
|
@git_branches ||= parse(:git, GitBranchReference, "ENVANDLE_GEM_GIT_BRANCH")
|
20
20
|
end
|
21
21
|
|
22
|
+
def git_refs
|
23
|
+
@git_refs ||= parse(:git, GitRefReference, "ENVANDLE_GEM_GIT_REF")
|
24
|
+
end
|
25
|
+
|
22
26
|
def all
|
23
|
-
@all ||= git_branches.merge(paths)
|
27
|
+
@all ||= git_branches.merge(git_refs.merge(paths))
|
24
28
|
end
|
25
29
|
|
26
30
|
def left
|
data/lib/envandle/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: envandle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mosop
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- lib/envandle/gemspec.rb
|
94
94
|
- lib/envandle/gemspec_cache.rb
|
95
95
|
- lib/envandle/git_branch_reference.rb
|
96
|
+
- lib/envandle/git_ref_reference.rb
|
96
97
|
- lib/envandle/git_util.rb
|
97
98
|
- lib/envandle/helper.rb
|
98
99
|
- lib/envandle/history.rb
|