swift_lib_templater 1.0.1 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a20cb096bcec7abaebbafa6c78326167d74eaf27
4
- data.tar.gz: 77694c86bf5d589cef5b57fdd4aa00fb366ae869
2
+ SHA256:
3
+ metadata.gz: 4a2b1bb2e27c82d4e3d936139bd1df1f4b237fb2611540d7422b611f1d448d0d
4
+ data.tar.gz: a14b2ac788a9ef2662ee49a7d2f417c4dbb712bebc6ce0ab700487257d595686
5
5
  SHA512:
6
- metadata.gz: 47636162669ffc18950367c3317033faea5e9040eb1e7ec7e54d513327e453e67a715565d8998c39c8d40ec021ceee2f3a367e006f4fc03cf710035be52e5e48
7
- data.tar.gz: 1e910daf5b14a78a37695449f4bc0f278e9db05d5e3113957c3b160153d610da78854e56e4282a9286583a6798c65bab748c1980dd63698e27aea0cbb607fba5
6
+ metadata.gz: e77dd15a177dfb641118727b856d7fce616514fe21436f57983941b0a3fbf026afe1a266ec15af1ff292a7f1707fa5ff419ce437a45ef6f8c8ca5be8e3ddfa79
7
+ data.tar.gz: ca74fbc2e5f74551e54a5cf4355685ed166e6e2e2ec3048a4f1f9bf52e576320d7f1f2b54f64002ebef88172075ba38b3330e54289eacba7ba885fe692215086
data/.gitignore CHANGED
@@ -6,3 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+
10
+ .DS_Store
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- swift_lib_templater (1.0.0)
4
+ swift_lib_templater (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -17,4 +17,4 @@ DEPENDENCIES
17
17
  swift_lib_templater!
18
18
 
19
19
  BUNDLED WITH
20
- 2.0.1
20
+ 2.1.4
data/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # swift_lib_templater
2
2
 
3
- `swift_lib_templater` generates templates for open source ios libraries. It integrates `cocopoads` & `Carthage`.
3
+ `swift_lib_templater` generates templates for open source ios libraries.
4
+
5
+ - `cocopoads` & `SPM` & `Carthage` support
6
+ - [Basic Github action CI](https://github.com/applidium/swift_lib_templater/blob/master/lib/templates/framework/.github/workflows/ci.yml)
7
+ - [Release script](https://github.com/applidium/swift_lib_templater/blob/master/lib/templates/framework/fastlane/Fastfile)
4
8
 
5
9
  ## Installation
6
10
 
@@ -1,13 +1,14 @@
1
1
  require 'optparse'
2
2
  require 'find'
3
+ require 'fileutils'
3
4
 
4
- require 'swift_lib_templater/copy_template_command.rb'
5
- require 'swift_lib_templater/get_framework_name_command.rb'
6
- require 'swift_lib_templater/rename_files_command.rb'
7
- require 'swift_lib_templater/initialize_git_repository_command.rb'
5
+ require_relative 'swift_lib_templater/copy_template_command.rb'
6
+ require_relative 'swift_lib_templater/get_framework_name_command.rb'
7
+ require_relative 'swift_lib_templater/rename_files_command.rb'
8
+ require_relative 'swift_lib_templater/initialize_git_repository_command.rb'
8
9
 
9
10
  def systemWithoutOutput(command)
10
- system command, ">/dev/null 2>&1"
11
+ system command
11
12
  end
12
13
 
13
14
  module SwiftLibTemplater
@@ -23,10 +24,6 @@ module SwiftLibTemplater
23
24
  RenameFilesCommand.new(project_folder, project_name).execute
24
25
  puts "✅"
25
26
 
26
- print "Initializing git... "
27
- InitializeGitRepositoryCommand.new(project_folder).execute
28
- puts "✅"
29
-
30
27
  puts "\nProject #{project_name} successfully bootstraped ! 🎉"
31
28
  rescue => e
32
29
  puts "\n\n🚨 Failed with error:"
@@ -7,12 +7,11 @@ module SwiftLibTemplater
7
7
  end
8
8
 
9
9
  def execute()
10
- Dir.chdir(@dir)
11
10
  # We need to list all the files before renaming the files because
12
11
  # Find.find doesn't like that we mess with the files that are being
13
12
  # enumerated
14
13
  paths = []
15
- Find.find(".") do |path|
14
+ Find.find(@dir) do |path|
16
15
  paths << path
17
16
  end
18
17
  paths.each do |path|
@@ -22,11 +21,12 @@ module SwiftLibTemplater
22
21
  next unless base =~ /(TEMPLATE|TP)/
23
22
  File.rename(File.join(new_dir, base), new_path)
24
23
  end
25
- Find.find(".") do |path|
24
+ Find.find(@dir) do |path|
26
25
  next unless File.file?(path)
27
26
  next if File.extname(path) == ".png"
28
27
  next if File.extname(path) == ".mobileprovision"
29
- systemWithoutOutput("sed -i '' 's/TEMPLATE/#{@project_name}/g' '#{path}'")
28
+ command = "sed -i \"\" \"s/TEMPLATE/#{@project_name}/g\" \"#{path}\""
29
+ systemWithoutOutput(command)
30
30
  end
31
31
  end
32
32
  end
@@ -1,3 +1,3 @@
1
1
  module SwiftLibTemplater
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -0,0 +1,27 @@
1
+
2
+ name: CI
3
+
4
+ on: [push]
5
+
6
+ jobs:
7
+ build:
8
+
9
+ runs-on: macOS-latest
10
+
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - name: Bundle install
14
+ working-directory: ./
15
+ run: bundle install
16
+
17
+ - name: Unit tests
18
+ run: bundle exec fastlane tests
19
+
20
+ - name: SPM lint
21
+ run: bundle exec fastlane spm_lint
22
+
23
+ - name: Carthage lint
24
+ run: bundle exec fastlane carthage_lint
25
+
26
+ - name: Pod lint
27
+ run: bundle exec fastlane pod_lint
@@ -1,10 +1,12 @@
1
+ # OS X
2
+ .DS_Store
3
+
1
4
  # Xcode
2
- #
3
- # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
5
+ re contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4
6
 
5
7
  ## Build generated
6
8
  build/
7
- DerivedData
9
+ DerivedData/
8
10
 
9
11
  ## Various settings
10
12
  *.pbxuser
@@ -15,53 +17,52 @@ DerivedData
15
17
  !default.mode2v3
16
18
  *.perspectivev3
17
19
  !default.perspectivev3
18
- xcuserdata
20
+ xcuserdata/
19
21
 
20
- ## Other
21
22
  *.xccheckout
23
+ profile
24
+ ## Other
22
25
  *.moved-aside
23
- *.xcuserstate
26
+ *.xccheckout
27
+ DerivedData
24
28
  *.xcscmblueprint
25
- *.DS_Store
26
29
 
27
30
  ## Obj-C/Swift specific
28
31
  *.hmap
29
32
  *.ipa
30
- *.xcarchive
31
- *.app.dSYM.zip
33
+ *.dSYM.zip
34
+ *.dSYM
35
+
36
+ # Bundler
37
+ .bundle
38
+
39
+ # Swift Package Manager
40
+ .build
32
41
 
33
- # CocoaPods
34
- #
35
- # We recommend against adding the Pods directory to your .gitignore. However
36
- # you should judge for yourself, the pros and cons are mentioned at:
37
- # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
42
+ # Add this line if you want to avoid checking in source code from Carthage dependencies.
43
+ # Carthage/Checkouts
38
44
 
45
+ Carthage/Build
46
+
47
+ Example/Pods/
39
48
  Pods/
40
49
 
41
- ##Fastlane
50
+ .idea/
51
+
42
52
  # fastlane specific
43
53
  fastlane/report.xml
44
54
 
45
55
  # deliver temporary files
46
56
  fastlane/Preview.html
47
57
 
48
- # scan/snapshot temporary files (default values)
49
- /metrics
50
- /tests_derived_data
51
- /screenshots
52
-
53
- #fastlane plugins
54
- Pluginfile_fastlane
55
- Gemfile_fastlane
56
- Gemfile_fastlane.lock
58
+ # snapshot generated screenshots
59
+ fastlane/screenshots/**/*.png
60
+ fastlane/screenshots/screenshots.html
57
61
 
58
- #fastlane build artifacts
59
- /build
60
- /derived_data
61
-
62
- #metadata
63
- /fastlane/**/metadata/**/*
64
- /fastlane/**/screenshots/**/*
65
-
66
- ##AppCode
67
- .idea/
62
+ # scan temporary files
63
+ fastlane/test_output
64
+ test_output
65
+ fastlane/.env
66
+ pre-change.yml
67
+ .build
68
+ fastlane/README.md
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "cocoapods", "~> 1.9"
4
+ gem "fastlane", "~> 2.1"
@@ -0,0 +1,243 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ CFPropertyList (3.0.2)
5
+ activesupport (4.2.11.3)
6
+ i18n (~> 0.7)
7
+ minitest (~> 5.1)
8
+ thread_safe (~> 0.3, >= 0.3.4)
9
+ tzinfo (~> 1.1)
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ algoliasearch (1.27.3)
13
+ httpclient (~> 2.8, >= 2.8.3)
14
+ json (>= 1.5.1)
15
+ atomos (0.1.3)
16
+ aws-eventstream (1.1.0)
17
+ aws-partitions (1.368.0)
18
+ aws-sdk-core (3.105.0)
19
+ aws-eventstream (~> 1, >= 1.0.2)
20
+ aws-partitions (~> 1, >= 1.239.0)
21
+ aws-sigv4 (~> 1.1)
22
+ jmespath (~> 1.0)
23
+ aws-sdk-kms (1.37.0)
24
+ aws-sdk-core (~> 3, >= 3.99.0)
25
+ aws-sigv4 (~> 1.1)
26
+ aws-sdk-s3 (1.80.0)
27
+ aws-sdk-core (~> 3, >= 3.104.3)
28
+ aws-sdk-kms (~> 1)
29
+ aws-sigv4 (~> 1.1)
30
+ aws-sigv4 (1.2.2)
31
+ aws-eventstream (~> 1, >= 1.0.2)
32
+ babosa (1.0.3)
33
+ claide (1.0.3)
34
+ cocoapods (1.9.3)
35
+ activesupport (>= 4.0.2, < 5)
36
+ claide (>= 1.0.2, < 2.0)
37
+ cocoapods-core (= 1.9.3)
38
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
39
+ cocoapods-downloader (>= 1.2.2, < 2.0)
40
+ cocoapods-plugins (>= 1.0.0, < 2.0)
41
+ cocoapods-search (>= 1.0.0, < 2.0)
42
+ cocoapods-stats (>= 1.0.0, < 2.0)
43
+ cocoapods-trunk (>= 1.4.0, < 2.0)
44
+ cocoapods-try (>= 1.1.0, < 2.0)
45
+ colored2 (~> 3.1)
46
+ escape (~> 0.0.4)
47
+ fourflusher (>= 2.3.0, < 3.0)
48
+ gh_inspector (~> 1.0)
49
+ molinillo (~> 0.6.6)
50
+ nap (~> 1.0)
51
+ ruby-macho (~> 1.4)
52
+ xcodeproj (>= 1.14.0, < 2.0)
53
+ cocoapods-core (1.9.3)
54
+ activesupport (>= 4.0.2, < 6)
55
+ algoliasearch (~> 1.0)
56
+ concurrent-ruby (~> 1.1)
57
+ fuzzy_match (~> 2.0.4)
58
+ nap (~> 1.0)
59
+ netrc (~> 0.11)
60
+ typhoeus (~> 1.0)
61
+ cocoapods-deintegrate (1.0.4)
62
+ cocoapods-downloader (1.4.0)
63
+ cocoapods-plugins (1.0.0)
64
+ nap
65
+ cocoapods-search (1.0.0)
66
+ cocoapods-stats (1.1.0)
67
+ cocoapods-trunk (1.5.0)
68
+ nap (>= 0.8, < 2.0)
69
+ netrc (~> 0.11)
70
+ cocoapods-try (1.2.0)
71
+ colored (1.2)
72
+ colored2 (3.1.2)
73
+ commander-fastlane (4.4.6)
74
+ highline (~> 1.7.2)
75
+ concurrent-ruby (1.1.7)
76
+ declarative (0.0.20)
77
+ declarative-option (0.1.0)
78
+ digest-crc (0.6.1)
79
+ rake (~> 13.0)
80
+ domain_name (0.5.20190701)
81
+ unf (>= 0.0.5, < 1.0.0)
82
+ dotenv (2.7.6)
83
+ emoji_regex (3.0.0)
84
+ escape (0.0.4)
85
+ ethon (0.12.0)
86
+ ffi (>= 1.3.0)
87
+ excon (0.76.0)
88
+ faraday (1.0.1)
89
+ multipart-post (>= 1.2, < 3)
90
+ faraday-cookie_jar (0.0.7)
91
+ faraday (>= 0.8.0)
92
+ http-cookie (~> 1.0.0)
93
+ faraday_middleware (1.0.0)
94
+ faraday (~> 1.0)
95
+ fastimage (2.2.0)
96
+ fastlane (2.159.0)
97
+ CFPropertyList (>= 2.3, < 4.0.0)
98
+ addressable (>= 2.3, < 3.0.0)
99
+ aws-sdk-s3 (~> 1.0)
100
+ babosa (>= 1.0.3, < 2.0.0)
101
+ bundler (>= 1.12.0, < 3.0.0)
102
+ colored
103
+ commander-fastlane (>= 4.4.6, < 5.0.0)
104
+ dotenv (>= 2.1.1, < 3.0.0)
105
+ emoji_regex (>= 0.1, < 4.0)
106
+ excon (>= 0.71.0, < 1.0.0)
107
+ faraday (~> 1.0)
108
+ faraday-cookie_jar (~> 0.0.6)
109
+ faraday_middleware (~> 1.0)
110
+ fastimage (>= 2.1.0, < 3.0.0)
111
+ gh_inspector (>= 1.1.2, < 2.0.0)
112
+ google-api-client (>= 0.37.0, < 0.39.0)
113
+ google-cloud-storage (>= 1.15.0, < 2.0.0)
114
+ highline (>= 1.7.2, < 2.0.0)
115
+ json (< 3.0.0)
116
+ jwt (>= 2.1.0, < 3)
117
+ mini_magick (>= 4.9.4, < 5.0.0)
118
+ multipart-post (~> 2.0.0)
119
+ plist (>= 3.1.0, < 4.0.0)
120
+ rubyzip (>= 2.0.0, < 3.0.0)
121
+ security (= 0.1.3)
122
+ simctl (~> 1.6.3)
123
+ slack-notifier (>= 2.0.0, < 3.0.0)
124
+ terminal-notifier (>= 2.0.0, < 3.0.0)
125
+ terminal-table (>= 1.4.5, < 2.0.0)
126
+ tty-screen (>= 0.6.3, < 1.0.0)
127
+ tty-spinner (>= 0.8.0, < 1.0.0)
128
+ word_wrap (~> 1.0.0)
129
+ xcodeproj (>= 1.13.0, < 2.0.0)
130
+ xcpretty (~> 0.3.0)
131
+ xcpretty-travis-formatter (>= 0.0.3)
132
+ ffi (1.13.1)
133
+ fourflusher (2.3.1)
134
+ fuzzy_match (2.0.4)
135
+ gh_inspector (1.1.3)
136
+ google-api-client (0.38.0)
137
+ addressable (~> 2.5, >= 2.5.1)
138
+ googleauth (~> 0.9)
139
+ httpclient (>= 2.8.1, < 3.0)
140
+ mini_mime (~> 1.0)
141
+ representable (~> 3.0)
142
+ retriable (>= 2.0, < 4.0)
143
+ signet (~> 0.12)
144
+ google-cloud-core (1.5.0)
145
+ google-cloud-env (~> 1.0)
146
+ google-cloud-errors (~> 1.0)
147
+ google-cloud-env (1.3.3)
148
+ faraday (>= 0.17.3, < 2.0)
149
+ google-cloud-errors (1.0.1)
150
+ google-cloud-storage (1.28.0)
151
+ addressable (~> 2.5)
152
+ digest-crc (~> 0.4)
153
+ google-api-client (~> 0.33)
154
+ google-cloud-core (~> 1.2)
155
+ googleauth (~> 0.9)
156
+ mini_mime (~> 1.0)
157
+ googleauth (0.13.1)
158
+ faraday (>= 0.17.3, < 2.0)
159
+ jwt (>= 1.4, < 3.0)
160
+ memoist (~> 0.16)
161
+ multi_json (~> 1.11)
162
+ os (>= 0.9, < 2.0)
163
+ signet (~> 0.14)
164
+ highline (1.7.10)
165
+ http-cookie (1.0.3)
166
+ domain_name (~> 0.5)
167
+ httpclient (2.8.3)
168
+ i18n (0.9.5)
169
+ concurrent-ruby (~> 1.0)
170
+ jmespath (1.4.0)
171
+ json (2.3.1)
172
+ jwt (2.2.2)
173
+ memoist (0.16.2)
174
+ mini_magick (4.10.1)
175
+ mini_mime (1.0.2)
176
+ minitest (5.14.2)
177
+ molinillo (0.6.6)
178
+ multi_json (1.15.0)
179
+ multipart-post (2.0.0)
180
+ nanaimo (0.3.0)
181
+ nap (1.1.0)
182
+ naturally (2.2.0)
183
+ netrc (0.11.0)
184
+ os (1.1.1)
185
+ plist (3.5.0)
186
+ public_suffix (4.0.6)
187
+ rake (13.0.1)
188
+ representable (3.0.4)
189
+ declarative (< 0.1.0)
190
+ declarative-option (< 0.2.0)
191
+ uber (< 0.2.0)
192
+ retriable (3.1.2)
193
+ rouge (2.0.7)
194
+ ruby-macho (1.4.0)
195
+ rubyzip (2.3.0)
196
+ security (0.1.3)
197
+ signet (0.14.0)
198
+ addressable (~> 2.3)
199
+ faraday (>= 0.17.3, < 2.0)
200
+ jwt (>= 1.5, < 3.0)
201
+ multi_json (~> 1.10)
202
+ simctl (1.6.8)
203
+ CFPropertyList
204
+ naturally
205
+ slack-notifier (2.3.2)
206
+ terminal-notifier (2.0.0)
207
+ terminal-table (1.8.0)
208
+ unicode-display_width (~> 1.1, >= 1.1.1)
209
+ thread_safe (0.3.6)
210
+ tty-cursor (0.7.1)
211
+ tty-screen (0.8.1)
212
+ tty-spinner (0.9.3)
213
+ tty-cursor (~> 0.7)
214
+ typhoeus (1.4.0)
215
+ ethon (>= 0.9.0)
216
+ tzinfo (1.2.7)
217
+ thread_safe (~> 0.1)
218
+ uber (0.1.0)
219
+ unf (0.1.4)
220
+ unf_ext
221
+ unf_ext (0.0.7.7)
222
+ unicode-display_width (1.7.0)
223
+ word_wrap (1.0.0)
224
+ xcodeproj (1.18.0)
225
+ CFPropertyList (>= 2.3.3, < 4.0)
226
+ atomos (~> 0.1.3)
227
+ claide (>= 1.0.2, < 2.0)
228
+ colored2 (~> 3.1)
229
+ nanaimo (~> 0.3.0)
230
+ xcpretty (0.3.0)
231
+ rouge (~> 2.0.7)
232
+ xcpretty-travis-formatter (1.0.0)
233
+ xcpretty (~> 0.2, >= 0.0.7)
234
+
235
+ PLATFORMS
236
+ ruby
237
+
238
+ DEPENDENCIES
239
+ cocoapods (~> 1.9)
240
+ fastlane (~> 2.1)
241
+
242
+ BUNDLED WITH
243
+ 2.1.4
@@ -1,23 +1,19 @@
1
- * Copyright (c) 2018, Applidium
2
- * All rights reserved.
3
- * Redistribution and use in source and binary forms, with or without
4
- * modification, are permitted provided that the following conditions are met:
5
- *
6
- * * Redistributions of source code must retain the above copyright
7
- * notice, this list of conditions and the following disclaimer.
8
- * * Redistributions in binary form must reproduce the above copyright
9
- * notice, this list of conditions and the following disclaimer in the
10
- * documentation and/or other materials provided with the distribution.
11
- * * Neither the name of Applidium nor the names of its contributors may
12
- * be used to endorse or promote products derived from this software
13
- * without specific prior written permission.
14
- *
15
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
16
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
- * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
19
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
1
+ Copyright (c) 2020 Fabernovel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,22 @@
1
+ // swift-tools-version:5.1
2
+ import PackageDescription
3
+
4
+ let package = Package(
5
+ name: "TEMPLATE",
6
+ platforms: [
7
+ .iOS(.v10)
8
+ ],
9
+ products: [
10
+ .library(
11
+ name: "TEMPLATE",
12
+ targets: ["TEMPLATE"]
13
+ ),
14
+ ],
15
+ targets: [
16
+ .target(
17
+ name: "TEMPLATE",
18
+ path: "Source/Classes"
19
+ ),
20
+ ],
21
+ swiftLanguageVersions: [.v5]
22
+ )
@@ -0,0 +1,17 @@
1
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0
2
+
3
+ SDKROOT =
4
+ SUPPORTED_PLATFORMS = iphoneos iphonesimulator
5
+ TARGETED_DEVICE_FAMILY = 1,2
6
+ VALID_ARCHS[sdk=iphoneos*] = arm64 armv7 armv7s
7
+ VALID_ARCHS[sdk=iphonesimulator*] = i386 x86_64
8
+
9
+ CODE_SIGN_IDENTITY =
10
+ CODE_SIGN_STYLE = Manual
11
+ INSTALL_PATH = $(LOCAL_LIBRARY_DIR)/Frameworks
12
+ SKIP_INSTALL = YES
13
+ DYLIB_COMPATIBILITY_VERSION = 1
14
+ DYLIB_CURRENT_VERSION = 1
15
+ DYLIB_INSTALL_NAME_BASE = @rpath
16
+ LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/Frameworks @loader_path/../Frameworks
17
+ DEFINES_MODULE = NO
@@ -10,14 +10,14 @@ Pod::Spec.new do |s|
10
10
  s.name = 'TEMPLATE'
11
11
  s.version = '1.0.0'
12
12
  s.summary = 'TEMPLATE'
13
- s.swift_version = "4.2"
13
+ s.swift_version = "5.0"
14
14
 
15
15
  s.description = 'TEMPLATE'
16
16
 
17
- s.homepage = 'https://github.com/applidium/TEMPLATE'
17
+ s.homepage = 'https://github.com/fabernovel/TEMPLATE'
18
18
  s.license = { :type => 'MIT', :file => 'LICENSE' }
19
19
  # s.author = { 'TEMPLATE' => 'TEMPLATE@fabernovel.com' }
20
- s.source = { :git => 'https://github.com/applidium/TEMPLATE.git', :tag => s.version.to_s }
20
+ s.source = { :git => 'https://github.com/fabernovel/TEMPLATE.git', :tag => s.version.to_s }
21
21
 
22
22
  s.ios.deployment_target = '10.0'
23
23
  s.source_files = 'Source/Classes/**/*'
@@ -0,0 +1,77 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "1150"
4
+ version = "1.3">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForTesting = "YES"
11
+ buildForRunning = "YES"
12
+ buildForProfiling = "YES"
13
+ buildForArchiving = "YES"
14
+ buildForAnalyzing = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "E7691545222EA71F00FDEE7F"
18
+ BuildableName = "TEMPLATE.framework"
19
+ BlueprintName = "TEMPLATE"
20
+ ReferencedContainer = "container:TEMPLATE.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ buildConfiguration = "Debug"
27
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+ shouldUseLaunchSchemeArgsEnv = "YES">
30
+ <Testables>
31
+ <TestableReference
32
+ skipped = "NO">
33
+ <BuildableReference
34
+ BuildableIdentifier = "primary"
35
+ BlueprintIdentifier = "E769154E222EA71F00FDEE7F"
36
+ BuildableName = "TEMPLATETests.xctest"
37
+ BlueprintName = "TEMPLATETests"
38
+ ReferencedContainer = "container:TEMPLATE.xcodeproj">
39
+ </BuildableReference>
40
+ </TestableReference>
41
+ </Testables>
42
+ </TestAction>
43
+ <LaunchAction
44
+ buildConfiguration = "Debug"
45
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
46
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
47
+ launchStyle = "0"
48
+ useCustomWorkingDirectory = "NO"
49
+ ignoresPersistentStateOnLaunch = "NO"
50
+ debugDocumentVersioning = "YES"
51
+ debugServiceExtension = "internal"
52
+ allowLocationSimulation = "YES">
53
+ </LaunchAction>
54
+ <ProfileAction
55
+ buildConfiguration = "Release"
56
+ shouldUseLaunchSchemeArgsEnv = "YES"
57
+ savedToolIdentifier = ""
58
+ useCustomWorkingDirectory = "NO"
59
+ debugDocumentVersioning = "YES">
60
+ <MacroExpansion>
61
+ <BuildableReference
62
+ BuildableIdentifier = "primary"
63
+ BlueprintIdentifier = "E7691545222EA71F00FDEE7F"
64
+ BuildableName = "TEMPLATE.framework"
65
+ BlueprintName = "TEMPLATE"
66
+ ReferencedContainer = "container:TEMPLATE.xcodeproj">
67
+ </BuildableReference>
68
+ </MacroExpansion>
69
+ </ProfileAction>
70
+ <AnalyzeAction
71
+ buildConfiguration = "Debug">
72
+ </AnalyzeAction>
73
+ <ArchiveAction
74
+ buildConfiguration = "Release"
75
+ revealArchiveInOrganizer = "YES">
76
+ </ArchiveAction>
77
+ </Scheme>
@@ -33,26 +33,12 @@
33
33
  /* End PBXFrameworksBuildPhase section */
34
34
 
35
35
  /* Begin PBXGroup section */
36
- E742E3C1223029BF002A2BED /* Controller */ = {
36
+ E742E3C1223029BF002A2BED /* ViewController */ = {
37
37
  isa = PBXGroup;
38
38
  children = (
39
39
  E742E3C822302B76002A2BED /* ViewController.swift */,
40
40
  );
41
- name = Controller;
42
- sourceTree = "<group>";
43
- };
44
- E742E3C2223029CE002A2BED /* View */ = {
45
- isa = PBXGroup;
46
- children = (
47
- );
48
- name = View;
49
- sourceTree = "<group>";
50
- };
51
- E742E3C3223029D8002A2BED /* Model */ = {
52
- isa = PBXGroup;
53
- children = (
54
- );
55
- name = Model;
41
+ name = ViewController;
56
42
  sourceTree = "<group>";
57
43
  };
58
44
  E7691560222EA78A00FDEE7F = {
@@ -75,9 +61,7 @@
75
61
  isa = PBXGroup;
76
62
  children = (
77
63
  E742E3C422302B4B002A2BED /* AppDelegate.swift */,
78
- E742E3C3223029D8002A2BED /* Model */,
79
- E742E3C2223029CE002A2BED /* View */,
80
- E742E3C1223029BF002A2BED /* Controller */,
64
+ E742E3C1223029BF002A2BED /* ViewController */,
81
65
  E7691582222EA7C100FDEE7F /* Resources */,
82
66
  E7691581222EA7B400FDEE7F /* Configuration */,
83
67
  );
@@ -22,8 +22,6 @@
22
22
  <true/>
23
23
  <key>UILaunchStoryboardName</key>
24
24
  <string>LaunchScreen</string>
25
- <key>UIMainStoryboardFile</key>
26
- <string>Main</string>
27
25
  <key>UIRequiredDeviceCapabilities</key>
28
26
  <array>
29
27
  <string>armv7</string>
@@ -0,0 +1,5 @@
1
+ WORKSPACE = "TEMPLATE.xcworkspace"
2
+ PROJECT = "TEMPLATE.xcodeproj"
3
+ SCHEME = "TEMPLATE"
4
+ PODSPEC = "TEMPLATE.podspec"
5
+ XCCONFIG = "Package.xcconfig"
@@ -0,0 +1,66 @@
1
+
2
+ default_platform(:ios)
3
+
4
+ platform :ios do
5
+ desc "Run all unit tests"
6
+ lane :tests do
7
+ scan(
8
+ scheme: ENV["SCHEME"],
9
+ clean: true
10
+ )
11
+ end
12
+
13
+ desc "Pod linting"
14
+ lane :pod_lint do
15
+ pod_lib_lint(allow_warnings: true)
16
+ end
17
+
18
+ desc "Carthage linting"
19
+ lane :carthage_lint do
20
+ carthage(command: "build", no_skip_current: true, platform: "iOS")
21
+ end
22
+
23
+ desc "SPM linting"
24
+ lane :spm_lint do
25
+ output = "Package.xcodeproj"
26
+ Dir.chdir("..") do
27
+ sh("swift package generate-xcodeproj --output #{output} --xcconfig-overrides #{ENV["XCCONFIG"]}")
28
+ end
29
+ xcodebuild(
30
+ project: output,
31
+ scheme: "#{ENV["SCHEME"]}-Package"
32
+ )
33
+ end
34
+
35
+ desc "Release a new version"
36
+ lane :release do |options|
37
+ target_version = options[:version]
38
+ raise "The version is missed. Use `fastlane release version:{version_number}`.`" if target_version.nil?
39
+
40
+ ensure_git_branch
41
+ ensure_git_status_clean
42
+
43
+ podspec = ENV["PODSPEC"]
44
+ version_bump_podspec(path: podspec, version_number: target_version)
45
+ increment_build_number
46
+ increment_version_number(
47
+ version_number: target_version
48
+ )
49
+ git_add
50
+ git_commit(
51
+ path: ["Tests/Info.plist", "Source/Info.plist", "TEMPLATE.podspec", "TEMPLATE.xcodeproj/project.pbxproj"],
52
+ message: "Bump to #{target_version}"
53
+ )
54
+ ensure_git_status_clean
55
+ add_git_tag(tag: target_version)
56
+ if UI.confirm("Push?")
57
+ push_to_git_remote
58
+ push_git_tags(tag: target_version)
59
+ UI.success "Pushed 🎉"
60
+ end
61
+ if UI.confirm("Release pod?")
62
+ pod_push
63
+ UI.success "Released 🎉"
64
+ end
65
+ end
66
+ end
@@ -6,11 +6,12 @@ require "swift_lib_templater/version"
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "swift_lib_templater"
8
8
  spec.version = SwiftLibTemplater::VERSION
9
+ spec.licenses = ['MIT']
9
10
  spec.authors = ["Gaétan Zanella"]
10
11
  spec.email = ["gaetan.zanella@fabernovel.com"]
11
12
 
12
- spec.summary = %q{Swift library generator}
13
- spec.description = %q{Swift library generator}
13
+ spec.summary = "`swift_lib_templater` generates templates for open source ios libraries."
14
+ spec.description = "`swift_lib_templater` generates templates for open source ios libraries. It supports Carthage & SPM & Cocoapods."
14
15
  spec.homepage = "https://github.com/applidium/swift_lib_templater"
15
16
 
16
17
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swift_lib_templater
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gaétan Zanella
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-24 00:00:00.000000000 Z
11
+ date: 2020-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,7 +38,8 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
- description: Swift library generator
41
+ description: "`swift_lib_templater` generates templates for open source ios libraries.
42
+ It supports Carthage & SPM & Cocoapods."
42
43
  email:
43
44
  - gaetan.zanella@fabernovel.com
44
45
  executables:
@@ -62,10 +63,14 @@ files:
62
63
  - lib/swift_lib_templater/open_projet_command.rb
63
64
  - lib/swift_lib_templater/rename_files_command.rb
64
65
  - lib/swift_lib_templater/version.rb
66
+ - lib/templates/framework/.github/workflows/ci.yml
65
67
  - lib/templates/framework/.gitignore
66
- - lib/templates/framework/.travis.yml
67
68
  - lib/templates/framework/CHANGELOG.md
69
+ - lib/templates/framework/Gemfile
70
+ - lib/templates/framework/Gemfile.lock
68
71
  - lib/templates/framework/LICENSE
72
+ - lib/templates/framework/Package.swift
73
+ - lib/templates/framework/Package.xcconfig
69
74
  - lib/templates/framework/README.md
70
75
  - lib/templates/framework/Source/Classes/EmptyFile.swift
71
76
  - lib/templates/framework/Source/Info.plist
@@ -74,6 +79,7 @@ files:
74
79
  - lib/templates/framework/TEMPLATE.xcodeproj/project.pbxproj
75
80
  - lib/templates/framework/TEMPLATE.xcodeproj/project.xcworkspace/contents.xcworkspacedata
76
81
  - lib/templates/framework/TEMPLATE.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
82
+ - lib/templates/framework/TEMPLATE.xcodeproj/xcshareddata/xcschemes/TEMPLATE.xcscheme
77
83
  - lib/templates/framework/TEMPLATE.xcworkspace/contents.xcworkspacedata
78
84
  - lib/templates/framework/TEMPLATE.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
79
85
  - lib/templates/framework/TEMPLATE_Example/TEMPLATE_Example.xcodeproj/project.pbxproj
@@ -87,9 +93,12 @@ files:
87
93
  - lib/templates/framework/TEMPLATE_Example/TEMPLATE_Example/Resources/Base.lproj/LaunchScreen.storyboard
88
94
  - lib/templates/framework/Tests/Info.plist
89
95
  - lib/templates/framework/Tests/TEMPLATETests.swift
96
+ - lib/templates/framework/fastlane/.env.default
97
+ - lib/templates/framework/fastlane/Fastfile
90
98
  - swift_lib_templater.gemspec
91
99
  homepage: https://github.com/applidium/swift_lib_templater
92
- licenses: []
100
+ licenses:
101
+ - MIT
93
102
  metadata:
94
103
  allowed_push_host: https://rubygems.org
95
104
  homepage_uri: https://github.com/applidium/swift_lib_templater
@@ -110,9 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
119
  - !ruby/object:Gem::Version
111
120
  version: '0'
112
121
  requirements: []
113
- rubyforge_project:
114
- rubygems_version: 2.6.11
122
+ rubygems_version: 3.0.3
115
123
  signing_key:
116
124
  specification_version: 4
117
- summary: Swift library generator
125
+ summary: "`swift_lib_templater` generates templates for open source ios libraries."
118
126
  test_files: []
@@ -1,31 +0,0 @@
1
- os: osx
2
- osx_image: xcode10.1
3
- language: swift
4
-
5
- branches:
6
- only:
7
- - master
8
-
9
- env:
10
- global:
11
- - LANG=en_US.UTF-8
12
- - LC_ALL=en_US.UTF-8
13
- - DESTINATION="OS=12.1,name=iPhone XS"
14
- - SCHEME="TEMPLATE"
15
- - WORKSPACE="TEMPLATE.xcworkspace"
16
- skip_cleanup: true
17
-
18
- jobs:
19
- include:
20
-
21
- - stage: podspec
22
- script:
23
- - pod spec lint
24
-
25
- - stage: Build
26
- script:
27
- - set -o pipefail && xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=NO | xcpretty
28
-
29
- - stage: Tests
30
- script:
31
- - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=NO | xcpretty