zapp_sdk_tasks 0.2.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 834ce92159964a6dc7e6dc3761d293e06cfd687d342fc54f5353687e6d2449ab
4
- data.tar.gz: f7111a1398381cae66f7360c88bce787897f27fe3afae7e58e34e2241361032b
3
+ metadata.gz: cfceaf9881ca5af8f72859aebdc33d8e0c744ca56035a13e2f414a190effaa2e
4
+ data.tar.gz: 163e26845f5f85da9c199a20155820177a1de3f17c5304cbc9d0576f5660082f
5
5
  SHA512:
6
- metadata.gz: fd79616a2992e277347ff2c0fc7dd24524d6dd94acc9980a1779e3051f3137a96adc112326e94bf1aad080baa726678c0c45f2fd5b86e67d2136a8653c7bbc93
7
- data.tar.gz: 9798d3a457f4b851a1416bf25cc482f63f7dd219080e61a01a196aa46ff0be4cc7eae7d01ef5c666d41b3a8c90ed42c4985db9e7499ff958ada28503fef3cda4
6
+ metadata.gz: a2b2c421e058dcf96d38c61a1e472a06dd8bb0b238c2eece214bc2e85112b557a394188d6658a90e5a33b252e7bebb93cf613e161b731f9cce20998b3aa3576a
7
+ data.tar.gz: e757c3b2cb46f79cc2a5cb922a2c6ec506124721548398fab177bf42a3510113bbd53329c58af9bbc17b7efbd9c7799c971f1b9353f80192ff3e0c079a38fc75
@@ -1,66 +1,67 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zapp_sdk_tasks (0.2.0)
4
+ zapp_sdk_tasks (0.6.0)
5
5
  aws-sdk-s3 (~> 1)
6
- faraday (~> 0.15.3)
6
+ faraday (~> 1.0.0)
7
7
  rake (~> 11.0)
8
8
  versionomy (~> 0.5.0)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- ast (2.4.0)
14
- aws-eventstream (1.0.1)
15
- aws-partitions (1.117.0)
16
- aws-sdk-core (3.40.0)
17
- aws-eventstream (~> 1.0)
18
- aws-partitions (~> 1.0)
19
- aws-sigv4 (~> 1.0)
13
+ ast (2.4.1)
14
+ aws-eventstream (1.1.0)
15
+ aws-partitions (1.381.0)
16
+ aws-sdk-core (3.109.1)
17
+ aws-eventstream (~> 1, >= 1.0.2)
18
+ aws-partitions (~> 1, >= 1.239.0)
19
+ aws-sigv4 (~> 1.1)
20
20
  jmespath (~> 1.0)
21
- aws-sdk-kms (1.13.0)
22
- aws-sdk-core (~> 3, >= 3.39.0)
23
- aws-sigv4 (~> 1.0)
24
- aws-sdk-s3 (1.27.0)
25
- aws-sdk-core (~> 3, >= 3.39.0)
21
+ aws-sdk-kms (1.39.0)
22
+ aws-sdk-core (~> 3, >= 3.109.0)
23
+ aws-sigv4 (~> 1.1)
24
+ aws-sdk-s3 (1.83.0)
25
+ aws-sdk-core (~> 3, >= 3.109.0)
26
26
  aws-sdk-kms (~> 1)
27
- aws-sigv4 (~> 1.0)
28
- aws-sigv4 (1.0.3)
27
+ aws-sigv4 (~> 1.1)
28
+ aws-sigv4 (1.2.2)
29
+ aws-eventstream (~> 1, >= 1.0.2)
29
30
  blockenspiel (0.5.0)
30
- coderay (1.1.2)
31
- diff-lcs (1.3)
31
+ coderay (1.1.3)
32
+ diff-lcs (1.4.4)
32
33
  dotenv (2.5.0)
33
34
  fantaskspec (1.0.0)
34
35
  rake (>= 11.0)
35
36
  rspec (~> 3.0)
36
- faraday (0.15.4)
37
+ faraday (1.0.1)
37
38
  multipart-post (>= 1.2, < 3)
38
- jaro_winkler (1.5.1)
39
+ jaro_winkler (1.5.4)
39
40
  jmespath (1.4.0)
40
41
  method_source (0.9.2)
41
- multipart-post (2.0.0)
42
- parallel (1.12.1)
43
- parser (2.5.3.0)
44
- ast (~> 2.4.0)
42
+ multipart-post (2.1.1)
43
+ parallel (1.19.2)
44
+ parser (2.7.2.0)
45
+ ast (~> 2.4.1)
45
46
  powerpack (0.1.2)
46
47
  pry (0.12.2)
47
48
  coderay (~> 1.1.0)
48
49
  method_source (~> 0.9.0)
49
50
  rainbow (3.0.0)
50
51
  rake (11.3.0)
51
- rspec (3.8.0)
52
- rspec-core (~> 3.8.0)
53
- rspec-expectations (~> 3.8.0)
54
- rspec-mocks (~> 3.8.0)
55
- rspec-core (3.8.0)
56
- rspec-support (~> 3.8.0)
57
- rspec-expectations (3.8.2)
52
+ rspec (3.9.0)
53
+ rspec-core (~> 3.9.0)
54
+ rspec-expectations (~> 3.9.0)
55
+ rspec-mocks (~> 3.9.0)
56
+ rspec-core (3.9.3)
57
+ rspec-support (~> 3.9.3)
58
+ rspec-expectations (3.9.2)
58
59
  diff-lcs (>= 1.2.0, < 2.0)
59
- rspec-support (~> 3.8.0)
60
- rspec-mocks (3.8.0)
60
+ rspec-support (~> 3.9.0)
61
+ rspec-mocks (3.9.1)
61
62
  diff-lcs (>= 1.2.0, < 2.0)
62
- rspec-support (~> 3.8.0)
63
- rspec-support (3.8.0)
63
+ rspec-support (~> 3.9.0)
64
+ rspec-support (3.9.3)
64
65
  rspec_junit_formatter (0.4.1)
65
66
  rspec-core (>= 2, < 4, != 2.12.0)
66
67
  rubocop (0.60.0)
@@ -71,8 +72,8 @@ GEM
71
72
  rainbow (>= 2.2.2, < 4.0)
72
73
  ruby-progressbar (~> 1.7)
73
74
  unicode-display_width (~> 1.4.0)
74
- ruby-progressbar (1.10.0)
75
- unicode-display_width (1.4.0)
75
+ ruby-progressbar (1.10.1)
76
+ unicode-display_width (1.4.1)
76
77
  versionomy (0.5.0)
77
78
  blockenspiel (~> 0.5)
78
79
 
@@ -91,4 +92,4 @@ DEPENDENCIES
91
92
  zapp_sdk_tasks!
92
93
 
93
94
  BUNDLED WITH
94
- 1.16.2
95
+ 1.17.2
data/README.md CHANGED
@@ -26,6 +26,9 @@ Or install it yourself as:
26
26
 
27
27
  ## Usage
28
28
 
29
+ In order to use the tasks please add the following line before running the tasks:
30
+ `require "zapp_sdk_tasks"`
31
+
29
32
  This repo contains two tasks:
30
33
 
31
34
  #### Create Zapp SDK
@@ -66,6 +69,20 @@ param | description
66
69
  platform | The platform supported by the current published sdk (Currently supporting `android/ios/roku/tvos/samsung_tv`) |
67
70
  version | The requireed version for the published sdk |
68
71
 
72
+ #### Upload Development Project
73
+
74
+ This task uploads the Development project to Amazon s3, and updates Zapp.
75
+ **Make sure you setup `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`, `ZAPP_TOKEN` environment variable in order to use this task.
76
+
77
+ Run:
78
+
79
+ `bundle exec rake zapp_sdks:upload_dev_project[<path to the development project file>]`
80
+
81
+ **Params**
82
+
83
+ param | description
84
+ ----------------|-------------|
85
+ file path | Path to the development project file |
69
86
 
70
87
  ## Development
71
88
 
@@ -23,4 +23,3 @@ if defined?(Rails)
23
23
  end
24
24
  end
25
25
  end
26
-
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "uri"
4
+
3
5
  class S3Helper
4
6
  def self.resource_from_env_vars
5
7
  Aws::S3::Resource.new(
@@ -12,4 +14,11 @@ class S3Helper
12
14
  def self.write_options
13
15
  { acl: "public-read", cache_control: "max-age=60" }
14
16
  end
17
+
18
+ def self.extract_cdn_uri(uri)
19
+ cdn_uri = URI(uri)
20
+ cdn_uri.host = nil
21
+ cdn_uri.path = "/" + cdn_uri.path
22
+ cdn_uri.to_s
23
+ end
15
24
  end
@@ -27,6 +27,7 @@ class SdkHelper
27
27
  build_branch: preview?(request_options[:version]) ? request_options[:version] : "release"
28
28
  },
29
29
  use_latest_dev: base_sdk_id(request_options[:version]).to_s.empty?,
30
+ base_sdk_version_id: base_sdk_id(request_options[:version]),
30
31
  access_token: ENV["ZAPP_TOKEN"] || request_options[:zapp_token]
31
32
  }
32
33
  end
@@ -48,4 +49,8 @@ class SdkHelper
48
49
  version = Versionomy.parse(version)
49
50
  version.release_type
50
51
  end
52
+
53
+ def self.triggered_by_zapp?
54
+ ENV["triggered_by"] == "zapp"
55
+ end
51
56
  end
@@ -10,6 +10,11 @@ desc "Create SDK version on Zapp"
10
10
  namespace :zapp_sdks do
11
11
  task :create, :platform, :version, :project_repo_name, :zapp_token do |_task, args|
12
12
  begin
13
+ if SdkHelper.triggered_by_zapp?
14
+ puts "skipping sdk creation, was triggered by Zapp CMS"
15
+ next
16
+ end
17
+
13
18
  connection = Faraday.new(url: SdkHelper.zapp_host) do |faraday|
14
19
  faraday.request :url_encoded
15
20
  faraday.response :logger, ::Logger.new(STDOUT), bodies: true do |logger|
@@ -9,6 +9,11 @@ desc "Generate Changelog.md and publish to s3"
9
9
  namespace :zapp_sdks do
10
10
  task :publish_changelog, :platform, :version do |_task, args|
11
11
  begin
12
+ if SdkHelper.triggered_by_zapp?
13
+ puts "skipping sdk creation, was triggered by Zapp CMS"
14
+ next
15
+ end
16
+
12
17
  version = Versionomy.parse(args[:version])
13
18
  release_type = version.release_type
14
19
 
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "aws-sdk-s3"
4
+ require "faraday"
5
+ require "logger"
6
+
7
+ desc "Upload development project to S3, and update Zapp with the link"
8
+ namespace :zapp_sdks do
9
+ task :upload_dev_project, :project_path do |_task, args|
10
+ begin
11
+ s3 = S3Helper.resource_from_env_vars
12
+
13
+ obj = s3.bucket(ENV["S3_BUCKET_NAME"])
14
+ .object(
15
+ "zapp/" \
16
+ "accounts/#{ENV['accounts_account_id']}/" \
17
+ "apps/#{ENV['bundle_identifier']}/" \
18
+ "#{ENV['store']}/" \
19
+ "#{ENV['version_name']}/" \
20
+ "dev_project/dev_project.zip"
21
+ )
22
+
23
+ File.open(args[:project_path], "rb") do |file|
24
+ obj.put({ body: file }.merge(S3Helper.write_options))
25
+ end
26
+
27
+ puts "succefully uploaded the dev project to s3"
28
+ Rake::Task["zapp_sdks:update_zapp_version"].invoke(S3Helper.extract_cdn_uri(obj.public_url))
29
+ end
30
+ end
31
+ end
32
+
33
+ desc "update zapp with the project link"
34
+ namespace :zapp_sdks do
35
+ task :update_zapp_version, :project_link do |_task, args|
36
+ begin
37
+ unless args[:project_link]
38
+ puts "skipping zapp app version update. Empty dev project link"
39
+ next
40
+ end
41
+
42
+ connection = Faraday.new(url: SdkHelper.zapp_host) do |faraday|
43
+ faraday.request :url_encoded
44
+
45
+ faraday.response :logger, ::Logger.new(STDOUT), bodies: true do |logger|
46
+ logger.filter(/(access_token=)(\w+)/, "\1[REMOVED]")
47
+ end
48
+
49
+ faraday.adapter Faraday.default_adapter
50
+ end
51
+
52
+ params = {
53
+ app_version: { source_code_download_link: args[:project_link] },
54
+ access_token: ENV["ZAPP_TOKEN"]
55
+ }
56
+
57
+ response = connection.put("api/v1/app_versions/#{ENV['version_id']}", params)
58
+ raise "Failed to update version on Zapp. Error: #{response.status}" unless response.success?
59
+
60
+ puts "Version with id #{ENV['version_id']} was updated!"
61
+
62
+ puts "development project was updated!"
63
+ end
64
+ end
65
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZappSdkTasks
4
- VERSION = "0.2.1"
4
+ VERSION = "0.6.0"
5
5
  end
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
 
25
25
  spec.add_dependency "aws-sdk-s3", "~> 1"
26
- spec.add_dependency "faraday", "~> 0.15.3"
26
+ spec.add_dependency "faraday", "~> 1.0.0"
27
27
  spec.add_dependency "rake", "~> 11.0"
28
28
  spec.add_dependency "versionomy", "~> 0.5.0"
29
29
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zapp_sdk_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ran Meirman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-27 00:00:00.000000000 Z
11
+ date: 2020-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.15.3
33
+ version: 1.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.15.3
40
+ version: 1.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -203,6 +203,7 @@ files:
203
203
  - lib/zapp_sdk_tasks/sdk_helper.rb
204
204
  - lib/zapp_sdk_tasks/tasks/create_sdk.rake
205
205
  - lib/zapp_sdk_tasks/tasks/publish_changelog.rake
206
+ - lib/zapp_sdk_tasks/tasks/upload_dev_project.rake
206
207
  - lib/zapp_sdk_tasks/version.rb
207
208
  - zapp_sdk_tasks.gemspec
208
209
  homepage: https://github.com/applicaster/zapp-sdk-tasks