gonative-cli 0.9.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/LICENSE.txt +1 -21
- data/lib/gonative/commands/android/publish.rb +40 -0
- data/lib/gonative/commands.rb +1 -0
- data/lib/gonative/plugins/ios/embed_extensions.rb +8 -7
- data/lib/gonative/version.rb +1 -1
- data/templates/plugins/android/build.gradle +2 -2
- data/templates/plugins/ios/common/PLUGIN_NAME.podspec.tpl +2 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0cbebe24c4048ee123245be0352a99ead03f0ef5eb0f03a5b0acf61b818a1b7
|
4
|
+
data.tar.gz: 970f962d44fa10f55c66736261986867497967df383a7cbae502c3a42f1dba12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e7914e087363e1711081a7f730d6d3b8a7123e9b2d42e5e284d4626d93b7550d4110e2fab3e6197ea735dcd470a0d7970c07945a4e961225d5dc14c0846dae3
|
7
|
+
data.tar.gz: '0579e6ef7475474e625f4da6ab95d3f18553962b5b7d20a5d84ff99fb06b8a046a7d2d58d4781895e597d97d8532afb583c91b5af9534e92fa6dcf4abc8e603b'
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gonative-cli (0.9.
|
4
|
+
gonative-cli (0.9.3)
|
5
5
|
activesupport (~> 6.0)
|
6
6
|
cocoapods (~> 1.10)
|
7
7
|
colorize (~> 0.8.0)
|
@@ -68,7 +68,7 @@ GEM
|
|
68
68
|
coderay (1.1.3)
|
69
69
|
colored2 (3.1.2)
|
70
70
|
colorize (0.8.1)
|
71
|
-
concurrent-ruby (1.1.
|
71
|
+
concurrent-ruby (1.1.10)
|
72
72
|
diff-lcs (1.4.4)
|
73
73
|
dry-cli (0.7.0)
|
74
74
|
escape (0.0.4)
|
data/LICENSE.txt
CHANGED
@@ -1,21 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
Copyright (c) 2021 Hunaid Hassan
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
1
|
+
Licensing information available at https://gonative.io/
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GoNative
|
4
|
+
module Commands
|
5
|
+
module Android
|
6
|
+
class Publish < Base
|
7
|
+
desc 'Used to update one of the android internal dependencies'
|
8
|
+
|
9
|
+
def call
|
10
|
+
assert_build_file_exists!
|
11
|
+
create_and_push_tag!
|
12
|
+
end
|
13
|
+
|
14
|
+
def assert_build_file_exists!
|
15
|
+
return if gradle_file
|
16
|
+
|
17
|
+
raise Error, "No build.gradle file exists"
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def gradle_file
|
23
|
+
Dir.entries(".").select { |s| s == "build.gradle" }.first
|
24
|
+
end
|
25
|
+
|
26
|
+
def version
|
27
|
+
@version ||= `grep -o "versionName\s.*\d.\d.\d" build.gradle | awk '{ print $2 }' | tr -d \''"\'`
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_and_push_tag!
|
31
|
+
unless system("git tag | grep #{version} > /dev/null")
|
32
|
+
system "git add -A && git commit -m \"Releases #{version}.\""
|
33
|
+
system "git tag #{version}"
|
34
|
+
system "git push && git push --tags"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/gonative/commands.rb
CHANGED
@@ -13,7 +13,6 @@ module GoNative
|
|
13
13
|
attr_reader :extensions
|
14
14
|
|
15
15
|
def call
|
16
|
-
FileUtils.cd('/Users/hunaidhassan/Projects/gonative/gonative-ios')
|
17
16
|
prepare_extensions
|
18
17
|
embed_in_project
|
19
18
|
modify_podfile
|
@@ -35,27 +34,29 @@ module GoNative
|
|
35
34
|
proj = Xcodeproj::Project.open('GoNativeIOS.xcodeproj')
|
36
35
|
app_target = proj.native_targets.first
|
37
36
|
extensions.each do |extension|
|
38
|
-
|
37
|
+
extension_target = proj.new_target(:app_extension,
|
39
38
|
extension['name'],
|
40
39
|
:ios,
|
41
40
|
'11.0')
|
42
41
|
extension_group = proj.new_group(extension['name'], extension['name'])
|
43
42
|
|
44
43
|
extension['headers'].each { |path| extension_group.new_file(path) }
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
extension_target.add_file_references(extension['source_files'].map { |path| extension_group.new_file(path) })
|
45
|
+
extension_target.add_resources(extension['resources'].map { |path| extension_group.new_file(path) })
|
46
|
+
extension_target.add_system_frameworks(extension['system_frameworks'])
|
48
47
|
extension_group.new_file(extension['info'])
|
49
48
|
extension_group.new_file(extension['entitlements']) if extension['entitlements']
|
50
|
-
|
49
|
+
extension_target.build_configurations.each do |config|
|
51
50
|
config.build_settings['PRODUCT_NAME'] = "$(TARGET_NAME)"
|
52
51
|
config.build_settings['INFOPLIST_FILE'] = "#{extension['name']}/#{extension['info']}"
|
53
52
|
config.build_settings['CODE_SIGN_ENTITLEMENTS'] = "#{extension['name']}/#{extension['entitlements']}" if extension['entitlements']
|
54
53
|
end
|
55
|
-
app_target.add_dependency(
|
54
|
+
app_target.add_dependency(extension_target)
|
56
55
|
extension_file = proj.files.find{|f| f.path == "#{extension['name']}.appex" }
|
57
56
|
embed_phase = app_target.build_phases.find { |phase| phase.class.method_defined?(:name) && phase.name == 'Embed App Extensions' }
|
58
57
|
embed_phase.add_file_reference(extension_file, true)
|
58
|
+
app_config = proj.files.find{|f| f.path == 'appConfig.json' }
|
59
|
+
extension_target.resources_build_phase.add_file_reference(app_config, true)
|
59
60
|
end
|
60
61
|
|
61
62
|
proj.save
|
data/lib/gonative/version.rb
CHANGED
@@ -14,16 +14,17 @@ TODO: Add long description of the pod here.
|
|
14
14
|
|
15
15
|
s.ios.deployment_target = '10.0'
|
16
16
|
s.swift_versions = '5.0'
|
17
|
-
s.preserve_paths = ['plist/*.{plist}', 'Extensions/**/*']
|
18
17
|
|
19
18
|
s.subspec 'Source' do |cs|
|
20
19
|
cs.source_files = '#{plugin_name}/Classes/**/*.{h,m,swift}'
|
21
20
|
cs.resource_bundle = { '#{plugin_name}JS' => 'js/*.{js,json}' }
|
21
|
+
cs.preserve_paths = ['plist/*.{plist}', 'Extensions/**/*']
|
22
22
|
end
|
23
23
|
|
24
24
|
s.subspec 'Binary' do |cs|
|
25
25
|
cs.ios.vendored_frameworks = 'XCFramework/#{plugin_name}.xcframework'
|
26
26
|
cs.resource_bundle = { '#{plugin_name}JS' => 'js/*.{js,json}' }
|
27
|
+
cs.preserve_paths = ['plist/*.{plist}', 'Extensions/**/*']
|
27
28
|
end
|
28
29
|
|
29
30
|
s.default_subspec = 'Source'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gonative-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hunaid Hassan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-cli
|
@@ -188,6 +188,7 @@ files:
|
|
188
188
|
- lib/gonative.rb
|
189
189
|
- lib/gonative/commands.rb
|
190
190
|
- lib/gonative/commands/android/create.rb
|
191
|
+
- lib/gonative/commands/android/publish.rb
|
191
192
|
- lib/gonative/commands/base.rb
|
192
193
|
- lib/gonative/commands/ios/create.rb
|
193
194
|
- lib/gonative/commands/ios/embed_extensions.rb
|
@@ -254,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
254
255
|
- !ruby/object:Gem::Version
|
255
256
|
version: '0'
|
256
257
|
requirements: []
|
257
|
-
rubygems_version: 3.2.
|
258
|
+
rubygems_version: 3.2.22
|
258
259
|
signing_key:
|
259
260
|
specification_version: 4
|
260
261
|
summary: CLI to create gonative plugins.
|