mmine 0.12.0 → 0.12.2
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 +4 -4
- data/bin/mmine +5 -2
- data/lib/mmine/notification_extension_integrator.rb +14 -1
- data/lib/mmine/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec38684e72cc5f370931b4e24b49e9aeeb94426bc9a09870aa3d48627e4e3122
|
4
|
+
data.tar.gz: 5936702355e3d56b0ee3890e61b9ba670da70f96839718ed8504b05937d067ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9497bfab57a269d5da68058e256b4c3983ec199a7325f1971eaf396bee2330547f608395746f10b215ce9bf3622b5f543fed74a2cfb18de0e436df1057983840
|
7
|
+
data.tar.gz: 9a4e2eb7999c3d4523565df455af032b16e236fc1f6a7614c67091cbba483401631e328aeb34ffcf625edd1a9d7726a3910c8e9d7417648629b8a0c327db75af
|
data/bin/mmine
CHANGED
@@ -39,7 +39,10 @@ integrate_parse = OptionParser.new do |opts|
|
|
39
39
|
options[:"static-linkage"] = static_linkage
|
40
40
|
end
|
41
41
|
opts.on("-r", "--react-native", "Provide React-Native specific settings") do |react_native|
|
42
|
-
|
42
|
+
options[:"react-native"] = react_native
|
43
|
+
end
|
44
|
+
opts.on("--spm", "--spm", "If MobileMessaging is integrated using Swift Package Manager") do |spm|
|
45
|
+
options[:"spm"] = spm
|
43
46
|
end
|
44
47
|
opts.on("-h", "--help", "Prints this help") do
|
45
48
|
puts opts
|
@@ -56,7 +59,7 @@ when "integrate"
|
|
56
59
|
unless missing.empty?
|
57
60
|
raise OptionParser::MissingArgument.new(missing.join(', '))
|
58
61
|
end
|
59
|
-
integrator = NotificationExtensionIntegrator.new(options[:"application-code"], options[:project], options[:"app-group"], options[:target], options[:cordova] || false, options[:xcframework] || false, options[:"swift-version"] || "5", options[:"override-signing"] || false, options[:"static-linkage"] || false, options[:"react-native"] || false)
|
62
|
+
integrator = NotificationExtensionIntegrator.new(options[:"application-code"], options[:project], options[:"app-group"], options[:target], options[:cordova] || false, options[:xcframework] || false, options[:"swift-version"] || "5", options[:"override-signing"] || false, options[:"static-linkage"] || false, options[:"react-native"] || false, options[:"spm"] || false)
|
60
63
|
integrator.logger = Logger.new(STDOUT)
|
61
64
|
integrator.logger.formatter = proc do |severity, datetime, progname, msg|
|
62
65
|
"#{severity}: #{msg}\n"
|
@@ -14,7 +14,7 @@ module Mmine
|
|
14
14
|
end
|
15
15
|
|
16
16
|
class NotificationExtensionIntegrator
|
17
|
-
def initialize(application_code, project_file_path, app_group, main_target_name, cordova = false, xcframework = false, swift_ver, override_signing, static_linkage, react_native)
|
17
|
+
def initialize(application_code, project_file_path, app_group, main_target_name, cordova = false, xcframework = false, swift_ver, override_signing, static_linkage, react_native, spm)
|
18
18
|
@project_file_path = project_file_path
|
19
19
|
@app_group = app_group
|
20
20
|
@main_target_name = main_target_name
|
@@ -26,6 +26,7 @@ class NotificationExtensionIntegrator
|
|
26
26
|
@override_signing = override_signing
|
27
27
|
@static_linkage = static_linkage
|
28
28
|
@react_native = react_native
|
29
|
+
@spm = spm
|
29
30
|
|
30
31
|
@project_dir = Pathname.new(@project_file_path).parent.to_s
|
31
32
|
@project = Xcodeproj::Project.open(@project_file_path)
|
@@ -50,6 +51,7 @@ class NotificationExtensionIntegrator
|
|
50
51
|
|
51
52
|
def setup_notification_extension
|
52
53
|
puts "🏎 Integration starting... ver. #{Mmine::VERSION}"
|
54
|
+
@logger.debug("Integration with parameters: \n application_code: #{@application_code} \n project_file_path: #{@project_file_path} \n app_group: #{@app_group} \n main_target_name: #{@main_target_name} \n cordova: #{@cordova} \n xcframework: #{@xcframework} \n swift_ver: #{@swift_ver} \n override_signing: #{@override_signing} \n static_linkage: #{@static_linkage} \n react_native: #{@react_native} \n spm: #{@spm}")
|
53
55
|
@logger.debug("\n@main_target_build_configurations_debug #{@main_build_configurations_debug}\n@main_target_build_configurations_release #{@main_build_configurations_release}")
|
54
56
|
@logger.debug("\n@main_target_build_configurations_debug #{JSON.pretty_generate(@main_build_settings_debug)}\n@main_target_build_configurations_release #{JSON.pretty_generate(@main_build_settings_release)}")
|
55
57
|
create_notification_extension_target
|
@@ -110,6 +112,10 @@ class NotificationExtensionIntegrator
|
|
110
112
|
setup_library_search_paths
|
111
113
|
end
|
112
114
|
|
115
|
+
if @spm
|
116
|
+
setup_extension_spm_dependency('MobileMessaging')
|
117
|
+
end
|
118
|
+
|
113
119
|
@project.save
|
114
120
|
puts "🏁 Integration has been finished successfully!"
|
115
121
|
end
|
@@ -119,6 +125,13 @@ class NotificationExtensionIntegrator
|
|
119
125
|
set_notification_extension_build_settings('LIBRARY_SEARCH_PATHS', '"${BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/CocoaLumberjack" "${BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MobileMessaging"')
|
120
126
|
end
|
121
127
|
|
128
|
+
def setup_extension_spm_dependency(name)
|
129
|
+
product_dependency = @main_target.package_product_dependencies.find { |ref| ref.product_name == name }
|
130
|
+
unless product_dependency.nil? || @extension_target.package_product_dependencies.any? {|ref| ref.product_name == name}
|
131
|
+
@extension_target.package_product_dependencies.append(product_dependency)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
122
135
|
def setup_extension_lib_link(lib_name)
|
123
136
|
if @extension_target.frameworks_build_phase.files_references.select { |ref| ref.path == lib_name }.first
|
124
137
|
@logger.info("Notification Extension target already has "+ lib_name + " linked.")
|
data/lib/mmine/version.rb
CHANGED
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mmine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrey Kadochnikov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2018-10-16 00:00:00.000000000 Z
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.22.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.22.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ licenses:
|
|
58
58
|
- MIT
|
59
59
|
metadata:
|
60
60
|
source_code_url: https://github.com/infobip/mobile-messaging-mmine
|
61
|
-
post_install_message:
|
61
|
+
post_install_message:
|
62
62
|
rdoc_options: []
|
63
63
|
require_paths:
|
64
64
|
- lib
|
@@ -73,8 +73,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
requirements: []
|
76
|
-
rubygems_version: 3.1
|
77
|
-
signing_key:
|
76
|
+
rubygems_version: 3.0.3.1
|
77
|
+
signing_key:
|
78
78
|
specification_version: 4
|
79
79
|
summary: Mobile Messaging iOS Notification Extension Integration Tool made at Infobip
|
80
80
|
(https://www.infobip.com)!!!
|