xcake 0.8.12 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +5 -5
  2. data/lib/xcake.rb +3 -4
  3. data/lib/xcake/command/make.rb +1 -3
  4. data/lib/xcake/constants.rb +10 -10
  5. data/lib/xcake/context.rb +0 -2
  6. data/lib/xcake/context/xcodeproj_context.rb +10 -7
  7. data/lib/xcake/core_ext/class.rb +14 -0
  8. data/lib/xcake/dependency_provider.rb +3 -3
  9. data/lib/xcake/dsl/build_phase/copy_files_build_phase.rb +1 -3
  10. data/lib/xcake/dsl/build_phase/shell_script_build_phase.rb +10 -0
  11. data/lib/xcake/dsl/build_rule.rb +76 -0
  12. data/lib/xcake/dsl/configurable.rb +10 -8
  13. data/lib/xcake/dsl/configuration/sugar.rb +1 -1
  14. data/lib/xcake/dsl/project.rb +1 -1
  15. data/lib/xcake/dsl/project/hooks.rb +4 -0
  16. data/lib/xcake/dsl/project/sugar.rb +13 -15
  17. data/lib/xcake/dsl/scheme.rb +2 -3
  18. data/lib/xcake/dsl/target.rb +19 -5
  19. data/lib/xcake/dsl/target/sugar.rb +22 -0
  20. data/lib/xcake/event_hooks.rb +10 -0
  21. data/lib/xcake/generator.rb +1 -0
  22. data/lib/xcake/generator/default_project_structure_generator.rb +5 -6
  23. data/lib/xcake/generator/project_generator.rb +3 -2
  24. data/lib/xcake/generator/scheme_generator.rb +34 -24
  25. data/lib/xcake/generator/target_build_rule_generator.rb +24 -0
  26. data/lib/xcake/generator/target_file_reference_generator.rb +11 -10
  27. data/lib/xcake/generator/target_framework_generator.rb +6 -6
  28. data/lib/xcake/generator/target_library_generator.rb +5 -6
  29. data/lib/xcake/path_classifier.rb +24 -20
  30. data/lib/xcake/ui.rb +9 -1
  31. data/lib/xcake/version.rb +1 -1
  32. data/lib/xcake/xcode/project.rb +16 -2
  33. data/lib/xcake/xcode/scheme_list.rb +0 -2
  34. data/lib/xcake/xcodeproj_ext/PBXGroup.rb +12 -10
  35. data/lib/xcake/xcodeproj_ext/PBXNativeTarget.rb +2 -2
  36. metadata +137 -91
  37. data/.gitattributes +0 -1
  38. data/.gitignore +0 -39
  39. data/.rspec +0 -2
  40. data/.travis.yml +0 -16
  41. data/.yardopts +0 -7
  42. data/CHANGELOG.md +0 -325
  43. data/CODE_OF_CONDUCT.md +0 -13
  44. data/Gemfile +0 -4
  45. data/LICENSE.txt +0 -21
  46. data/README.md +0 -110
  47. data/Rakefile +0 -6
  48. data/bin/console +0 -10
  49. data/bin/setup +0 -7
  50. data/fastlane-plugin-xcake/Gemfile +0 -3
  51. data/fastlane-plugin-xcake/LICENSE +0 -21
  52. data/fastlane-plugin-xcake/README.md +0 -31
  53. data/fastlane-plugin-xcake/Rakefile +0 -6
  54. data/fastlane-plugin-xcake/fastlane-plugin-xcake.gemspec +0 -25
  55. data/fastlane-plugin-xcake/lib/fastlane/plugin/xcake.rb +0 -16
  56. data/fastlane-plugin-xcake/lib/fastlane/plugin/xcake/actions/xcake_action.rb +0 -34
  57. data/fastlane-plugin-xcake/lib/fastlane/plugin/xcake/version.rb +0 -5
  58. data/fastlane-plugin-xcake/spec/spec_helper.rb +0 -8
  59. data/hound.yml +0 -2
  60. data/lib/xcake/core_ext/array.rb +0 -5
  61. data/lib/xcake/core_ext/object.rb +0 -7
  62. data/rubocop.yml +0 -173
  63. data/rubocop_general.yml +0 -113
  64. data/xcake.gemspec +0 -40
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task default: :spec
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'bundler/setup'
4
-
5
- # You can add fixtures and/or initialization code here to make experimenting
6
- # with your gem easier. You can also use a different console, if you like.
7
-
8
- # (If you use this, don't forget to add pry to your Gemfile!)
9
- require 'pry'
10
- Pry.start
data/bin/setup DELETED
@@ -1,7 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
-
5
- bundle install
6
-
7
- # Do any other automated setup that you need to do here
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2016 fastlane
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,31 +0,0 @@
1
- # xcake `fastlane` Plugin
2
-
3
- [![Gem](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-xcake)
4
-
5
- ## Getting Started
6
-
7
- This project is a [fastlane](https://github.com/fastlane/fastlane) plugin. To get started with fastlane-plugin-xcake, add it to your project by running:
8
-
9
- ```bash
10
- fastlane add_plugin xcake
11
- ```
12
-
13
- ## About xcake
14
-
15
- Generate project using `xcake make`.
16
-
17
- ## Issues and Feedback
18
-
19
- For any other issues and feedback about this plugin, please submit it to this repository.
20
-
21
- ## Troubleshooting
22
-
23
- For some more detailed help with plugins problems, check out the [Plugins Troubleshooting](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/PluginsTroubleshooting.md) doc in the main `fastlane` repo.
24
-
25
- ## Using `fastlane` Plugins
26
-
27
- For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Plugins.md) in the main `fastlane` repo.
28
-
29
- ## About `fastlane`
30
-
31
- `fastlane` automates building, testing, and releasing your app for beta and app store distributions. To learn more about `fastlane`, check out [fastlane.tools](https://fastlane.tools).
@@ -1,6 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task default: :spec
@@ -1,25 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'fastlane/plugin/xcake/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'fastlane-plugin-xcake'
8
- spec.version = Fastlane::Xcake::VERSION
9
- spec.authors = ['James Campbell']
10
- spec.email = ['james@supmenow.com']
11
-
12
- spec.summary = 'DSL for Xcode Projects.'
13
- spec.description = 'Create your Xcode projects automatically using a stupid simple DSL.'
14
- spec.homepage = 'https://github.com/jcampbell05/xcake/'
15
- spec.license = 'MIT'
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.require_paths = ['lib']
19
-
20
- spec.add_dependency 'xcake'
21
-
22
- spec.add_development_dependency 'rspec', '~> 3.4.0'
23
- spec.add_development_dependency 'fastlane', '~> 1.89'
24
- spec.add_development_dependency 'pry'
25
- end
@@ -1,16 +0,0 @@
1
- require 'fastlane/plugin/xcake/version'
2
-
3
- module Fastlane
4
- module Xcake
5
- # Return all .rb files inside the "actions" and "helper" directory
6
- def self.all_classes
7
- Dir[File.expand_path('*/{actions,helper}/*.rb', File.dirname(__FILE__))]
8
- end
9
- end
10
- end
11
-
12
- # By default we want to import all available actions and helpers
13
- # A plugin can contain any number of actions and plugins
14
- Fastlane::Xcake.all_classes.each do |current|
15
- require current
16
- end
@@ -1,34 +0,0 @@
1
- module Fastlane
2
- module Actions
3
- class XcakeAction < Action
4
- def self.run(_params)
5
- require 'xcake'
6
-
7
- if defined?(::Xcake::Command::Make)
8
- # New `xcake make` command
9
- ::Xcake::Command::Make.run
10
- else
11
- # Legacy `xcake` command
12
- ::Xcake::Command.run
13
- end
14
- end
15
-
16
- def self.description
17
- 'Runs `xcake` for the project'
18
- end
19
-
20
- def self.available_options
21
- [
22
- ]
23
- end
24
-
25
- def self.is_supported?(platform)
26
- [:ios, :mac].include? platform
27
- end
28
-
29
- def self.authors
30
- ['jcampbell05']
31
- end
32
- end
33
- end
34
- end
@@ -1,5 +0,0 @@
1
- module Fastlane
2
- module Xcake
3
- VERSION = '0.1.0'.freeze
4
- end
5
- end
@@ -1,8 +0,0 @@
1
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
-
3
- # This module is only used to check the environment is currently a testing env
4
- module SpecHelper
5
- end
6
-
7
- require 'fastlane' # to import the Action super class
8
- require 'fastlane/plugin/xcake' # import the actual plugin
data/hound.yml DELETED
@@ -1,2 +0,0 @@
1
- ruby:
2
- config_file: .rubocop.yml
@@ -1,5 +0,0 @@
1
- class Array
2
- def to_h
3
- Hash[*flatten(1)]
4
- end
5
- end
@@ -1,7 +0,0 @@
1
- class Object
2
- # Returns all descendants of a class
3
- #
4
- def self.descendants
5
- ObjectSpace.each_object(Class).select { |klass| klass < self }
6
- end
7
- end
@@ -1,173 +0,0 @@
1
- ##################
2
- # All rules specific to this repo
3
- ##################
4
-
5
- inherit_from: .rubocop_general.yml
6
-
7
- # e.g.
8
- # def self.is_supported?(platform)
9
- # we may never use `platform`
10
- Lint/UnusedMethodArgument:
11
- Enabled: false
12
-
13
- # the let(:key) { ... }
14
- Lint/ParenthesesAsGroupedExpression:
15
- Exclude:
16
- - 'spec/**/*'
17
-
18
- # We use `is_supported?` everywhere already
19
- Style/PredicateName:
20
- Enabled: false
21
-
22
- # Disable '+ should be surrounded with a single space' for xcodebuild_spec.rb
23
- Style/SpaceAroundOperators:
24
- Exclude:
25
- - 'spec/actions_specs/xcodebuild_spec.rb'
26
-
27
- Metrics/MethodLength:
28
- Exclude:
29
- - 'lib/fastlane/actions/*.rb'
30
- - 'bin/fastlane'
31
-
32
- AllCops:
33
- Include:
34
- - 'fastlane/Fastfile'
35
- Exclude:
36
- - 'lib/assets/custom_action_template.rb'
37
-
38
- # Offense count: 20
39
- Metrics/AbcSize:
40
- Max: 63
41
-
42
- # Offense count: 7
43
- # Configuration parameters: CountComments.
44
- Metrics/ClassLength:
45
- Max: 320
46
-
47
- # Offense count: 4
48
- Metrics/CyclomaticComplexity:
49
- Max: 17
50
-
51
- # Offense count: 489
52
- # Configuration parameters: AllowURI, URISchemes.
53
- Metrics/LineLength:
54
- Max: 372
55
-
56
- # Offense count: 5
57
- # Configuration parameters: CountKeywordArgs.
58
- Metrics/ParameterLists:
59
- Max: 17
60
-
61
- # Offense count: 3
62
- Metrics/PerceivedComplexity:
63
- Max: 18
64
-
65
- # Offense count: 1
66
- # Cop supports --auto-correct.
67
- Style/Alias:
68
- Enabled: false
69
-
70
- # Offense count: 14
71
- # Cop supports --auto-correct.
72
- # Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle, SupportedLastArgumentHashStyles.
73
- Style/AlignHash:
74
- Enabled: false
75
-
76
- # Offense count: 22
77
- # Cop supports --auto-correct.
78
- # Configuration parameters: EnforcedStyle, SupportedStyles.
79
- Style/AndOr:
80
- Enabled: false
81
-
82
- # Offense count: 1
83
- # Configuration parameters: EnforcedStyle, SupportedStyles.
84
- Style/ClassAndModuleChildren:
85
- Enabled: false
86
-
87
- # Offense count: 19
88
- Style/Documentation:
89
- Enabled: false
90
-
91
- # Offense count: 112
92
- # Cop supports --auto-correct.
93
- # Configuration parameters: EnforcedStyle, SupportedStyles.
94
- Style/DotPosition:
95
- Enabled: false
96
-
97
- # Offense count: 12
98
- # Cop supports --auto-correct.
99
- # Configuration parameters: EnforcedStyle, SupportedStyles.
100
- Style/EmptyLinesAroundClassBody:
101
- Enabled: false
102
-
103
- # Configuration parameters: MinBodyLength.
104
- Style/GuardClause:
105
- Enabled: false
106
-
107
- # Offense count: 4
108
- # Cop supports --auto-correct.
109
- # Configuration parameters: MaxLineLength.
110
- Style/IfUnlessModifier:
111
- Enabled: false
112
-
113
- # Offense count: 74
114
- # Cop supports --auto-correct.
115
- # Configuration parameters: EnforcedStyle, SupportedStyles.
116
- Style/MultilineOperationIndentation:
117
- Enabled: false
118
-
119
- # Offense count: 10
120
- # Cop supports --auto-correct.
121
- Style/NumericLiterals:
122
- MinDigits: 14
123
-
124
- # Offense count: 2
125
- # Cop supports --auto-correct.
126
- Style/PerlBackrefs:
127
- Enabled: false
128
-
129
- # Offense count: 19
130
- # Cop supports --auto-correct.
131
- # Configuration parameters: AllowMultipleReturnValues.
132
- Style/RedundantReturn:
133
- Enabled: false
134
-
135
- # Offense count: 77
136
- # Cop supports --auto-correct.
137
- Style/RedundantSelf:
138
- Enabled: false
139
-
140
- # Offense count: 38
141
- # Cop supports --auto-correct.
142
- # Configuration parameters: EnforcedStyle, SupportedStyles.
143
- Style/SignalException:
144
- Enabled: false
145
-
146
- # Offense count: 5
147
- # Cop supports --auto-correct.
148
- # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
149
- Style/SpaceInsideBlockBraces:
150
- Enabled: false
151
-
152
- # Offense count: 291
153
- # Cop supports --auto-correct.
154
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles.
155
- Style/SpaceInsideHashLiteralBraces:
156
- Enabled: false
157
-
158
- # Offense count: 8
159
- # Cop supports --auto-correct.
160
- Style/SpaceInsideParens:
161
- Enabled: false
162
-
163
- # Offense count: 881
164
- # Cop supports --auto-correct.
165
- # Configuration parameters: EnforcedStyle, SupportedStyles.
166
- Style/StringLiterals:
167
- Enabled: false
168
-
169
- # Offense count: 9
170
- # Cop supports --auto-correct.
171
- # Configuration parameters: WordRegex.
172
- Style/WordArray:
173
- MinSize: 19
@@ -1,113 +0,0 @@
1
-
2
- Style/ClassCheck:
3
- EnforcedStyle: kind_of?
4
-
5
- # Cop supports --auto-correct.
6
- # Configuration parameters: EnforcedStyle, SupportedStyles.
7
- Style/BracesAroundHashParameters:
8
- Enabled: false
9
-
10
- Lint/UselessAssignment:
11
- Exclude:
12
- - 'spec/**/*'
13
-
14
- # Cop supports --auto-correct.
15
- # Configuration parameters: EnforcedStyle, SupportedStyles.
16
- Style/IndentHash:
17
- Enabled: false
18
-
19
- Style/RaiseArgs:
20
- EnforcedStyle: exploded
21
-
22
- Style/DoubleNegation:
23
- Enabled: false
24
-
25
- Lint/HandleExceptions:
26
- Enabled: false
27
-
28
- # Cop supports --auto-correct.
29
- Lint/UnusedBlockArgument:
30
- Enabled: false
31
-
32
- # Needed for $verbose
33
- Style/GlobalVars:
34
- Enabled: false
35
-
36
- Style/FileName:
37
- Enabled: false
38
-
39
- # $? Exit
40
- Style/SpecialGlobalVars:
41
- Enabled: false
42
-
43
- # the let(:key) { ... } should be allowed in tests
44
- Lint/ParenthesesAsGroupedExpression:
45
- Exclude:
46
- - 'spec/**/*'
47
-
48
- # options.rb might be large, we know that
49
- Metrics/MethodLength:
50
- Max: 60
51
- Exclude:
52
- - 'lib/*/options.rb'
53
-
54
- Metrics/AbcSize:
55
- Max: 60
56
- Exclude:
57
- - 'lib/*/options.rb'
58
-
59
- # Both string notations are okay
60
- Style/StringLiterals:
61
- Enabled: false
62
-
63
- # The %w might be confusing for new users
64
- Style/WordArray:
65
- MinSize: 19
66
-
67
- # Not a good thing
68
- Style/RedundantSelf:
69
- Enabled: false
70
-
71
- # raise and fail are both okay
72
- Style/SignalException:
73
- Enabled: false
74
-
75
- # Better too much 'return' than one missing
76
- Style/RedundantReturn:
77
- Enabled: false
78
-
79
- # Having if in the same line might not always be good
80
- Style/IfUnlessModifier:
81
- Enabled: false
82
-
83
- # That looks wrong
84
- Style/AlignHash:
85
- Enabled: false
86
-
87
- # and and or is okay
88
- Style/AndOr:
89
- Enabled: false
90
-
91
- # Configuration parameters: CountComments.
92
- Metrics/ClassLength:
93
- Max: 320
94
-
95
- Metrics/CyclomaticComplexity:
96
- Max: 17
97
-
98
- # Configuration parameters: AllowURI, URISchemes.
99
- Metrics/LineLength:
100
- Max: 370
101
-
102
- # Configuration parameters: CountKeywordArgs.
103
- Metrics/ParameterLists:
104
- Max: 17
105
-
106
- Metrics/PerceivedComplexity:
107
- Max: 18
108
-
109
- Style/DotPosition:
110
- Enabled: false
111
-
112
- Style/GuardClause:
113
- Enabled: false