deploygate 0.6.3 → 0.6.4
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/lib/deploygate/version.rb +1 -1
- data/lib/deploygate/xcode/analyze.rb +11 -7
- data/spec/deploygate/xcode/analyze_spec.rb +57 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0dfa2aaa4fb89cc3c6d42911b5c7546fbae07bc23b708d14337087a8debd3f1e
|
4
|
+
data.tar.gz: cc02a7b75d851d3fef7a8e776d27cce845f942ffaf4f6871d4841c9166ea4872
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34083bf5b446f8e1f61bb85cd479af29bb601ec93e830bd9b67bd9de9cd00336b0cc0fd5eae8a07458242ae59f7dc6f6e6db135ff21be016734ed28020c33822
|
7
|
+
data.tar.gz: 0b2a45ba2161ddfb4f8a2e894f0fbe73d1a76c03cb956353ba0156802883acced0424c2f456ecef2e8be956e1718b5444c8b7e34faf468facedf2c5afcc336f9
|
data/lib/deploygate/version.rb
CHANGED
@@ -72,14 +72,18 @@ module DeployGate
|
|
72
72
|
# @param [String] bundle_identifier
|
73
73
|
# @return [String]
|
74
74
|
def convert_bundle_identifier(bundle_identifier)
|
75
|
-
|
76
|
-
|
77
|
-
custom_id
|
78
|
-
|
79
|
-
|
80
|
-
|
75
|
+
new_bundle_identifier = bundle_identifier.gsub(/\$\(([^\)]+)\)|\${([^}]+)}/) {
|
76
|
+
custom_id = $1 || $2
|
77
|
+
if custom_id == 'TARGET_NAME'
|
78
|
+
target_project_setting.name
|
79
|
+
else
|
80
|
+
target_build_configration.build_settings[custom_id]
|
81
|
+
end
|
82
|
+
}
|
83
|
+
# bail out if the result identical to the original
|
84
|
+
return bundle_identifier if new_bundle_identifier == bundle_identifier
|
81
85
|
|
82
|
-
|
86
|
+
convert_bundle_identifier(new_bundle_identifier)
|
83
87
|
end
|
84
88
|
|
85
89
|
# @return [String]
|
@@ -1,3 +1,59 @@
|
|
1
1
|
describe DeployGate::Xcode::Analyze do
|
2
|
-
|
2
|
+
|
3
|
+
context '#convert_bundle_identifier' do
|
4
|
+
|
5
|
+
class DummyProject
|
6
|
+
SCHEME = 'dummy'
|
7
|
+
def schemes
|
8
|
+
[SCHEME, 'dummy2']
|
9
|
+
end
|
10
|
+
|
11
|
+
def options
|
12
|
+
{}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class DummyProjectSetting
|
17
|
+
def name
|
18
|
+
'TargetName'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class DummyBuildConfigration
|
23
|
+
def build_settings
|
24
|
+
{
|
25
|
+
'PRODUCT_NAME' => '$(TARGET_NAME)',
|
26
|
+
'CUSTOM_KEY' => 'CustomKey',
|
27
|
+
'PRODUCT_BUNDLE_IDENTIFER' => 'com.deploygate.app',
|
28
|
+
'DEBUG_POSTFIX' => '.debug',
|
29
|
+
'LOOP' => '$(LOOP)'
|
30
|
+
}
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
before do
|
35
|
+
allow_any_instance_of(DeployGate::Xcode::Analyze).to receive(:find_scheme_workspace).and_return('')
|
36
|
+
allow_any_instance_of(DeployGate::Xcode::Analyze).to receive(:find_build_workspace)
|
37
|
+
allow_any_instance_of(DeployGate::Xcode::Analyze).to receive(:target_build_configration).and_return(DummyBuildConfigration.new)
|
38
|
+
allow_any_instance_of(DeployGate::Xcode::Analyze).to receive(:target_project_setting).and_return(DummyProjectSetting.new)
|
39
|
+
allow(FastlaneCore::Configuration).to receive(:create)
|
40
|
+
allow(FastlaneCore::Project).to receive(:new).and_return(DummyProject.new)
|
41
|
+
end
|
42
|
+
|
43
|
+
it do
|
44
|
+
analyze = DeployGate::Xcode::Analyze.new('', nil, DummyProject::SCHEME)
|
45
|
+
expect(analyze.convert_bundle_identifier('com.deploygate.$(PRODUCT_NAME).${CUSTOM_KEY}')).to eq 'com.deploygate.TargetName.CustomKey'
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'if only env' do
|
49
|
+
analyze = DeployGate::Xcode::Analyze.new('', nil, DummyProject::SCHEME)
|
50
|
+
expect(analyze.convert_bundle_identifier('$(PRODUCT_BUNDLE_IDENTIFER)$(DEBUG_POSTFIX)')).to eq 'com.deploygate.app.debug'
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'if loop env' do
|
54
|
+
analyze = DeployGate::Xcode::Analyze.new('', nil, DummyProject::SCHEME)
|
55
|
+
expect(analyze.convert_bundle_identifier('$(LOOP)')).to eq '$(LOOP)'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
3
59
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deploygate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- deploygate
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -419,7 +419,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
419
419
|
version: '0'
|
420
420
|
requirements: []
|
421
421
|
rubyforge_project:
|
422
|
-
rubygems_version: 2.7.
|
422
|
+
rubygems_version: 2.7.6
|
423
423
|
signing_key:
|
424
424
|
specification_version: 4
|
425
425
|
summary: A command-line interface for DeployGate
|