fwtoolkit 2.3.2 → 2.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/git/create.feature +0 -8
- data/features/xcode/create.feature +9 -23
- data/lib/fwtoolkit/cli.rb +2 -0
- data/lib/fwtoolkit/cli/project.rb +5 -3
- data/lib/fwtoolkit/cli/xcode.rb +1 -1
- data/lib/fwtoolkit/projectfile.rb +0 -2
- data/lib/fwtoolkit/version.rb +1 -1
- data/templates/bitrise/bitrise.yml.tt +2 -2
- data/templates/default_project/bitrise/bitrise.yml.tt +2 -2
- data/templates/default_project/git/.github/PULL_REQUEST_TEMPLATE.md +6 -3
- metadata +2 -8
- data/features/cocoapods/setup.feature +0 -60
- data/features/frank/model.feature +0 -20
- data/features/frank/setup.feature +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa49fa07517de5e9f57dbb7365950f955663db8bb7605011e244e4d10dcb343d
|
4
|
+
data.tar.gz: 38e0e62b1f4c6778c1dba90a18e2069d20ba068e0d71c8d1a4664dc5fa4e0106
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22ec8684f5efa4c3a6bb8f0835047f3ff4f9dab27956a1600ccaf05a54f7f629ce01ee29a6dbe2656049f6deef988357e398d639db58054e6a74aeff54947cfd
|
7
|
+
data.tar.gz: 6cb1def635dc8e8bf53e0bbd428e16e9d832eea8b5c7a56f367687ebec3f56c30a9c4fbd1804a30dfff2d5e99f01a5d674c4d908c12c2e1a9c42d581c89f614b
|
data/features/git/create.feature
CHANGED
@@ -19,11 +19,3 @@ Feature: Create a git repo
|
|
19
19
|
"""
|
20
20
|
There's already a repository at path
|
21
21
|
"""
|
22
|
-
@slow
|
23
|
-
Scenario: Create a git repository on a folder with files in it
|
24
|
-
Given a directory named "my_project"
|
25
|
-
Given a valid .gitignore file exists inside a directory named "my_project"
|
26
|
-
Given the directory "my_project" contains an uncommitted file named "my_file.c"
|
27
|
-
When I successfully run `fwt git new my_project`
|
28
|
-
Then an initialized git repository should exists inside a directory named "my_project"
|
29
|
-
And the file named "my_file.c" should have been committed to the repository at path "my_project"
|
@@ -8,35 +8,21 @@ Feature: Create new project
|
|
8
8
|
|
9
9
|
@xcode
|
10
10
|
Scenario: Create a new project
|
11
|
-
When I successfully run `fwt xcode new MyProject AAA`
|
11
|
+
When I successfully run `fwt xcode new objc MyProject AAA`
|
12
12
|
Then I cd to "MyProject"
|
13
13
|
And the following directories should exist:
|
14
14
|
| MyProject.xcworkspace |
|
15
15
|
| MyProject/MyProject.xcodeproj |
|
16
|
-
| MyProject/MyProject/
|
17
|
-
| MyProject/
|
18
|
-
| MyProject/
|
16
|
+
| MyProject/MyProject/Resources/Assets.xcassets |
|
17
|
+
| MyProject/MyProject/Resources/Assets.xcassets/AppIcon.appiconset |
|
18
|
+
| MyProject/MyProject/Resources/Base.lproj |
|
19
19
|
And the following files should exist:
|
20
20
|
| MyProject/MyProject/AAAAppDelegate.h |
|
21
21
|
| MyProject/MyProject/AAAAppDelegate.m |
|
22
|
-
| MyProject/MyProject
|
23
|
-
| MyProject/MyProject/Supporting Files/
|
22
|
+
| MyProject/MyProject.entitlements |
|
23
|
+
| MyProject/MyProject/Supporting Files/Info.plist |
|
24
24
|
| MyProject/MyProject/Supporting Files/fw-shared.xcconfig |
|
25
25
|
| MyProject/MyProject/Supporting Files/main.m |
|
26
|
-
| MyProject/
|
27
|
-
| MyProject/MyProjectTests/
|
28
|
-
|
29
|
-
| MyProject/MyProjectTests/MyProjectTests.m |
|
30
|
-
| MyProject/Resources/Default.png |
|
31
|
-
| MyProject/Resources/Default@2x.png |
|
32
|
-
| MyProject/Resources/Default-568h@2x.png |
|
33
|
-
And I successfully run `xcodebuild -scheme MyProject -workspace MyProject.xcworkspace -sdk iphonesimulator6.0`
|
34
|
-
|
35
|
-
@xcode
|
36
|
-
Scenario: Fails to create a new project is the project dir is not empty
|
37
|
-
Given a directory named "MyProject"
|
38
|
-
When I run `fwt xcode new MyProject AAA`
|
39
|
-
Then the stderr should contain:
|
40
|
-
"""
|
41
|
-
Can't create the project. The directory
|
42
|
-
"""
|
26
|
+
| MyProject/MyProjectTests/Resources/Info.plist |
|
27
|
+
| MyProject/MyProjectTests/AAAMyProjectTests.m |
|
28
|
+
And I successfully run `xcodebuild -scheme MyProject -workspace MyProject.xcworkspace -sdk iphonesimulator`
|
data/lib/fwtoolkit/cli.rb
CHANGED
@@ -24,6 +24,8 @@ module FWToolkit
|
|
24
24
|
|
25
25
|
register FWToolkit::Bitrise, 'bitrise', 'bitrise SUBCOMMAND ...ARG', 'Create bitrise configuration files'
|
26
26
|
register FWToolkit::Project, 'proj', 'proj SUBCOMMAND ...ARG', 'Create projects and manage settings'
|
27
|
+
register FWToolkit::Xcode, 'xcode', 'xcode SUBCOMMAND ...ARG', 'Create Xcode projects'
|
28
|
+
register FWToolkit::Git, 'git', 'git SUBCOMMAND ...ARG', 'Git operations'
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
@@ -32,15 +32,17 @@ module FWToolkit
|
|
32
32
|
return
|
33
33
|
end
|
34
34
|
|
35
|
-
|
35
|
+
clean_project_name = project_name.gsub("-", "_")
|
36
|
+
|
37
|
+
destination_root = File.join(Dir.pwd, clean_project_name)
|
36
38
|
|
37
39
|
say "Creating new project in: #{File.expand_path destination_root}"
|
38
40
|
|
39
41
|
invoke :conf_gemset, [destination_root]
|
40
42
|
|
41
|
-
invoke FWToolkit::Bitrise, 'new', [destination_root,
|
43
|
+
invoke FWToolkit::Bitrise, 'new', [destination_root, clean_project_name]
|
42
44
|
|
43
|
-
invoke FWToolkit::Xcode, 'new', [project_language,
|
45
|
+
invoke FWToolkit::Xcode, 'new', [project_language, clean_project_name, class_prefix.upcase, File.join(Dir.pwd, clean_project_name)]
|
44
46
|
invoke FWToolkit::Cocoapods, 'install', [destination_root]
|
45
47
|
|
46
48
|
git_repo = GitClient::Repository.new destination_root
|
data/lib/fwtoolkit/cli/xcode.rb
CHANGED
@@ -25,7 +25,7 @@ module FWToolkit
|
|
25
25
|
include FWToolkit::ThorUtils
|
26
26
|
source_root_templates!
|
27
27
|
|
28
|
-
desc "new [PROJECT_NAME] [CLASS_PREFIX]", "Create a new Xcode project with FW's settings"
|
28
|
+
desc "new [LANGUAGE] [PROJECT_NAME] [CLASS_PREFIX]", "Create a new Xcode project with FW's settings"
|
29
29
|
def new(project_language, project_name, class_prefix, root_dir=File.join(Dir.pwd, project_name))
|
30
30
|
say 'Creating Xcode project'
|
31
31
|
destination_root = root_dir
|
@@ -42,8 +42,6 @@ module FWToolkit
|
|
42
42
|
d[:xcode_project] = "#{File.join(conf_hash[:project_name], conf_hash[:project_name])}.xcodeproj"
|
43
43
|
d[:source_root] = File.join conf_hash[:project_name], d[:target_name]
|
44
44
|
d[:tests_source_root] = File.join conf_hash[:project_name], d[:tests_target_name]
|
45
|
-
d[:frank_root] = File.join conf_hash[:project_name], d[:target_name], 'Frank'
|
46
|
-
d[:frankified_app] = File.join d[:frank_root], 'frankified_build', 'Frankified.app'
|
47
45
|
d
|
48
46
|
end
|
49
47
|
end
|
data/lib/fwtoolkit/version.rb
CHANGED
@@ -88,7 +88,7 @@ workflows:
|
|
88
88
|
- EXPORT_TYPE: app-store
|
89
89
|
opts:
|
90
90
|
is_expand: true
|
91
|
-
- CODESIGN_IDENTITY: '
|
91
|
+
- CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
|
92
92
|
opts:
|
93
93
|
is_expand: true
|
94
94
|
- KEYCHAIN_NAME: fw_ltd.p12
|
@@ -124,7 +124,7 @@ workflows:
|
|
124
124
|
- EXPORT_TYPE: app-store
|
125
125
|
opts:
|
126
126
|
is_expand: true
|
127
|
-
- CODESIGN_IDENTITY: '
|
127
|
+
- CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
|
128
128
|
opts:
|
129
129
|
is_expand: true
|
130
130
|
- KEYCHAIN_NAME: fw_ltd.p12
|
@@ -88,7 +88,7 @@ workflows:
|
|
88
88
|
- EXPORT_TYPE: app-store
|
89
89
|
opts:
|
90
90
|
is_expand: true
|
91
|
-
- CODESIGN_IDENTITY: '
|
91
|
+
- CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
|
92
92
|
opts:
|
93
93
|
is_expand: true
|
94
94
|
- KEYCHAIN_NAME: fw_ltd.p12
|
@@ -124,7 +124,7 @@ workflows:
|
|
124
124
|
- EXPORT_TYPE: app-store
|
125
125
|
opts:
|
126
126
|
is_expand: true
|
127
|
-
- CODESIGN_IDENTITY: '
|
127
|
+
- CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
|
128
128
|
opts:
|
129
129
|
is_expand: true
|
130
130
|
- KEYCHAIN_NAME: fw_ltd.p12
|
@@ -1,5 +1,8 @@
|
|
1
|
-
[
|
2
|
-
|
1
|
+
<!-- You can associate this PR to a Jira task, by adding, for example [SBA-8931] to the description. -->
|
2
|
+
<!-- The jira automation will create a link over all this text -->
|
3
|
+
|
4
|
+
[Jira Task code]
|
5
|
+
|
3
6
|
<Task description>
|
4
7
|
|
5
8
|
**Steps to test:**
|
@@ -10,4 +13,4 @@
|
|
10
13
|
|
11
14
|
**Expected result:**
|
12
15
|
|
13
|
-
<A description of the expected results, after, and during the previous steps>
|
16
|
+
<A description of the expected results, after, and during the previous steps>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fwtoolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Future Workshops
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec-rails
|
@@ -239,9 +239,6 @@ extensions: []
|
|
239
239
|
extra_rdoc_files: []
|
240
240
|
files:
|
241
241
|
- bin/fwt
|
242
|
-
- features/cocoapods/setup.feature
|
243
|
-
- features/frank/model.feature
|
244
|
-
- features/frank/setup.feature
|
245
242
|
- features/git/create.feature
|
246
243
|
- features/project/create.feature
|
247
244
|
- features/step_definitions/aruba_steps.rb
|
@@ -403,9 +400,6 @@ signing_key:
|
|
403
400
|
specification_version: 4
|
404
401
|
summary: Future Workshops project tools
|
405
402
|
test_files:
|
406
|
-
- features/cocoapods/setup.feature
|
407
|
-
- features/frank/model.feature
|
408
|
-
- features/frank/setup.feature
|
409
403
|
- features/git/create.feature
|
410
404
|
- features/project/create.feature
|
411
405
|
- features/step_definitions/aruba_steps.rb
|
@@ -1,60 +0,0 @@
|
|
1
|
-
Feature: Installing cocoapods
|
2
|
-
As a lead developer
|
3
|
-
In order to work with cocoapods in my project
|
4
|
-
I want my system to be configured correctly
|
5
|
-
|
6
|
-
@slow @pods
|
7
|
-
Scenario: Install and configure cocoapods for a user without cocoapods installed
|
8
|
-
Given I'm using a clean gemset "fwtoolkit_test" containing fwtoolkit.gem
|
9
|
-
And I'm using a clean home directory
|
10
|
-
And I force aruba-double path-hijacking
|
11
|
-
And I double `pod`
|
12
|
-
And I double `sudo`
|
13
|
-
And I double `git`
|
14
|
-
When I successfully run `fwt pods setup`
|
15
|
-
Then the double `sudo gem install cocoapods` should have been run
|
16
|
-
And a directory named "homedir/.cocoapods/fw" should exist
|
17
|
-
|
18
|
-
@slow @pods
|
19
|
-
Scenario: Configure fw's cocoapods for a user that has cocoapods already installed
|
20
|
-
Given I'm using a clean gemset "fwtoolkit_test" containing fwtoolkit.gem
|
21
|
-
And I'm using a clean home directory
|
22
|
-
And I force aruba-double path-hijacking
|
23
|
-
And I double the gem "cocoapods"
|
24
|
-
And I double `pod`
|
25
|
-
And I double `sudo`
|
26
|
-
When I successfully run `fwt pods setup`
|
27
|
-
Then the stdout should contain:
|
28
|
-
"""
|
29
|
-
Cocoapods is already installed
|
30
|
-
"""
|
31
|
-
And a directory named "homedir/.cocoapods/fw" should exist
|
32
|
-
|
33
|
-
@slow @pods
|
34
|
-
Scenario: Configure fw's cocoapods for a user that has messed up his/her installation
|
35
|
-
Given I'm using a clean gemset "fwtoolkit_test" containing fwtoolkit.gem
|
36
|
-
And I'm using a clean home directory
|
37
|
-
And a directory named ".cocoapods/fw" inside the home directory
|
38
|
-
And I force aruba-double path-hijacking
|
39
|
-
And I double `gem`
|
40
|
-
And I double `sudo`
|
41
|
-
When I successfully run `fwt pods setup`
|
42
|
-
Then the double `sudo gem install cocoapods` should have been run
|
43
|
-
And the stdout should contain:
|
44
|
-
"""
|
45
|
-
FW's podspec repository already installed
|
46
|
-
"""
|
47
|
-
|
48
|
-
@slow @pods
|
49
|
-
Scenario: Configure a project with Cocoapods
|
50
|
-
Given a directory named "MyProject"
|
51
|
-
And I double `bundle`
|
52
|
-
And I cd to "MyProject"
|
53
|
-
And an empty file named "Gemfile"
|
54
|
-
And I cd to ".."
|
55
|
-
When I successfully run `fwt pods install MyProject`
|
56
|
-
Then the file "MyProject/Gemfile" should contain:
|
57
|
-
"""
|
58
|
-
gem "Cocoapods"
|
59
|
-
"""
|
60
|
-
And the double `bundle exec pod install` should have been run
|
@@ -1,20 +0,0 @@
|
|
1
|
-
Feature: Create frank model from core data
|
2
|
-
As a lead developer working on a project
|
3
|
-
I want to generate ruby classes that mirror my CoreData model
|
4
|
-
So I can refer to core data entities from my Frank tests
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given a configured installation of FWToolkit for "Tom the Dev" working for "Awesome Company"
|
8
|
-
|
9
|
-
@frank
|
10
|
-
Scenario: generate ruby model from CoreData
|
11
|
-
Given an initialized FW iOS project named "MyProject"
|
12
|
-
And the project "MyProject" contains a valid CoreData model
|
13
|
-
When I run `fwt test model MyProject`
|
14
|
-
Then I cd to "MyProject"
|
15
|
-
And the following files should exist:
|
16
|
-
| MyProject/Frank/features/support/views/my_objects_json.erb |
|
17
|
-
| MyProject/Frank/features/support/views/my_objects_xml.erb |
|
18
|
-
| MyProject/Frank/features/support/models/factories.rb |
|
19
|
-
| MyProject/Frank/features/support/models/Ent1.rb |
|
20
|
-
| MyProject/Frank/features/support/models/Ent2.rb |
|
@@ -1,28 +0,0 @@
|
|
1
|
-
Feature: Frankifie a project
|
2
|
-
As a lead developer working on a project
|
3
|
-
I want a quick way to set up my project with frank
|
4
|
-
So I can add BDD tests to it
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given a configured installation of FWToolkit for "Tom the Dev" working for "Awesome Company"
|
8
|
-
|
9
|
-
@frank @no-clobber @test @announce
|
10
|
-
Scenario: setup an existing project
|
11
|
-
Given an initialized FW iOS project named "MyProject"
|
12
|
-
When I successfully run `fwt test setup MyProject`
|
13
|
-
Then I cd to "MyProject"
|
14
|
-
And the following files should exist:
|
15
|
-
| MyProject/MyProject/AAAAppDelegate+Frank.h |
|
16
|
-
| MyProject/MyProject/AAAAppDelegate+Frank.m |
|
17
|
-
| MyProject/Frank/Features/step_definitions/launch_steps.rb |
|
18
|
-
| MyProject/Frank/Features/support/env.rb |
|
19
|
-
| MyProject/Frank/Features/support/mimic.rb |
|
20
|
-
|
21
|
-
|
22
|
-
@frank @slom
|
23
|
-
Scenario: try to setup a project that already has frank
|
24
|
-
Given an initialized FW iOS project named "MyProject"
|
25
|
-
And I successfully run `fwt test setup MyProject`
|
26
|
-
When I run `fwt test setup MyProject`
|
27
|
-
Then the output should contain "Frank is already set up for the project"
|
28
|
-
|