cocoapods-embed-flutter 0.5.2 → 0.6.1

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.vscode/extensions.json +6 -0
  3. data/CHANGELOG.md +70 -19
  4. data/Gemfile +2 -4
  5. data/Gemfile.lock +66 -9
  6. data/README.md +15 -1
  7. data/Rakefile +19 -8
  8. data/cocoapods-embed-flutter.gemspec +13 -11
  9. data/lib/cocoapods-embed-flutter/flutter/dependency.rb +22 -7
  10. data/lib/cocoapods-embed-flutter/flutter/downloader.rb +3 -0
  11. data/lib/cocoapods-embed-flutter/flutter/external_sources.rb +17 -10
  12. data/lib/cocoapods-embed-flutter/flutter/pubspec.rb +51 -18
  13. data/lib/cocoapods-embed-flutter/gem_version.rb +1 -1
  14. data/lib/cocoapods-embed-flutter/src/pub.rb +8 -2
  15. metadata +22 -33
  16. data/.github/config/config.js +0 -21
  17. data/.github/config/package-lock.json +0 -223
  18. data/.github/config/package.json +0 -16
  19. data/.github/config/pre_changelog_hook.js +0 -27
  20. data/.github/dependabot.yml +0 -23
  21. data/.github/workflows/main.yml +0 -146
  22. data/example/flutter_module/.gitignore +0 -48
  23. data/example/flutter_module/.metadata +0 -10
  24. data/example/flutter_module/README.md +0 -11
  25. data/example/flutter_module/analysis_options.yaml +0 -4
  26. data/example/flutter_module/flutter_module.iml +0 -18
  27. data/example/flutter_module/flutter_module_android.iml +0 -27
  28. data/example/flutter_module/lib/main.dart +0 -112
  29. data/example/flutter_module/pubspec.lock +0 -174
  30. data/example/flutter_module/pubspec.yaml +0 -87
  31. data/example/flutter_module/test/widget_test.dart +0 -30
  32. data/example/ios_app/Gemfile +0 -4
  33. data/example/ios_app/Gemfile.lock +0 -110
  34. data/example/ios_app/Podfile +0 -11
  35. data/example/ios_app/Podfile.lock +0 -28
  36. data/example/ios_app/ios_app/Assets.xcassets/AccentColor.colorset/Contents.json +0 -11
  37. data/example/ios_app/ios_app/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
  38. data/example/ios_app/ios_app/Assets.xcassets/Contents.json +0 -6
  39. data/example/ios_app/ios_app/ContentView.swift +0 -40
  40. data/example/ios_app/ios_app/Preview Content/Preview Assets.xcassets/Contents.json +0 -6
  41. data/example/ios_app/ios_app/ios_appApp.swift +0 -18
  42. data/example/ios_app/ios_app.xcodeproj/project.pbxproj +0 -426
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9ae5dc943a0d203ecb44df0c993c74efc577a0bf6df91307542b481742ab57d
4
- data.tar.gz: 24c2f07b53107ce278b2258e75b561eed8ae2ab0091ee042160d37bc7a139b35
3
+ metadata.gz: cff1bb110d17430843c65f81a08a8667932ec8dbbf825d3d6e06265bda88b19b
4
+ data.tar.gz: 3aa62f67bbca421ed63029fb60aa24c41b58bdd2b65cdeb595ac67166453c0c6
5
5
  SHA512:
6
- metadata.gz: 84712a81b102bfd17f404149e36638808c327dad94baf6c1de05de92c1f661bfc923337f8d90d8a0d5ec26ddfecf5d77f74771266ec871db9a9bedbce7d30959
7
- data.tar.gz: a1a8c364d1f099cb957f57bba3eb2fb980563ed4ad794eff8b51d4d42246a2cfeedb08d94b04a33126c27f49bf11ffbd9b967c020e7654f79b49a8bab21b788c
6
+ metadata.gz: 4c514345f8b67b9f3cc6acc4859b090dd1546ebb4d5cb13a7f5bc20921862041a49a2e03bf4195633cb2498b9d6769b888734f1639dcdd27f729744b783a0ab4
7
+ data.tar.gz: 4b916e131d5a74ba7aae72eabdeb8e3b740aed7c2320bc102aec8b9180ba6b152aa833326d30023c06268ac5c4b1d7772c5e6c141a9acc19cde8d081f609dd10
@@ -0,0 +1,6 @@
1
+ {
2
+ "recommendations": [
3
+ "castwide.solargraph",
4
+ "rebornix.ruby"
5
+ ]
6
+ }
data/CHANGELOG.md CHANGED
@@ -1,52 +1,103 @@
1
+ ### [0.6.1](https://github.com/DartBuild/cocoapods-embed-flutter/compare/v0.6.0...v0.6.1) (2022-05-03)
2
+
3
+
4
+ ### 🛠 Dependency
5
+
6
+ * bump cocoapods-downloader from 1.5.1 to 1.6.3 ([#5](https://github.com/DartBuild/cocoapods-embed-flutter/issues/5)) ([8067f06](https://github.com/DartBuild/cocoapods-embed-flutter/commit/8067f062ab268fcc588e60c5cf54c3fe4da1d3e2))
7
+ * bump nokogiri from 1.13.3 to 1.13.4 ([#7](https://github.com/DartBuild/cocoapods-embed-flutter/issues/7)) ([975638e](https://github.com/DartBuild/cocoapods-embed-flutter/commit/975638ecda2fc65f4141d1e0a37f08a775692984))
8
+
9
+
10
+ ### 💡 Continuous Integration
11
+
12
+ * add codeql scanning ([3120c44](https://github.com/DartBuild/cocoapods-embed-flutter/commit/3120c446adf3bce9b80fe07a0d57ca79d7adfe7e))
13
+ * **Deps:** bump @actions/core from 1.6.0 to 1.7.0 in /.github/config ([#8](https://github.com/DartBuild/cocoapods-embed-flutter/issues/8)) ([a3861ad](https://github.com/DartBuild/cocoapods-embed-flutter/commit/a3861ad7223c5d9a2021b15359d158a7c9ea2705))
14
+ * **Deps:** bump semver from 7.3.5 to 7.3.7 in /.github/config ([#9](https://github.com/DartBuild/cocoapods-embed-flutter/issues/9)) ([36f2599](https://github.com/DartBuild/cocoapods-embed-flutter/commit/36f2599074c2a4e13bbd07680cc0cb208fe7ee97))
15
+ * **Deps:** bump subosito/flutter-action from 2.3.0 to 2.4.0 ([#10](https://github.com/DartBuild/cocoapods-embed-flutter/issues/10)) ([2e6c1c1](https://github.com/DartBuild/cocoapods-embed-flutter/commit/2e6c1c108bc4dc44e25844d13fd0bb86639bba2e))
16
+ * **Runners:** added self hosted macos runner ([3371c29](https://github.com/DartBuild/cocoapods-embed-flutter/commit/3371c294ea34f2fa123e4ebb6ae368311e5dfb8b))
17
+
18
+
19
+ ### 🐎 Performance Improvements
20
+
21
+ * allow concurrent `flutter pub get` ([ef5bc8a](https://github.com/DartBuild/cocoapods-embed-flutter/commit/ef5bc8a7daa0eada810210e481f0be708182192c))
22
+
23
+ ## [0.6.0](https://github.com/DartBuild/cocoapods-embed-flutter/compare/v0.5.3...v0.6.0) (2022-03-27)
24
+
25
+
26
+ ### 📚 Documentation
27
+
28
+ * **README:** add pub.dev limitation ([f42de7c](https://github.com/DartBuild/cocoapods-embed-flutter/commit/f42de7c908d65661bb12e8becc6fc6941295d19a))
29
+
30
+
31
+ ### 🛠 Dependency
32
+
33
+ * bump cocoapods from 1.11.2 to 1.11.3 ([#4](https://github.com/DartBuild/cocoapods-embed-flutter/issues/4)) ([8cec1cb](https://github.com/DartBuild/cocoapods-embed-flutter/commit/8cec1cbe4c18dd20d155d5b1b8824ae7910a11c3))
34
+
35
+
36
+ ### 💄 Styles
37
+
38
+ * add vscode extensions recommendation ([db4bdb5](https://github.com/DartBuild/cocoapods-embed-flutter/commit/db4bdb58765851cabfdf16254678301b149faceb))
39
+
40
+
41
+ ### 🚀 Features
42
+
43
+ * allow specifying different path for remote sources ([56178ed](https://github.com/DartBuild/cocoapods-embed-flutter/commit/56178ed645a476e19b77377c246ce90de582b5ef))
44
+
45
+ ### [0.5.3](https://github.com/DartBuild/cocoapods-embed-flutter/compare/v0.5.2...v0.5.3) (2022-03-18)
46
+
47
+
48
+ ### 📚 Documentation
49
+
50
+ * **README:** add limitations ([8830ead](https://github.com/DartBuild/cocoapods-embed-flutter/commit/8830eadfbb46ddbce83a2bf329bc04fa3cfe2583))
51
+
1
52
  ### [0.5.2](https://github.com/DartBuild/cocoapods-embed-flutter/compare/v0.5.1...v0.5.2) (2022-03-12)
2
53
 
3
54
 
4
55
  ### 📚 Documentation
5
56
 
6
- * add helpful links and badges ([4ab6983](https://github.com/DartBuild/cocoapods-embed-flutter/commit/4ab69837d5057a0049e1533a00c6209556aec5b0))
57
+ * add helpful links and badges ([8fb5253](https://github.com/DartBuild/cocoapods-embed-flutter/commit/8fb52531d66782525ae10a36bd7c1a5a062c02a4))
7
58
 
8
59
 
9
60
  ### 💡 Continuous Integration
10
61
 
11
- * **Deps:** bump actions/checkout from 2 to 3 ([#2](https://github.com/DartBuild/cocoapods-embed-flutter/issues/2)) ([3d1ca07](https://github.com/DartBuild/cocoapods-embed-flutter/commit/3d1ca0732a87e04561bc68ba1bbfc337173cd783))
12
- * **Deps:** bump actions/setup-node from 2 to 3 ([#3](https://github.com/DartBuild/cocoapods-embed-flutter/issues/3)) ([efd8f1a](https://github.com/DartBuild/cocoapods-embed-flutter/commit/efd8f1a82ce8ca6cd12adc1e5ca943a316a44b03))
62
+ * **Deps:** bump actions/checkout from 2 to 3 ([#2](https://github.com/DartBuild/cocoapods-embed-flutter/issues/2)) ([7fddfd6](https://github.com/DartBuild/cocoapods-embed-flutter/commit/7fddfd663a74e6390cddcee979b211e55daf18bb))
63
+ * **Deps:** bump actions/setup-node from 2 to 3 ([#3](https://github.com/DartBuild/cocoapods-embed-flutter/issues/3)) ([0af3476](https://github.com/DartBuild/cocoapods-embed-flutter/commit/0af34765e384d87fc257a9ddef2015faff393bad))
13
64
 
14
65
  ### [0.5.1](https://github.com/DartBuild/cocoapods-embed-flutter/compare/v0.5.0...v0.5.1) (2022-03-11)
15
66
 
16
67
 
17
68
  ### 📚 Documentation
18
69
 
19
- * add code documentation ([87c06fd](https://github.com/DartBuild/cocoapods-embed-flutter/commit/87c06fd45d3c63a94cda6ce3ae00a200f412bb2a))
70
+ * add code documentation ([dd8d3da](https://github.com/DartBuild/cocoapods-embed-flutter/commit/dd8d3dafc3da6d68fa365d5580e89fc460cf9d94))
20
71
 
21
- ## [0.5.0](https://github.com/DartBuild/cocoapods-embed-flutter/compare/3358c2b251f51154010990b95b7eaa741049d707...v0.5.0) (2022-03-11)
72
+ ## [0.5.0](https://github.com/DartBuild/cocoapods-embed-flutter/compare/1ad9f80188b2fa296933af35e6902ffcd6db001e...v0.5.0) (2022-03-11)
22
73
 
23
74
 
24
75
  ### 🚀 Features
25
76
 
26
- * add all remotes supported by `cocoapods-downloader` ([019d4c5](https://github.com/DartBuild/cocoapods-embed-flutter/commit/019d4c5298eaf52061fbcf6f264102419bc7e51e))
27
- * allow local flutter module to be declared dependency ([3358c2b](https://github.com/DartBuild/cocoapods-embed-flutter/commit/3358c2b251f51154010990b95b7eaa741049d707))
77
+ * add all remotes supported by `cocoapods-downloader` ([e01ea82](https://github.com/DartBuild/cocoapods-embed-flutter/commit/e01ea8212d71b10a78390c187b5e8f351a09114b))
78
+ * allow local flutter module to be declared dependency ([1ad9f80](https://github.com/DartBuild/cocoapods-embed-flutter/commit/1ad9f80188b2fa296933af35e6902ffcd6db001e))
28
79
 
29
80
 
30
81
  ### ✅ Tests
31
82
 
32
- * add app info tests ([2d3f341](https://github.com/DartBuild/cocoapods-embed-flutter/commit/2d3f341299344a16262952bd24306cff479ff74b))
83
+ * add app info tests ([269cb54](https://github.com/DartBuild/cocoapods-embed-flutter/commit/269cb5439c2a6912346187b2612de6b38345b738))
33
84
 
34
85
 
35
86
  ### 💡 Continuous Integration
36
87
 
37
- * add dependabot config ([918b9e6](https://github.com/DartBuild/cocoapods-embed-flutter/commit/918b9e6c1680b91401184289c394f5ba93a80f43))
38
- * add flutter setup task ([2d7ff61](https://github.com/DartBuild/cocoapods-embed-flutter/commit/2d7ff61a1d71b4db4ca10f49a2e03738f9f711aa))
39
- * add publish to cocoapods repo task ([7e620f2](https://github.com/DartBuild/cocoapods-embed-flutter/commit/7e620f24a5b13b126221645b6ec61f5f55b75ea5))
40
- * fix bundle install on older macos ([f5e4843](https://github.com/DartBuild/cocoapods-embed-flutter/commit/f5e484334dfd2d40a132e627524505485a295195))
41
- * fix bundler error on linux ([0e3e4eb](https://github.com/DartBuild/cocoapods-embed-flutter/commit/0e3e4eb505f72564e9b271f0e999ac7af38686a3))
42
- * fix depandabot config spec violation ([aeaab36](https://github.com/DartBuild/cocoapods-embed-flutter/commit/aeaab365f3552848e86b25f2d6b26f79fabe86e0))
43
- * fix pod install ([508d695](https://github.com/DartBuild/cocoapods-embed-flutter/commit/508d6956313ec8f81f36adf9b1c95d5a4eebbbbb))
44
- * setup CI/CD pipeline ([c6fdfca](https://github.com/DartBuild/cocoapods-embed-flutter/commit/c6fdfcac64c7e57a4dc3d4ae2cb517bf745cb6b6))
45
- * setup flutter for ios ([9228bdb](https://github.com/DartBuild/cocoapods-embed-flutter/commit/9228bdbcf673a302d41089d1226d4caf54399265))
88
+ * add dependabot config ([67099bd](https://github.com/DartBuild/cocoapods-embed-flutter/commit/67099bd490fbce0879e4aa6ddd93839847ff7e87))
89
+ * add flutter setup task ([d5aeda3](https://github.com/DartBuild/cocoapods-embed-flutter/commit/d5aeda30817f81ed6ef2f1e9e21f8e2b8f415e20))
90
+ * add publish to cocoapods repo task ([8bbac4d](https://github.com/DartBuild/cocoapods-embed-flutter/commit/8bbac4d24ed5a1e862a2531067aa8a62c5072849))
91
+ * fix bundle install on older macos ([70522ea](https://github.com/DartBuild/cocoapods-embed-flutter/commit/70522eaa46a07c872e727c4f6c774d0444d516cc))
92
+ * fix bundler error on linux ([a18435a](https://github.com/DartBuild/cocoapods-embed-flutter/commit/a18435a4efca56e62c70367b810fe1dc48cce5cf))
93
+ * fix depandabot config spec violation ([7846c67](https://github.com/DartBuild/cocoapods-embed-flutter/commit/7846c67856a1ec7df92275ae887a80ba3413f4d8))
94
+ * fix pod install ([61954c9](https://github.com/DartBuild/cocoapods-embed-flutter/commit/61954c912c6609a375920fccf8bbbf2d6aaa5e0e))
95
+ * setup CI/CD pipeline ([3e20bc9](https://github.com/DartBuild/cocoapods-embed-flutter/commit/3e20bc9d41be80b3a95077e1c7df8e6f0f83d6b7))
96
+ * setup flutter for ios ([d76deb2](https://github.com/DartBuild/cocoapods-embed-flutter/commit/d76deb220e3c0e60303b1b5676bbac24e7dc407f))
46
97
 
47
98
 
48
99
  ### 📚 Documentation
49
100
 
50
- * add code level documentation ([e064192](https://github.com/DartBuild/cocoapods-embed-flutter/commit/e0641922527a814c6635d31b93470367792db084))
51
- * **README:** add usage details ([8935bce](https://github.com/DartBuild/cocoapods-embed-flutter/commit/8935bce01387748e503b0d0f0b64a2573f557bce))
101
+ * add code level documentation ([f3c04ed](https://github.com/DartBuild/cocoapods-embed-flutter/commit/f3c04ed6fddab8901511530014282006beb11e8f))
102
+ * **README:** add usage details ([52852ae](https://github.com/DartBuild/cocoapods-embed-flutter/commit/52852aed76005285a8059bd1adb580a169d7463f))
52
103
 
data/Gemfile CHANGED
@@ -4,12 +4,10 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- gem 'cocoapods'
8
- gem 'cocoapods-plugins'
9
- gem 'github_api'
10
-
11
7
  gem 'mocha'
12
8
  gem 'bacon'
13
9
  gem 'mocha-on-bacon'
14
10
  gem 'prettybacon'
11
+ gem 'solargraph'
12
+ gem 'github_api'
15
13
  end
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cocoapods-embed-flutter (0.5.1)
4
+ cocoapods-embed-flutter (0.6.1)
5
5
  cocoapods
6
+ concurrent-ruby
6
7
  fileutils
7
8
  yaml
8
9
 
@@ -11,7 +12,7 @@ GEM
11
12
  specs:
12
13
  CFPropertyList (3.0.5)
13
14
  rexml
14
- activesupport (6.1.5)
15
+ activesupport (6.1.5.1)
15
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
16
17
  i18n (>= 1.6, < 2)
17
18
  minitest (>= 5.1)
@@ -22,13 +23,16 @@ GEM
22
23
  algoliasearch (1.27.5)
23
24
  httpclient (~> 2.8, >= 2.8.3)
24
25
  json (>= 1.5.1)
26
+ ast (2.4.2)
25
27
  atomos (0.1.3)
28
+ backport (1.2.0)
26
29
  bacon (1.2.0)
30
+ benchmark (0.2.0)
27
31
  claide (1.1.0)
28
- cocoapods (1.11.2)
32
+ cocoapods (1.11.3)
29
33
  addressable (~> 2.8)
30
34
  claide (>= 1.0.2, < 2.0)
31
- cocoapods-core (= 1.11.2)
35
+ cocoapods-core (= 1.11.3)
32
36
  cocoapods-deintegrate (>= 1.0.3, < 2.0)
33
37
  cocoapods-downloader (>= 1.4.0, < 2.0)
34
38
  cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -43,7 +47,7 @@ GEM
43
47
  nap (~> 1.0)
44
48
  ruby-macho (>= 1.0, < 3.0)
45
49
  xcodeproj (>= 1.21.0, < 2.0)
46
- cocoapods-core (1.11.2)
50
+ cocoapods-core (1.11.3)
47
51
  activesupport (>= 5.0, < 7)
48
52
  addressable (~> 2.8)
49
53
  algoliasearch (~> 1.0)
@@ -54,7 +58,7 @@ GEM
54
58
  public_suffix (~> 4.0)
55
59
  typhoeus (~> 1.0)
56
60
  cocoapods-deintegrate (1.0.5)
57
- cocoapods-downloader (1.5.1)
61
+ cocoapods-downloader (1.6.3)
58
62
  cocoapods-plugins (1.0.0)
59
63
  nap
60
64
  cocoapods-search (1.0.1)
@@ -63,9 +67,11 @@ GEM
63
67
  netrc (~> 0.11)
64
68
  cocoapods-try (1.2.0)
65
69
  colored2 (3.1.2)
66
- concurrent-ruby (1.1.9)
70
+ concurrent-ruby (1.1.10)
67
71
  descendants_tracker (0.0.4)
68
72
  thread_safe (~> 0.3, >= 0.3.1)
73
+ diff-lcs (1.5.0)
74
+ e2mmap (0.1.0)
69
75
  escape (0.0.4)
70
76
  ethon (0.15.0)
71
77
  ffi (>= 1.15.0)
@@ -107,8 +113,13 @@ GEM
107
113
  httpclient (2.8.3)
108
114
  i18n (1.10.0)
109
115
  concurrent-ruby (~> 1.0)
116
+ jaro_winkler (1.5.4)
110
117
  json (2.6.1)
111
118
  jwt (2.3.0)
119
+ kramdown (2.3.1)
120
+ rexml
121
+ kramdown-parser-gfm (1.1.0)
122
+ kramdown (~> 2.0)
112
123
  minitest (5.15.0)
113
124
  mocha (1.13.0)
114
125
  mocha-on-bacon (0.2.3)
@@ -120,25 +131,70 @@ GEM
120
131
  nanaimo (0.3.0)
121
132
  nap (1.1.0)
122
133
  netrc (0.11.0)
134
+ nokogiri (1.13.4-arm64-darwin)
135
+ racc (~> 1.4)
136
+ nokogiri (1.13.4-x86_64-darwin)
137
+ racc (~> 1.4)
138
+ nokogiri (1.13.4-x86_64-linux)
139
+ racc (~> 1.4)
123
140
  oauth2 (1.4.9)
124
141
  faraday (>= 0.17.3, < 3.0)
125
142
  jwt (>= 1.0, < 3.0)
126
143
  multi_json (~> 1.3)
127
144
  multi_xml (~> 0.5)
128
145
  rack (>= 1.2, < 3)
146
+ parallel (1.21.0)
147
+ parser (3.1.1.0)
148
+ ast (~> 2.4.1)
129
149
  prettybacon (0.0.2)
130
150
  bacon (~> 1.2)
131
151
  public_suffix (4.0.6)
152
+ racc (1.6.0)
132
153
  rack (2.2.3)
154
+ rainbow (3.1.1)
133
155
  rake (13.0.6)
156
+ regexp_parser (2.2.1)
157
+ reverse_markdown (2.1.1)
158
+ nokogiri
134
159
  rexml (3.2.5)
160
+ rubocop (1.26.0)
161
+ parallel (~> 1.10)
162
+ parser (>= 3.1.0.0)
163
+ rainbow (>= 2.2.2, < 4.0)
164
+ regexp_parser (>= 1.8, < 3.0)
165
+ rexml
166
+ rubocop-ast (>= 1.16.0, < 2.0)
167
+ ruby-progressbar (~> 1.7)
168
+ unicode-display_width (>= 1.4.0, < 3.0)
169
+ rubocop-ast (1.16.0)
170
+ parser (>= 3.1.1.0)
135
171
  ruby-macho (2.5.1)
172
+ ruby-progressbar (1.11.0)
136
173
  ruby2_keywords (0.0.5)
174
+ solargraph (0.44.3)
175
+ backport (~> 1.2)
176
+ benchmark
177
+ bundler (>= 1.17.2)
178
+ diff-lcs (~> 1.4)
179
+ e2mmap
180
+ jaro_winkler (~> 1.5)
181
+ kramdown (~> 2.3)
182
+ kramdown-parser-gfm (~> 1.1)
183
+ parser (~> 3.0)
184
+ reverse_markdown (>= 1.0.5, < 3)
185
+ rubocop (>= 0.52)
186
+ thor (~> 1.0)
187
+ tilt (~> 2.0)
188
+ yard (~> 0.9, >= 0.9.24)
189
+ thor (1.2.1)
137
190
  thread_safe (0.3.6)
191
+ tilt (2.0.10)
138
192
  typhoeus (1.4.0)
139
193
  ethon (>= 0.9.0)
140
194
  tzinfo (2.0.4)
141
195
  concurrent-ruby (~> 1.0)
196
+ unicode-display_width (2.1.0)
197
+ webrick (1.7.0)
142
198
  xcodeproj (1.21.0)
143
199
  CFPropertyList (>= 2.3.3, < 4.0)
144
200
  atomos (~> 0.1.3)
@@ -147,6 +203,8 @@ GEM
147
203
  nanaimo (~> 0.3.0)
148
204
  rexml (~> 3.2.4)
149
205
  yaml (0.2.0)
206
+ yard (0.9.27)
207
+ webrick (~> 1.7.0)
150
208
  zeitwerk (2.5.4)
151
209
 
152
210
  PLATFORMS
@@ -157,14 +215,13 @@ PLATFORMS
157
215
  DEPENDENCIES
158
216
  bacon
159
217
  bundler
160
- cocoapods
161
218
  cocoapods-embed-flutter!
162
- cocoapods-plugins
163
219
  github_api
164
220
  mocha
165
221
  mocha-on-bacon
166
222
  prettybacon
167
223
  rake
224
+ solargraph
168
225
 
169
226
  BUNDLED WITH
170
227
  2.3.7
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
- # cocoapods-embed-flutter
1
+ # CocoaPods Embed Flutter
2
2
 
3
3
  [![CI/CD](https://github.com/DartBuild/cocoapods-embed-flutter/actions/workflows/main.yml/badge.svg?branch=main&event=push)](https://github.com/DartBuild/cocoapods-embed-flutter/actions/workflows/main.yml)
4
4
  [![Gem Version](https://badge.fury.io/rb/cocoapods-embed-flutter.svg)](http://badge.fury.io/rb/cocoapods-embed-flutter)
5
5
  [![Code Climate](https://codeclimate.com/github/DartBuild/cocoapods-embed-flutter.png)](https://codeclimate.com/github/DartBuild/cocoapods-embed-flutter)
6
+ [![CodeQL](https://github.com/DartBuild/cocoapods-embed-flutter/actions/workflows/codeql-analysis.yml/badge.svg?event=push)](https://github.com/DartBuild/cocoapods-embed-flutter/actions/workflows/codeql-analysis.yml)
6
7
 
7
8
  Straight forward way of declaring flutter modules as dependency for targets, just like cocoapods does with pods.
8
9
 
@@ -30,6 +31,7 @@ plugin 'cocoapods-embed-flutter'
30
31
  pub 'flutter_module', :path => '../'
31
32
  ```
32
33
 
34
+ <a name="path_desc"></a>
33
35
  *`:path` can be path pointing to `pubspec.yaml` or to the directory containing `pubspec.yaml` or to the directory containg flutter module.*
34
36
 
35
37
  ### Embedding module from a repository.
@@ -40,6 +42,18 @@ pub 'flutter_module', :git => 'https://github.com/gowalla/flutter_module.git', :
40
42
  pub 'flutter_module', :git => 'https://github.com/gowalla/flutter_module.git', :commit => '082f8319af'
41
43
  ```
42
44
 
45
+ *flutter module project should be at the root of repository, if that's not the case add additional `:path` attribute for relative path to flutter project in repository. `:path` follows [these](#path_desc) restictions.*
46
+
47
+ ```rb
48
+ pub 'flutter_module', :git => 'https://github.com/gowalla/flutter_module.git', :tag => '0.7.0', :path => 'relative path/to/project'
49
+ ```
50
+
51
+ ## Limitations
52
+
53
+ - Modules hosted in [pub.dev](https://pub.dev/) are not supported, only local modules and modules in remote sources like git are supported.
54
+ - You won't be able to add more than one flutter module to a single target. Currently flutter only supports one module per target.
55
+ - No caching is done for external sources, every time you run `pod install` flutter module will be downloaded each time.
56
+
43
57
  ## Links
44
58
 
45
59
  | Link | Description |
data/Rakefile CHANGED
@@ -4,6 +4,16 @@ def specs(dir)
4
4
  FileList["spec/#{dir}/*_spec.rb"].shuffle.join(' ')
5
5
  end
6
6
 
7
+ def setup_project(pod_install = false)
8
+ system('bundle install', exception: true)
9
+ Bundler.with_unbundled_env do
10
+ Dir.chdir('example/ios_app') do |path|
11
+ system('bundle install', exception: true)
12
+ system('bundle exec pod install', exception: true) if pod_install
13
+ end
14
+ end
15
+ end
16
+
7
17
  desc 'Runs all the specs'
8
18
  task :specs do
9
19
  sh "bundle exec bacon #{specs('**')}"
@@ -11,13 +21,12 @@ end
11
21
 
12
22
  desc 'Setup example project'
13
23
  task :demo do
14
- system('bundle install', exception: true)
15
- Bundler.with_clean_env do
16
- Dir.chdir('example/ios_app') do |path|
17
- system('bundle install', exception: true)
18
- system('bundle exec pod install', exception: true)
19
- end
20
- end
24
+ setup_project(true)
25
+ end
26
+
27
+ desc 'Update lock files'
28
+ task :update do
29
+ setup_project
21
30
  end
22
31
 
23
32
  desc 'Publish to cocoapods plugins if not present'
@@ -31,7 +40,9 @@ task :publish do
31
40
  return if known_plugins.one? { |plugin| plugin['gem'] == gem.name }
32
41
 
33
42
  require 'github_api'
34
- return if Github.search.issues(q: "#{gem.name} user:CocoaPods repo:CocoaPods/cocoapods-plugins in:title").items.count > 0
43
+ return if Github.search.issues(
44
+ q: "#{gem.name} user:CocoaPods repo:CocoaPods/cocoapods-plugins in:title"
45
+ ).items.count > 0
35
46
  system('pod plugins publish', exception: true)
36
47
  end
37
48
 
@@ -9,28 +9,30 @@ Gem::Specification.new do |spec|
9
9
 
10
10
  spec.name = 'cocoapods-embed-flutter'
11
11
  spec.version = CocoapodsEmbedFlutter::VERSION
12
- spec.authors = ['Soumya Ranjan Mahunt']
13
- spec.email = ['devsoumyamahunt@gmail.com']
14
- spec.description = %q{Embed flutter modules in iOS projects.}
15
- spec.summary = <<-DESC
16
- Straight forward way of declaring flutter modules as dependency for targets,
17
- just like cocoapods does with pods.
18
- DESC
19
12
  spec.homepage = repo_url
20
13
  spec.license = 'MIT'
14
+ spec.authors = ['Soumya Ranjan Mahunt']
15
+ spec.email = ['devsoumyamahunt@gmail.com']
16
+ spec.summary = %q{Embed flutter modules in iOS projects.}
17
+ spec.description = <<-EOF
18
+ Straight forward way of declaring flutter modules as dependency for targets,
19
+ just like cocoapods does with pods.
20
+ EOF
21
21
 
22
- spec.files = `git ls-files`.split($/)
22
+ spec.files = `git ls-files`.split($/).grep_v(%r{^(example|.github)/})
23
23
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
24
24
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
25
25
  spec.require_paths = ['lib']
26
26
 
27
- spec.add_dependency 'yaml'
28
- spec.add_dependency 'fileutils'
29
- spec.add_dependency 'cocoapods'
27
+ spec.add_runtime_dependency 'yaml'
28
+ spec.add_runtime_dependency 'fileutils'
29
+ spec.add_runtime_dependency 'cocoapods'
30
+ spec.add_runtime_dependency 'concurrent-ruby'
30
31
 
31
32
  spec.add_development_dependency 'bundler'
32
33
  spec.add_development_dependency 'rake'
33
34
 
35
+ spec.required_ruby_version = '>= 2.6'
34
36
  spec.metadata = {
35
37
  'bug_tracker_uri' => "#{repo_url}/issues",
36
38
  'changelog_uri' => "#{repo_url}/blob/main/CHANGELOG.md",
@@ -27,10 +27,10 @@ module Flutter
27
27
  # @param [String, Hash] requirements
28
28
  # the requirements for dependency as declred in `pubspec`
29
29
  #
30
- # @param [Spec] parent_specification
30
+ # @param [Spec] parent_spec
31
31
  # the parent specification where dependency declared
32
32
  #
33
- # @param [Boolean] is_dev_dependency
33
+ # @param [Boolean] dev_dependency
34
34
  # Whether the dependency only required during development
35
35
  #
36
36
  def initialize(name, requirements, parent_spec, dev_dependency = false)
@@ -48,10 +48,10 @@ module Flutter
48
48
  # @param [Hash] hash declared in `dependencies` or `dev_dependencies`
49
49
  # section in `pubspec.yaml` file
50
50
  #
51
- # @param [Spec] parent_specification
51
+ # @param [Spec] parent_spec
52
52
  # the parent specification where dependency declared
53
53
  #
54
- # @param [Boolean] is_dev_dependency
54
+ # @param [Boolean] dev_dependency
55
55
  # Whether the dependency only required during development
56
56
  #
57
57
  # @return [Array<Dependency>] dependencies from hash declared in `dependencies`
@@ -74,14 +74,29 @@ module Flutter
74
74
  Spec.find(name, File.expand_path(path, File.dirname(parent_spec.defined_in_file)))
75
75
  end
76
76
 
77
- # Install this dependency for the parent project.
77
+ # Concurrently install this dependency for the parent project.
78
78
  #
79
- # @return [void]
79
+ # @return [Concurrent::Promises::Future, Nil]
80
+ # {Nil} if not a local dependency, otherwise
81
+ # returns future for {#spec}'s {Spec#pub_get pub_get} task.
80
82
  #
81
83
  def install
82
- spec.setup if local?
84
+ spec.pub_get if local?
83
85
  end
84
86
 
87
+ # Allows accessing top level values in
88
+ # {https://dart.dev/tools/pub/dependencies dependency requirements},
89
+ # if {#requirements} type is {Hash}, i.e. path, git etc.
90
+ #
91
+ # @param [Symbol] m
92
+ # top level key value to access, i.e. path, git etc.
93
+ #
94
+ # @return depending on accessed value type in {#requirements}.
95
+ #
96
+ # @raise [NoMethodError] if no method or custom attribute exists by
97
+ # the attribute name in {#requirements} or {#requirements}
98
+ # is not a {Hash}.
99
+ #
85
100
  def method_missing(m, *args, &block)
86
101
  if requirements.is_a?(Hash) && requirements.include?(m.to_s)
87
102
  return requirements[m.to_s]
@@ -3,6 +3,9 @@ require 'fileutils'
3
3
 
4
4
  module Flutter
5
5
  module Pub
6
+ # The Downloader modules name-spaces all the classes and methods
7
+ # for downloading and caching remote Flutter projects.
8
+ #
6
9
  module Downloader
7
10
  # Downloads a package from the given `request` to the given `target` location.
8
11
  #
@@ -38,12 +38,12 @@ module Flutter
38
38
  options = options.last if options.is_a?(Array)
39
39
  raise StandardError, "No options specified for flutter module: '#{name}'." unless options.is_a?(Hash)
40
40
 
41
- if options.key?(:path)
42
- path = options[:path]
43
- elsif SOURCE_KEYS.keys.any? { |key| options.key?(key) }
41
+ if SOURCE_KEYS.keys.any? { |key| options.key?(key) }
44
42
  source = DownloaderSource.new(name, options, Pod::Config.instance.podfile_path)
45
43
  source.fetch(Pod::Config.instance.sandbox)
46
- path = source.normalized_pupspec_path
44
+ path = source.normalized_pubspec_path
45
+ elsif options.key?(:path)
46
+ path = options[:path]
47
47
  else
48
48
  raise StandardError, "Invalid flutter module: '#{name}'."
49
49
  end
@@ -116,8 +116,8 @@ module Flutter
116
116
  # @return [String] a string representation of the source suitable for UI.
117
117
  #
118
118
  def description
119
- strategy = Pod::Downloader.strategy_from_options(params)
120
- options = params.dup
119
+ strategy = Pod::Downloader.strategy_from_options(download_params)
120
+ options = download_params.dup
121
121
  url = options.delete(strategy)
122
122
  result = "from `#{url}`"
123
123
  options.each do |key, value|
@@ -137,7 +137,7 @@ module Flutter
137
137
  # @note If the declared path is expanded only if the represents a path
138
138
  # relative to the file system.
139
139
  #
140
- def normalized_pupspec_path(declared_path)
140
+ def normalized_pubspec_path(declared_path)
141
141
  Spec.find_file(name, declared_path)
142
142
  end
143
143
 
@@ -147,8 +147,9 @@ module Flutter
147
147
  # @return [String] The uri of the pubspec appending the name of the file
148
148
  # and expanding it if necessary.
149
149
  #
150
- def normalized_pupspec_path
151
- Spec.find_file(name, target)
150
+ def normalized_pubspec_path
151
+ search_path = params[:path].nil? ? target : File.expand_path(params[:path], target)
152
+ Spec.find_file(name, search_path)
152
153
  end
153
154
 
154
155
  private
@@ -203,10 +204,16 @@ module Flutter
203
204
  def download_request
204
205
  Pod::Downloader::Request.new(
205
206
  :name => name,
206
- :params => params,
207
+ :params => download_params,
207
208
  )
208
209
  end
209
210
 
211
+ # @return [Hash] the options for remote source download.
212
+ #
213
+ def download_params
214
+ params.select { |key, value| !key.equal?(:path) }
215
+ end
216
+
210
217
  # @return [String] the path where this flutter project
211
218
  # will be downloaded relative paths.
212
219
  #