zapp_sdk_tasks 0.3.0 → 0.4.1

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: 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