fwtoolkit 2.3.1 → 2.3.6
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 +4 -4
- data/features/git/create.feature +0 -8
- data/features/step_definitions/project_steps.rb +4 -2
- data/features/xcode/create.feature +9 -23
- data/lib/fwtoolkit/cli.rb +2 -0
- data/lib/fwtoolkit/cli/project.rb +13 -4
- data/lib/fwtoolkit/cli/xcode.rb +1 -1
- data/lib/fwtoolkit/config.rb +6 -2
- 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
- data/templates/default_project/git/.gitignore +1 -0
- data/templates/objc_project/xcode/%project_name%/%project_name%.xcodeproj/project.pbxproj.tt +3 -1
- data/templates/objc_project/xcode/%project_name%/%project_name%.xcodeproj/xcshareddata/xcschemes/%project_name%.xcscheme.tt +10 -14
- data/templates/swift_project/xcode/%project_name%/%project_name%.xcodeproj/project.pbxproj.tt +3 -1
- data/templates/swift_project/xcode/%project_name%/%project_name%.xcodeproj/xcshareddata/xcschemes/%project_name%.xcscheme.tt +10 -14
- metadata +5 -11
- 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: 6d6d6d97a20ba7540e5850cc43d7b8fa4bb067908ce6cbf9f1db21ccf55b8ea0
|
4
|
+
data.tar.gz: 68b385672f56c65871d9c81ee0c2a80b9cfecc0181ef8f047ebf39126ee31269
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a3bc4ab9bfdbaada53fc2e79c428bf83334a764d4e5313326bed887c574ae0d0a8d28ebd5ed21233305d977cad3806bc45309a597cc73a63a3f32bae72411c0
|
7
|
+
data.tar.gz: e48dc7723f29f879cb6606c56e04a0ae529f4fd9c371adf20417efc3f56d0ea3005997ca4be98ef747555e3b585602655aba9b96975f206ed1c9b4e9f3d041d6
|
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"
|
@@ -5,11 +5,13 @@ Given /^a configured installation of FWToolkit for "([^"]*)" working for "([^"]*
|
|
5
5
|
Given I'm using a clean home directory
|
6
6
|
}
|
7
7
|
steps %Q{
|
8
|
-
And a
|
9
|
-
And a file named "#{File.join(Dir.home, '.fwtoolkit', 'config')}" with:
|
8
|
+
And a file named "#{File.join(ENV['CONFIG_PATH'] || Dir.home, '.fwtoolkitconfig')}" with:
|
10
9
|
"""
|
11
10
|
developer_name: "#{dev_name}"
|
12
11
|
organization_name: "#{company_name}"
|
12
|
+
organization_name: "Future Workshops"
|
13
|
+
target_platform: "13.0"
|
14
|
+
ci_server_url: "https://app.bitrise.io/dashboard"
|
13
15
|
"""
|
14
16
|
}
|
15
17
|
end
|
@@ -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
|
|
@@ -14,26 +14,35 @@ module FWToolkit
|
|
14
14
|
include FWToolkit::ThorUtils
|
15
15
|
source_root_templates!
|
16
16
|
|
17
|
-
desc "proj
|
17
|
+
desc "proj create [PROJECT NAME]", "Create a new Xcode project with FW's settings. Language is either objc or swift"
|
18
18
|
def create(project_name)
|
19
19
|
invoke :new, ["swift", project_name, ""]
|
20
20
|
end
|
21
21
|
|
22
22
|
desc "proj new [swift|objc] [PROJECT NAME] [CLASS PREFIX]", "Create a new Xcode project with FW's settings. Language is either objc or swift"
|
23
23
|
def new(project_language, project_name, class_prefix="")
|
24
|
+
|
24
25
|
unless project_language == "swift" or project_language == "objc"
|
25
26
|
say_status :error, "Project language should be either swift or objc", :red
|
26
27
|
return
|
27
28
|
end
|
28
|
-
|
29
|
+
|
30
|
+
if project_language == "objc" and class_prefix == ""
|
31
|
+
say_status :error, "Objc projects require a class prefix", :red
|
32
|
+
return
|
33
|
+
end
|
34
|
+
|
35
|
+
clean_project_name = project_name.gsub("-", "_")
|
36
|
+
|
37
|
+
destination_root = File.join(Dir.pwd, clean_project_name)
|
29
38
|
|
30
39
|
say "Creating new project in: #{File.expand_path destination_root}"
|
31
40
|
|
32
41
|
invoke :conf_gemset, [destination_root]
|
33
42
|
|
34
|
-
invoke FWToolkit::Bitrise, 'new', [destination_root,
|
43
|
+
invoke FWToolkit::Bitrise, 'new', [destination_root, clean_project_name]
|
35
44
|
|
36
|
-
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)]
|
37
46
|
invoke FWToolkit::Cocoapods, 'install', [destination_root]
|
38
47
|
|
39
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
|
data/lib/fwtoolkit/config.rb
CHANGED
@@ -5,12 +5,16 @@ module FWToolkit
|
|
5
5
|
module Config
|
6
6
|
include FWToolkit::ConfigFile
|
7
7
|
|
8
|
+
def self.base_path
|
9
|
+
ENV['CONFIG_PATH'] || ENV['HOME']
|
10
|
+
end
|
11
|
+
|
8
12
|
def self.config_file
|
9
|
-
File.join(
|
13
|
+
File.join(base_path, '.fwtoolkitconfig')
|
10
14
|
end
|
11
15
|
|
12
16
|
def self.old_file
|
13
|
-
File.join(
|
17
|
+
File.join(base_path, '.fwtoolkit', 'config')
|
14
18
|
end
|
15
19
|
|
16
20
|
def self.base_file
|
@@ -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>
|
data/templates/objc_project/xcode/%project_name%/%project_name%.xcodeproj/project.pbxproj.tt
CHANGED
@@ -176,7 +176,7 @@
|
|
176
176
|
isa = PBXProject;
|
177
177
|
attributes = {
|
178
178
|
CLASSPREFIX = "<%= config[:class_prefix] %>";
|
179
|
-
LastUpgradeCheck =
|
179
|
+
LastUpgradeCheck = 1200;
|
180
180
|
ORGANIZATIONNAME = "Future Workshops";
|
181
181
|
TargetAttributes = {
|
182
182
|
B750287F1C5A3F7A000EB3CF = {
|
@@ -305,6 +305,7 @@
|
|
305
305
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
306
306
|
CLANG_WARN_INT_CONVERSION = YES;
|
307
307
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
308
|
+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
308
309
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
309
310
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
310
311
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
@@ -357,6 +358,7 @@
|
|
357
358
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
358
359
|
CLANG_WARN_INT_CONVERSION = YES;
|
359
360
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
361
|
+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
360
362
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
361
363
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
362
364
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<Scheme
|
3
|
-
LastUpgradeVersion = "
|
3
|
+
LastUpgradeVersion = "1200"
|
4
4
|
version = "1.3">
|
5
5
|
<BuildAction
|
6
6
|
parallelizeBuildables = "YES"
|
@@ -27,6 +27,15 @@
|
|
27
27
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
28
28
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
29
29
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
30
|
+
<MacroExpansion>
|
31
|
+
<BuildableReference
|
32
|
+
BuildableIdentifier = "primary"
|
33
|
+
BlueprintIdentifier = "B750287F1C5A3F7A000EB3CF"
|
34
|
+
BuildableName = "<%= config[:project_name] %>.app"
|
35
|
+
BlueprintName = "<%= config[:project_name] %>"
|
36
|
+
ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
|
37
|
+
</BuildableReference>
|
38
|
+
</MacroExpansion>
|
30
39
|
<Testables>
|
31
40
|
<TestableReference
|
32
41
|
skipped = "NO">
|
@@ -39,17 +48,6 @@
|
|
39
48
|
</BuildableReference>
|
40
49
|
</TestableReference>
|
41
50
|
</Testables>
|
42
|
-
<MacroExpansion>
|
43
|
-
<BuildableReference
|
44
|
-
BuildableIdentifier = "primary"
|
45
|
-
BlueprintIdentifier = "B750287F1C5A3F7A000EB3CF"
|
46
|
-
BuildableName = "<%= config[:project_name] %>.app"
|
47
|
-
BlueprintName = "<%= config[:project_name] %>"
|
48
|
-
ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
|
49
|
-
</BuildableReference>
|
50
|
-
</MacroExpansion>
|
51
|
-
<AdditionalOptions>
|
52
|
-
</AdditionalOptions>
|
53
51
|
</TestAction>
|
54
52
|
<LaunchAction
|
55
53
|
buildConfiguration = "Debug"
|
@@ -71,8 +69,6 @@
|
|
71
69
|
ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
|
72
70
|
</BuildableReference>
|
73
71
|
</BuildableProductRunnable>
|
74
|
-
<AdditionalOptions>
|
75
|
-
</AdditionalOptions>
|
76
72
|
</LaunchAction>
|
77
73
|
<ProfileAction
|
78
74
|
buildConfiguration = "Release"
|
data/templates/swift_project/xcode/%project_name%/%project_name%.xcodeproj/project.pbxproj.tt
CHANGED
@@ -169,7 +169,7 @@
|
|
169
169
|
isa = PBXProject;
|
170
170
|
attributes = {
|
171
171
|
LastSwiftUpdateCheck = 0720;
|
172
|
-
LastUpgradeCheck =
|
172
|
+
LastUpgradeCheck = 1200;
|
173
173
|
ORGANIZATIONNAME = "Future Workshops";
|
174
174
|
TargetAttributes = {
|
175
175
|
B75028B01C5A3F94000EB3CF = {
|
@@ -299,6 +299,7 @@
|
|
299
299
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
300
300
|
CLANG_WARN_INT_CONVERSION = YES;
|
301
301
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
302
|
+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
302
303
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
303
304
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
304
305
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
@@ -353,6 +354,7 @@
|
|
353
354
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
354
355
|
CLANG_WARN_INT_CONVERSION = YES;
|
355
356
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
357
|
+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
356
358
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
357
359
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
358
360
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<Scheme
|
3
|
-
LastUpgradeVersion = "
|
3
|
+
LastUpgradeVersion = "1200"
|
4
4
|
version = "1.3">
|
5
5
|
<BuildAction
|
6
6
|
parallelizeBuildables = "YES"
|
@@ -27,6 +27,15 @@
|
|
27
27
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
28
28
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
29
29
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
30
|
+
<MacroExpansion>
|
31
|
+
<BuildableReference
|
32
|
+
BuildableIdentifier = "primary"
|
33
|
+
BlueprintIdentifier = "B75028B01C5A3F94000EB3CF"
|
34
|
+
BuildableName = "<%= config[:project_name] %>.app"
|
35
|
+
BlueprintName = "<%= config[:project_name] %>"
|
36
|
+
ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
|
37
|
+
</BuildableReference>
|
38
|
+
</MacroExpansion>
|
30
39
|
<Testables>
|
31
40
|
<TestableReference
|
32
41
|
skipped = "NO">
|
@@ -39,17 +48,6 @@
|
|
39
48
|
</BuildableReference>
|
40
49
|
</TestableReference>
|
41
50
|
</Testables>
|
42
|
-
<MacroExpansion>
|
43
|
-
<BuildableReference
|
44
|
-
BuildableIdentifier = "primary"
|
45
|
-
BlueprintIdentifier = "B75028B01C5A3F94000EB3CF"
|
46
|
-
BuildableName = "<%= config[:project_name] %>.app"
|
47
|
-
BlueprintName = "<%= config[:project_name] %>"
|
48
|
-
ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
|
49
|
-
</BuildableReference>
|
50
|
-
</MacroExpansion>
|
51
|
-
<AdditionalOptions>
|
52
|
-
</AdditionalOptions>
|
53
51
|
</TestAction>
|
54
52
|
<LaunchAction
|
55
53
|
buildConfiguration = "Debug"
|
@@ -71,8 +69,6 @@
|
|
71
69
|
ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
|
72
70
|
</BuildableReference>
|
73
71
|
</BuildableProductRunnable>
|
74
|
-
<AdditionalOptions>
|
75
|
-
</AdditionalOptions>
|
76
72
|
</LaunchAction>
|
77
73
|
<ProfileAction
|
78
74
|
buildConfiguration = "Release"
|
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.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Future Workshops
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-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
|
@@ -383,7 +380,7 @@ homepage: https://github.com/FutureWorkshops/FWToolkit
|
|
383
380
|
licenses:
|
384
381
|
- MIT
|
385
382
|
metadata: {}
|
386
|
-
post_install_message:
|
383
|
+
post_install_message:
|
387
384
|
rdoc_options: []
|
388
385
|
require_paths:
|
389
386
|
- lib
|
@@ -399,13 +396,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
399
396
|
version: '0'
|
400
397
|
requirements: []
|
401
398
|
rubygems_version: 3.1.2
|
402
|
-
signing_key:
|
399
|
+
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
|
-
|