fastlane_core 0.17.1 → 0.18.0

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
  SHA1:
3
- metadata.gz: 30775ef6dc379ae94955e2b11b1ecf18c95827bb
4
- data.tar.gz: 1b3f88ced46c5f0bc4a054e9edb3ec806f7a2266
3
+ metadata.gz: 5692cce90b737af822e5f7d5c6f181d93b56a694
4
+ data.tar.gz: c2b5cd21d3fd8ab15536b67c607f45a42f9155f0
5
5
  SHA512:
6
- metadata.gz: 7adfb3375a3d112d98edc36353b52f3a76ebc29074b782195d8617140c47d4e151819e98ccb7801f3bfd4fabf71eae107407c264f0c9d3663b074790a1ca09c7
7
- data.tar.gz: 81223d25c552b719d723a204ab0ea25595fce96160c83225cae86c12f1af137e8bd363379a265a52370de5010eb1d201c873dc092576135e7f3dc6fccf880bc9
6
+ metadata.gz: 696adb690deab891009a1f7a939df68b30260f65c1fbd80b4177858a856b721448d535234b322d9e2bb498bd8c4f84a9f2948303059951361d65c7b1d4e4bec2
7
+ data.tar.gz: 3ff6ad23325ba6a978b88a7fb4f959da0145a6550e8ddd00f9656a0c775efdd489dba9463d18aa343daeff2bb1d34f5adf95d711ebb238352ba5640ae2c355d3
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <package xmlns="http://apple.com/itunes/importer" version="software4.7">
3
+ <software_assets apple_id="<%= @data[:apple_id] %>">
4
+ <asset type="bundle">
5
+ <data_file>
6
+ <size><%= @data[:file_size] %></size>
7
+ <file_name><%= @data[:ipa_path] %></file_name>
8
+ <checksum type="md5"><%= @data[:md5] %></checksum>
9
+ </data_file>
10
+ </asset>
11
+ </software_assets>
12
+ </package>
data/lib/fastlane_core.rb CHANGED
@@ -10,6 +10,7 @@ require 'fastlane_core/ipa_file_analyser'
10
10
  require 'fastlane_core/itunes_transporter'
11
11
  require 'fastlane_core/provisioning_profile'
12
12
  require 'fastlane_core/command_executor'
13
+ require 'fastlane_core/ipa_upload_package_builder'
13
14
 
14
15
  # Third Party code
15
16
  require 'colored'
@@ -13,20 +13,21 @@ module FastlaneCore
13
13
  options.each do |option|
14
14
  appendix = (option.is_string ? "STRING" : "")
15
15
  type = (option.is_string ? String : nil)
16
- short_option = option.short_option || "-#{option.key.to_s[0]}"
16
+ short_option = option.short_option
17
17
 
18
18
  raise "Short option #{short_option} already taken for key #{option.key}".red if short_codes.include? short_option
19
19
  raise "-v is already used for the version (key #{option.key})".red if short_option == "-v"
20
20
  raise "-h is already used for the help screen (key #{option.key})".red if short_option == "-h"
21
21
  raise "-t is already used for the trace screen (key #{option.key})".red if short_option == "-t"
22
22
 
23
- short_codes << short_option
23
+ short_codes << short_option if short_option
24
24
 
25
25
  # Example Call
26
26
  # c.option '-p', '--pattern STRING', String, 'Description'
27
27
 
28
28
  flag = "--#{option.key} #{appendix}"
29
- description = (option.description + " (#{option.env_name})")
29
+ description = option.description
30
+ description += " (#{option.env_name})" if option.env_name.to_s.length > 0
30
31
 
31
32
  global_option short_option, flag, type, description
32
33
  end
@@ -0,0 +1,44 @@
1
+ require "digest/md5"
2
+
3
+ module FastlaneCore
4
+ # Builds a package for the binary ready to be uploaded with the iTunes Transporter
5
+ class IpaUploadPackageBuilder
6
+ METADATA_FILE_NAME = "metadata.xml"
7
+
8
+ attr_accessor :package_path
9
+
10
+ def generate(app_id: nil, ipa_path: nil, package_path: nil)
11
+ self.package_path = File.join(package_path, "#{app_id}.itmsp")
12
+ FileUtils.rm_rf self.package_path if File.directory?(self.package_path)
13
+ FileUtils.mkdir_p self.package_path
14
+
15
+ lib_path = Helper.gem_path("fastlane_core")
16
+
17
+ ipa_path = copy_ipa(ipa_path)
18
+ @data = {
19
+ apple_id: app_id,
20
+ file_size: File.size(ipa_path),
21
+ ipa_path: File.basename(ipa_path), # this is only the base name as the ipa is inside the package
22
+ md5: Digest::MD5.hexdigest(File.read(ipa_path))
23
+ }
24
+
25
+ xml_path = File.join(lib_path, "lib/assets/XMLTemplate.xml.erb")
26
+ xml = ERB.new(File.read(xml_path)).result(binding) # http://www.rrn.dk/rubys-erb-templating-system
27
+
28
+ File.write(File.join(self.package_path, METADATA_FILE_NAME), xml)
29
+ Helper.log.info "Wrote XML data to '#{self.package_path}'".green if $verbose
30
+
31
+ return package_path
32
+ end
33
+
34
+ private
35
+
36
+ def copy_ipa(ipa_path)
37
+ ipa_file_name = Digest::MD5.hexdigest(ipa_path)
38
+ resulting_path = File.join(self.package_path, "#{ipa_file_name}.ipa")
39
+ FileUtils.cp(ipa_path, resulting_path)
40
+
41
+ return resulting_path
42
+ end
43
+ end
44
+ end
@@ -1,3 +1,3 @@
1
1
  module FastlaneCore
2
- VERSION = "0.17.1"
2
+ VERSION = "0.18.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-21 00:00:00.000000000 Z
11
+ date: 2015-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -305,6 +305,7 @@ extra_rdoc_files: []
305
305
  files:
306
306
  - LICENSE
307
307
  - README.md
308
+ - lib/assets/XMLTemplate.xml.erb
308
309
  - lib/fastlane_core.rb
309
310
  - lib/fastlane_core/cert_checker.rb
310
311
  - lib/fastlane_core/command_executor.rb
@@ -314,6 +315,7 @@ files:
314
315
  - lib/fastlane_core/configuration/configuration_file.rb
315
316
  - lib/fastlane_core/helper.rb
316
317
  - lib/fastlane_core/ipa_file_analyser.rb
318
+ - lib/fastlane_core/ipa_upload_package_builder.rb
317
319
  - lib/fastlane_core/itunes_connect/itunes_connect.rb
318
320
  - lib/fastlane_core/itunes_connect/itunes_connect_apple_id.rb
319
321
  - lib/fastlane_core/itunes_connect/itunes_connect_helper.rb
@@ -344,7 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
344
346
  version: '0'
345
347
  requirements: []
346
348
  rubyforge_project:
347
- rubygems_version: 2.4.5
349
+ rubygems_version: 2.4.6
348
350
  signing_key:
349
351
  specification_version: 4
350
352
  summary: Contains all shared code/dependencies of the fastlane.tools