deploygate 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +13 -5
  2. data/.gitignore +4 -0
  3. data/.travis.yml +4 -4
  4. data/README.md +3 -3
  5. data/lib/deploygate/android/gradle_deploy.rb +95 -0
  6. data/lib/deploygate/android/gradle_plugin_installer.rb +101 -0
  7. data/lib/deploygate/android/gradle_project.rb +14 -0
  8. data/lib/deploygate/commands/deploy/build.rb +15 -154
  9. data/lib/deploygate/{build.rb → project.rb} +3 -3
  10. data/lib/deploygate/version.rb +1 -1
  11. data/lib/deploygate/xcode/analyze.rb +116 -0
  12. data/lib/deploygate/xcode/export.rb +281 -0
  13. data/lib/deploygate/{builds → xcode}/ios.rb +13 -5
  14. data/lib/deploygate/xcode/member_center.rb +52 -0
  15. data/lib/deploygate/xcode/member_centers/app.rb +35 -0
  16. data/lib/deploygate/xcode/member_centers/provisioning_profile.rb +99 -0
  17. data/lib/deploygate.rb +14 -5
  18. data/spec/deploygate/project_spec.rb +39 -0
  19. data/spec/deploygate/xcode/analyze_spec.rb +3 -0
  20. data/spec/deploygate/{builds/ios → xcode}/export_spec.rb +21 -21
  21. data/spec/deploygate/{builds → xcode}/ios_spec.rb +12 -12
  22. data/spec/deploygate/xcode/member_center_spec.rb +21 -0
  23. data/spec/deploygate/xcode/member_centers/app_spec.rb +60 -0
  24. data/spec/deploygate/xcode/member_centers/provisioning_profile_spec.rb +3 -0
  25. metadata +70 -66
  26. data/lib/deploygate/builds/ios/analyze.rb +0 -111
  27. data/lib/deploygate/builds/ios/export.rb +0 -188
  28. data/lib/deploygate/builds/ios/set_profile.rb +0 -128
  29. data/spec/deploygate/build_spec.rb +0 -37
  30. data/spec/deploygate/builds/ios/analyze_spec.rb +0 -3
  31. data/spec/deploygate/builds/ios/set_profile_spec.rb +0 -3
@@ -1,12 +1,12 @@
1
- describe DeployGate::Builds::Ios::Export do
1
+ describe DeployGate::Xcode::Export do
2
2
  describe "#adhoc?" do
3
3
  it "when adhoc plist" do
4
4
  profile = {
5
5
  'ProvisionsAllDevices' => nil,
6
6
  'Entitlements' => {'get-task-allow' => false}
7
7
  }
8
- allow(DeployGate::Builds::Ios::Export).to receive(:profile_to_plist).and_return(profile)
9
- expect(DeployGate::Builds::Ios::Export.adhoc?('path')).to be_truthy
8
+ allow(DeployGate::Xcode::Export).to receive(:profile_to_plist).and_return(profile)
9
+ expect(DeployGate::Xcode::Export.adhoc?('path')).to be_truthy
10
10
  end
11
11
 
12
12
  it "when inhouse plist" do
@@ -14,8 +14,8 @@ describe DeployGate::Builds::Ios::Export do
14
14
  'ProvisionsAllDevices' => true,
15
15
  'Entitlements' => {'get-task-allow' => false}
16
16
  }
17
- allow(DeployGate::Builds::Ios::Export).to receive(:profile_to_plist).and_return(profile)
18
- expect(DeployGate::Builds::Ios::Export.adhoc?('path')).to be_falsey
17
+ allow(DeployGate::Xcode::Export).to receive(:profile_to_plist).and_return(profile)
18
+ expect(DeployGate::Xcode::Export.adhoc?('path')).to be_falsey
19
19
  end
20
20
 
21
21
  it "when not distribution plist" do
@@ -23,8 +23,8 @@ describe DeployGate::Builds::Ios::Export do
23
23
  'ProvisionsAllDevices' => nil,
24
24
  'Entitlements' => {'get-task-allow' => true}
25
25
  }
26
- allow(DeployGate::Builds::Ios::Export).to receive(:profile_to_plist).and_return(profile)
27
- expect(DeployGate::Builds::Ios::Export.adhoc?('path')).to be_falsey
26
+ allow(DeployGate::Xcode::Export).to receive(:profile_to_plist).and_return(profile)
27
+ expect(DeployGate::Xcode::Export.adhoc?('path')).to be_falsey
28
28
  end
29
29
  end
30
30
 
@@ -34,8 +34,8 @@ describe DeployGate::Builds::Ios::Export do
34
34
  'ProvisionsAllDevices' => nil,
35
35
  'Entitlements' => {'get-task-allow' => false}
36
36
  }
37
- allow(DeployGate::Builds::Ios::Export).to receive(:profile_to_plist).and_return(profile)
38
- expect(DeployGate::Builds::Ios::Export.inhouse?('path')).to be_falsey
37
+ allow(DeployGate::Xcode::Export).to receive(:profile_to_plist).and_return(profile)
38
+ expect(DeployGate::Xcode::Export.inhouse?('path')).to be_falsey
39
39
  end
40
40
 
41
41
  it "when inhouse plist" do
@@ -43,8 +43,8 @@ describe DeployGate::Builds::Ios::Export do
43
43
  'ProvisionsAllDevices' => true,
44
44
  'Entitlements' => {'get-task-allow' => false}
45
45
  }
46
- allow(DeployGate::Builds::Ios::Export).to receive(:profile_to_plist).and_return(profile)
47
- expect(DeployGate::Builds::Ios::Export.inhouse?('path')).to be_truthy
46
+ allow(DeployGate::Xcode::Export).to receive(:profile_to_plist).and_return(profile)
47
+ expect(DeployGate::Xcode::Export.inhouse?('path')).to be_truthy
48
48
  end
49
49
 
50
50
  it "when not distribution plist" do
@@ -52,8 +52,8 @@ describe DeployGate::Builds::Ios::Export do
52
52
  'ProvisionsAllDevices' => nil,
53
53
  'Entitlements' => {'get-task-allow' => true}
54
54
  }
55
- allow(DeployGate::Builds::Ios::Export).to receive(:profile_to_plist).and_return(profile)
56
- expect(DeployGate::Builds::Ios::Export.inhouse?('path')).to be_falsey
55
+ allow(DeployGate::Xcode::Export).to receive(:profile_to_plist).and_return(profile)
56
+ expect(DeployGate::Xcode::Export.inhouse?('path')).to be_falsey
57
57
  end
58
58
  end
59
59
 
@@ -64,14 +64,14 @@ describe DeployGate::Builds::Ios::Export do
64
64
  @not_distribution_certificate = " 1) xxxxxxxxxxxxxx \"iPhone Developer: DeployGate Inc.\""
65
65
  end
66
66
  it "not installed distribution certificate" do
67
- allow(DeployGate::Builds::Ios::Export).to receive(:installed_certificates).and_return([@not_distribution_certificate])
68
- expect(DeployGate::Builds::Ios::Export.installed_distribution_certificate_ids.count).to eql 0
67
+ allow(DeployGate::Xcode::Export).to receive(:installed_certificates).and_return([@not_distribution_certificate])
68
+ expect(DeployGate::Xcode::Export.installed_distribution_certificate_ids.count).to eql 0
69
69
  end
70
70
 
71
71
  it "installed distribution certificate" do
72
- allow(DeployGate::Builds::Ios::Export).to receive(:installed_certificates).and_return([@distribution_certificate, @not_distribution_certificate])
72
+ allow(DeployGate::Xcode::Export).to receive(:installed_certificates).and_return([@distribution_certificate, @not_distribution_certificate])
73
73
 
74
- ids = DeployGate::Builds::Ios::Export.installed_distribution_certificate_ids
74
+ ids = DeployGate::Xcode::Export.installed_distribution_certificate_ids
75
75
  expect(ids).to eql([@distribution_certificate_id])
76
76
  end
77
77
  end
@@ -84,13 +84,13 @@ describe DeployGate::Builds::Ios::Export do
84
84
  end
85
85
 
86
86
  it "conflicting" do
87
- allow(DeployGate::Builds::Ios::Export).to receive(:installed_certificates).and_return([@distribution_certificate, @distribution_certificate2])
88
- expect(DeployGate::Builds::Ios::Export.installed_distribution_conflicting_certificates.count).to eql 2
87
+ allow(DeployGate::Xcode::Export).to receive(:installed_certificates).and_return([@distribution_certificate, @distribution_certificate2])
88
+ expect(DeployGate::Xcode::Export.installed_distribution_conflicting_certificates.count).to eql 2
89
89
  end
90
90
 
91
91
  it "not conflicting" do
92
- allow(DeployGate::Builds::Ios::Export).to receive(:installed_certificates).and_return([@distribution_certificate, @distribution_certificate3])
93
- expect(DeployGate::Builds::Ios::Export.installed_distribution_conflicting_certificates.count).to eql 0
92
+ allow(DeployGate::Xcode::Export).to receive(:installed_certificates).and_return([@distribution_certificate, @distribution_certificate3])
93
+ expect(DeployGate::Xcode::Export.installed_distribution_conflicting_certificates.count).to eql 0
94
94
  end
95
95
  end
96
96
  end
@@ -1,4 +1,4 @@
1
- describe DeployGate::Builds::Ios do
1
+ describe DeployGate::Xcode::Ios do
2
2
  before do
3
3
  class ProjectMock
4
4
  def schemes
@@ -21,7 +21,7 @@ describe DeployGate::Builds::Ios do
21
21
  allow(File).to receive(:expand_path).and_return('path')
22
22
  allow(FastlaneCore::Project).to receive(:new).and_return(ProjectMock.new)
23
23
 
24
- DeployGate::Builds::Ios.build(AnalyzeMock.new, '', '')
24
+ DeployGate::Xcode::Ios.build(AnalyzeMock.new, '', '')
25
25
  expect(call_gym_manager).to be_truthy
26
26
  end
27
27
 
@@ -33,8 +33,8 @@ describe DeployGate::Builds::Ios do
33
33
  allow(FastlaneCore::Project).to receive(:new).and_return(ProjectMock.new)
34
34
 
35
35
  expect {
36
- DeployGate::Builds::Ios.build(AnalyzeMock.new, '', '', 'not support export method')
37
- }.to raise_error DeployGate::Builds::Ios::NotSupportExportMethodError
36
+ DeployGate::Xcode::Ios.build(AnalyzeMock.new, '', '', 'not support export method')
37
+ }.to raise_error DeployGate::Xcode::Ios::NotSupportExportMethodError
38
38
  end
39
39
  end
40
40
 
@@ -42,14 +42,14 @@ describe DeployGate::Builds::Ios do
42
42
  it "pod workspace" do
43
43
  allow(File).to receive(:extname).and_return('.xcworkspace')
44
44
 
45
- result = DeployGate::Builds::Ios.workspace?('path')
45
+ result = DeployGate::Xcode::Ios.workspace?('path')
46
46
  expect(result).to be_truthy
47
47
  end
48
48
 
49
49
  it "xcode project" do
50
50
  allow(File).to receive(:extname).and_return('.xcodeproj')
51
51
 
52
- result = DeployGate::Builds::Ios.workspace?('path')
52
+ result = DeployGate::Xcode::Ios.workspace?('path')
53
53
  expect(result).to be_falsey
54
54
  end
55
55
  end
@@ -58,14 +58,14 @@ describe DeployGate::Builds::Ios do
58
58
  it "pod workspace" do
59
59
  allow(File).to receive(:extname).and_return('.xcworkspace')
60
60
 
61
- result = DeployGate::Builds::Ios.project?('path')
61
+ result = DeployGate::Xcode::Ios.project?('path')
62
62
  expect(result).to be_falsey
63
63
  end
64
64
 
65
65
  it "xcode project" do
66
66
  allow(File).to receive(:extname).and_return('.xcodeproj')
67
67
 
68
- result = DeployGate::Builds::Ios.project?('path')
68
+ result = DeployGate::Xcode::Ios.project?('path')
69
69
  expect(result).to be_truthy
70
70
  end
71
71
  end
@@ -77,19 +77,19 @@ describe DeployGate::Builds::Ios do
77
77
  describe "#project_root_path" do
78
78
  let(:root_path) {'test'}
79
79
  it "when test/test.xcodeproj/project.xcworkspace" do
80
- expect(DeployGate::Builds::Ios.project_root_path('test/test.xcodeproj/project.xcworkspace')).to eq root_path
80
+ expect(DeployGate::Xcode::Ios.project_root_path('test/test.xcodeproj/project.xcworkspace')).to eq root_path
81
81
  end
82
82
 
83
83
  it "when test/test.xcodeproj" do
84
- expect(DeployGate::Builds::Ios.project_root_path('test/test.xcodeproj')).to eq root_path
84
+ expect(DeployGate::Xcode::Ios.project_root_path('test/test.xcodeproj')).to eq root_path
85
85
  end
86
86
 
87
87
  it "when test/test.xcworkspace" do
88
- expect(DeployGate::Builds::Ios.project_root_path('test/test.xcworkspace')).to eq root_path
88
+ expect(DeployGate::Xcode::Ios.project_root_path('test/test.xcworkspace')).to eq root_path
89
89
  end
90
90
 
91
91
  it "when test/" do
92
- expect(DeployGate::Builds::Ios.project_root_path('test/')).to eq root_path + '/'
92
+ expect(DeployGate::Xcode::Ios.project_root_path('test/')).to eq root_path + '/'
93
93
  end
94
94
  end
95
95
  end
@@ -0,0 +1,21 @@
1
+ describe DeployGate::Xcode::MemberCenter do
2
+ class SpaceshipClient
3
+ def in_house?
4
+ end
5
+ end
6
+
7
+ let(:email) { 'test@example.com' }
8
+ let(:center) { DeployGate::Xcode::MemberCenter.instance }
9
+ before do
10
+ allow(Spaceship).to receive(:login) {}
11
+ allow(Spaceship).to receive(:select_team) {}
12
+ allow(Spaceship).to receive(:client).and_return(SpaceshipClient.new)
13
+ allow_any_instance_of(DeployGate::Xcode::MemberCenter).to receive(:input_email).and_return(email)
14
+ end
15
+
16
+ context '#initialize' do
17
+ it "input email" do
18
+ expect(center.email).to eq email
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,60 @@
1
+ describe DeployGate::Xcode::MemberCenters::App do
2
+ before do
3
+ allow_any_instance_of(DeployGate::Xcode::MemberCenter).to receive(:instance) {}
4
+ allow(Spaceship).to receive(:app).and_return(SpaceshipApp.new(uuid))
5
+ end
6
+
7
+ class SpaceshipApp
8
+ attr_reader :bundle_id
9
+ def initialize(bundle_id)
10
+ @bundle_id = bundle_id
11
+ end
12
+ def create!(options)
13
+ end
14
+
15
+ def all
16
+ end
17
+ end
18
+
19
+ let(:uuid) { 'com.example.test' }
20
+ let(:app) { DeployGate::Xcode::MemberCenters::App.new(uuid) }
21
+
22
+ context "#created?" do
23
+ let(:registered_uuid) { 'com.example.test.registered' }
24
+ let(:non_registered_uuid) { 'com.example.test.non.registered' }
25
+
26
+ before do
27
+ allow_any_instance_of(SpaceshipApp).to receive(:all) do
28
+ [SpaceshipApp.new(registered_uuid)]
29
+ end
30
+ end
31
+
32
+ it "app created" do
33
+ app = DeployGate::Xcode::MemberCenters::App.new(registered_uuid)
34
+
35
+ expect(app.created?).to be_truthy
36
+ end
37
+
38
+ it "no app created" do
39
+ app = DeployGate::Xcode::MemberCenters::App.new(non_registered_uuid)
40
+
41
+ expect(app.created?).to be_falsey
42
+ end
43
+ end
44
+
45
+ context "#create!" do
46
+ it "must call Spaceshio.app.create!" do
47
+ call_create = false
48
+ allow_any_instance_of(SpaceshipApp).to receive(:create!) { call_create = true }
49
+
50
+ app.create!
51
+ expect(call_create).to be_truthy
52
+ end
53
+ end
54
+
55
+ context "#name" do
56
+ it "get name" do
57
+ expect(app.name).to eq 'com example test'
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,3 @@
1
+ describe DeployGate::Xcode::MemberCenters::ProvisioningProfile do
2
+ # TODO: add tests
3
+ end