zapp_sdk_tasks 0.3.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96b152b812b60f4e2f264b989472f01c4e88e67c1ba76aaf4d79c8b1f3d609ce
4
- data.tar.gz: 623122396e823a40d2155d550f61b3099a70b9bb56aeea6855021615c77d6f71
3
+ metadata.gz: b9be9f1eef63ad943201a9092037702c06593ae1d1116b03e687321326f30c2e
4
+ data.tar.gz: 94fc5ebfc2c49b01759b6c1dd13c2370559cac3849e8e3ec6c9178a19c548ebe
5
5
  SHA512:
6
- metadata.gz: c3ac3f4c8687fd22f9a491f796c007cd840dceb6bc730b0f88f53e2baf0a00ef743f20cf904b6b6a7b4802fea0446706e5ec5df52bbdf5941a803184cd5a6b9b
7
- data.tar.gz: 14c90fdf57f3ca524255f4428d549176f9d468f67f18ace6f2a5f61171d42a6492b13a66b919eb06945a91ae6baa57a32f5e939ef0c3a036cb934ed1832a9725
6
+ metadata.gz: e2051e666e96850bb4a1854e65497bb78f2f95863ea457e7a62efb7153e6964102a770ebc9bc98d5803112779c313f78781c12bd4840137fbfb607205c7f773a
7
+ data.tar.gz: a3dd95552cf81872a1dc13e7e1d014ffeed38cd491ceb3d6fc81709eb147f79d7a2e6ace49b081fcb5c90aabc26e068031798400366ea005493da5d177472fdb
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zapp_sdk_tasks (0.3.0)
4
+ zapp_sdk_tasks (0.4.1)
5
5
  aws-sdk-s3 (~> 1)
6
6
  faraday (~> 0.15.3)
7
7
  rake (~> 11.0)
data/README.md CHANGED
@@ -69,6 +69,20 @@ param | description
69
69
  platform | The platform supported by the current published sdk (Currently supporting `android/ios/roku/tvos/samsung_tv`) |
70
70
  version | The requireed version for the published sdk |
71
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 |
72
86
 
73
87
  ## Development
74
88
 
@@ -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
@@ -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.3.0"
4
+ VERSION = "0.4.1"
5
5
  end
@@ -3,19 +3,13 @@
3
3
  require "zapp_sdk_tasks/version"
4
4
 
5
5
  module ZappSdkTasks
6
- class ZappRakeTasks
7
- include Rake::DSL if defined? Rake::DSL
6
+ include Rake::DSL if defined? Rake::DSL
8
7
 
9
- def install_tasks
10
- path = File.expand_path(__dir__)
11
- $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), "lib"))
12
- Dir.glob("#{path}/lib/**/*.rake").each { |f| load f }
13
- end
14
- end
8
+ path = File.expand_path(__dir__)
9
+ $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), "lib"))
10
+ Dir.glob("#{path}/**/*.rake").each { |f| load f }
15
11
  end
16
12
 
17
- ZappSdkTasks::ZappRakeTasks.new.install_tasks
18
-
19
13
  if defined?(Rails)
20
14
  module ZappSdkTasks
21
15
  class Railtie < ::Rails::Railtie
@@ -24,7 +18,7 @@ if defined?(Rails)
24
18
  rake_tasks do
25
19
  path = File.expand_path(__dir__)
26
20
  $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), "lib"))
27
- Dir.glob("#{path}/lib/**/*.rake").each { |f| load f }
21
+ Dir.glob("#{path}/**/*.rake").each { |f| load f }
28
22
  end
29
23
  end
30
24
  end
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.3.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ran Meirman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-08 00:00:00.000000000 Z
11
+ date: 2019-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -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
@@ -223,8 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
224
  - !ruby/object:Gem::Version
224
225
  version: '0'
225
226
  requirements: []
226
- rubyforge_project:
227
- rubygems_version: 2.7.6
227
+ rubygems_version: 3.0.2
228
228
  signing_key:
229
229
  specification_version: 4
230
230
  summary: Zapp sdks related common tasks