fwtoolkit 2.3.2 → 2.3.3

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
2
  SHA256:
3
- metadata.gz: '019162ac50c1af63fa6b1ff17c1bceafaf93fabbd8f67bfa38853e5ebd5ce45c'
4
- data.tar.gz: c0e43f9f2cb8d7d7147c9a6bac3b38dbaff8de637567a2898667cc9fff71eb3a
3
+ metadata.gz: aa49fa07517de5e9f57dbb7365950f955663db8bb7605011e244e4d10dcb343d
4
+ data.tar.gz: 38e0e62b1f4c6778c1dba90a18e2069d20ba068e0d71c8d1a4664dc5fa4e0106
5
5
  SHA512:
6
- metadata.gz: 7d8c40a7fd54421e5104ae0231d1731d4bce0f5bea66a153fd683a60b39e272427b84c5f38e036a828ca4549b7554f4656506c6ea4f6bad7d79352ac5cabe7f3
7
- data.tar.gz: c45cf4ae466ff16db10e9d1c8ab3491d3ca35068b93b05e5b03ca8fd91004fd75cca9d3a20e0796e2f7ff870880be229a53bcc24f67bd7077c871c09db2ef60a
6
+ metadata.gz: 22ec8684f5efa4c3a6bb8f0835047f3ff4f9dab27956a1600ccaf05a54f7f629ce01ee29a6dbe2656049f6deef988357e398d639db58054e6a74aeff54947cfd
7
+ data.tar.gz: 6cb1def635dc8e8bf53e0bbd428e16e9d832eea8b5c7a56f367687ebec3f56c30a9c4fbd1804a30dfff2d5e99f01a5d674c4d908c12c2e1a9c42d581c89f614b
@@ -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/Supporting Files/Settings.bundle |
17
- | MyProject/Myproject/Supporting Files/en.lproj |
18
- | MyProject/MyprojectTests/Supporting Files/en.lproj |
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/Supporting Files/MyProject-Info.plist |
23
- | MyProject/MyProject/Supporting Files/MyProject-Prefix.pch |
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/MyProject/Supporting Files/version.sh |
27
- | MyProject/MyProjectTests/Supporting Files/MyProjectTests-Info.plist |
28
- | MyProject/MyProjectTests/MyProjectTests.h |
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
- destination_root = File.join(Dir.pwd, project_name)
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, project_name]
43
+ invoke FWToolkit::Bitrise, 'new', [destination_root, clean_project_name]
42
44
 
43
- invoke FWToolkit::Xcode, 'new', [project_language, project_name, class_prefix.upcase, File.join(Dir.pwd, project_name)]
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module FWToolkit
2
- VERSION = "2.3.2"
2
+ VERSION = "2.3.3"
3
3
  end
@@ -88,7 +88,7 @@ workflows:
88
88
  - EXPORT_TYPE: app-store
89
89
  opts:
90
90
  is_expand: true
91
- - CODESIGN_IDENTITY: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
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: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
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: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
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: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
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
- [Finishes #<PIVOTAL_TASK_NUMBER>]
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.2
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-01-21 00:00:00.000000000 Z
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
-