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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 209c566d675f24e9d390dc519042c8e0e4ae7d34106cc11554420645dec7059e
4
- data.tar.gz: d64745af6c9013723754bf43e3ad5741d157ab108f9f9257cb6d37bc466873e7
3
+ metadata.gz: f0cbebe24c4048ee123245be0352a99ead03f0ef5eb0f03a5b0acf61b818a1b7
4
+ data.tar.gz: 970f962d44fa10f55c66736261986867497967df383a7cbae502c3a42f1dba12
5
5
  SHA512:
6
- metadata.gz: c7d09ae152c411ca063d5285d112aa7fd3f62672b0847d24e72c01ef0729402899e82e7e7f98fda7f6909fcfb518676418dc078abbb198d9272c4e12721bfbad
7
- data.tar.gz: 2d510fa5fb4f2d1ad93b4a52033870eb3bf52a56a3987567133a7c550c8cc87e3ac9282da0a823e8415fa22b6639191f4b6d24bfe95527c1cb4dfea93cf3bc97
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.0)
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.9)
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
- The MIT License (MIT)
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
@@ -11,5 +11,6 @@ module GoNative
11
11
  register 'ios embed-extensions', IOS::EmbedExtensions
12
12
  register 'ios set-bundle-id', IOS::SetBundleId
13
13
  register 'android create', Android::Create
14
+ register 'android publish', Android::Publish
14
15
  end
15
16
  end
@@ -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
- target = proj.new_target(:app_extension,
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
- target.add_file_references(extension['source_files'].map { |path| extension_group.new_file(path) })
46
- target.add_resources(extension['resources'].map { |path| extension_group.new_file(path) })
47
- target.add_system_frameworks(extension['system_frameworks'])
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
- target.build_configurations.each do |config|
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(target)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GoNative
4
- VERSION = "0.9.1"
4
+ VERSION = "1.0.0"
5
5
  end
@@ -28,6 +28,6 @@ android {
28
28
  }
29
29
 
30
30
  dependencies {
31
- implementation "io.gonative.android:library:+"
32
- api project(':gonative-core')
31
+ implementation 'com.github.gonativeio:gonative-android-library:+'
32
+ implementation 'com.github.gonativeio:gonative-android-core:+'
33
33
  }
@@ -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.9.1
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-03-02 00:00:00.000000000 Z
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.3
258
+ rubygems_version: 3.2.22
258
259
  signing_key:
259
260
  specification_version: 4
260
261
  summary: CLI to create gonative plugins.