xcake 0.5.3 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/Gemfile.lock +11 -23
  4. data/lib/xcake.rb +34 -18
  5. data/lib/xcake/command/init.rb +1 -1
  6. data/lib/xcake/command/make.rb +17 -4
  7. data/lib/xcake/configurable.rb +4 -0
  8. data/lib/xcake/context.rb +15 -0
  9. data/lib/xcake/context/xcodeproj_context.rb +49 -0
  10. data/lib/xcake/core_ext/string.rb +8 -0
  11. data/lib/xcake/dependency.rb +23 -0
  12. data/lib/xcake/dependency_provider.rb +28 -0
  13. data/lib/xcake/file_reference_installer.rb +54 -0
  14. data/lib/xcake/file_reference_installer/compile_source_file_reference_installer.rb +16 -0
  15. data/lib/xcake/file_reference_installer/compile_xcdatamodeld_file_reference_installer.rb +25 -0
  16. data/lib/xcake/file_reference_installer/copy_resources_file_reference_installer.rb +21 -0
  17. data/lib/xcake/file_reference_installer/copy_xcassets_file_reference_installer.rb +25 -0
  18. data/lib/xcake/file_reference_installer/header_file_reference_installer.rb +11 -0
  19. data/lib/xcake/generator.rb +16 -0
  20. data/lib/xcake/generator/configuration_generator.rb +36 -0
  21. data/lib/xcake/generator/project_generator.rb +17 -0
  22. data/lib/xcake/generator/project_metadata_generator.rb +11 -0
  23. data/lib/xcake/{project_structure_resolver.rb → generator/project_structure_generator.rb} +1 -6
  24. data/lib/xcake/generator/scheme_generator.rb +16 -0
  25. data/lib/xcake/generator/target_build_phase_generator.rb +49 -0
  26. data/lib/xcake/generator/target_custom_build_phase_generator.rb +16 -0
  27. data/lib/xcake/generator/target_dependency_generator.rb +15 -0
  28. data/lib/xcake/generator/target_file_reference_generator.rb +59 -0
  29. data/lib/xcake/generator/target_framework_generator.rb +14 -0
  30. data/lib/xcake/generator/target_generator.rb +12 -0
  31. data/lib/xcake/informative.rb +2 -0
  32. data/lib/xcake/plugin.rb +25 -0
  33. data/lib/xcake/project.rb +13 -9
  34. data/lib/xcake/project/sugar.rb +2 -3
  35. data/lib/xcake/shell_script_build_phase.rb +15 -0
  36. data/lib/xcake/target.rb +24 -15
  37. data/lib/xcake/target/sugar.rb +13 -0
  38. data/lib/xcake/ui.rb +7 -0
  39. data/lib/xcake/version.rb +1 -1
  40. data/lib/xcake/visitor.rb +2 -2
  41. data/lib/xcake/xcode/project.rb +25 -2
  42. data/xcake.gemspec +1 -0
  43. metadata +43 -17
  44. data/LICENSE +0 -201
  45. data/lib/fastlane_plugin.rb +0 -5
  46. data/lib/xcake/generator/build_phase.rb +0 -78
  47. data/lib/xcake/generator/build_phase/compile_source_build_phase.rb +0 -18
  48. data/lib/xcake/generator/build_phase/compile_xcdatamodeld_build_phase.rb +0 -20
  49. data/lib/xcake/generator/build_phase/copy_resources_build_phase.rb +0 -17
  50. data/lib/xcake/generator/build_phase/copy_xcassets_build_phase.rb +0 -21
  51. data/lib/xcake/generator/build_phase/header_file_build_phase.rb +0 -13
  52. data/lib/xcake/generator/build_phase_registry.rb +0 -40
  53. data/lib/xcake/generator/configuration.rb +0 -46
  54. data/lib/xcake/generator/path.rb +0 -41
  55. data/lib/xcake/generator/project.rb +0 -64
  56. data/lib/xcake/generator/target.rb +0 -48
data/lib/xcake/project.rb CHANGED
@@ -14,10 +14,11 @@ module Xcake
14
14
 
15
15
  # @!group Configuring a project
16
16
 
17
+ # TODO: Rename to name
17
18
  # @return [String] the name of the project file. This is used as
18
19
  # the filename.
19
20
  #
20
- attr_accessor :project_name
21
+ attr_accessor :name
21
22
 
22
23
  # @return [String] the prefix used for Objective-C Classes. This is
23
24
  # used by xcode when creating new files.
@@ -48,7 +49,7 @@ module Xcake
48
49
  #
49
50
  def initialize(name="Project", &block)
50
51
 
51
- self.project_name = name
52
+ self.name = name
52
53
  self.targets = []
53
54
 
54
55
  block.call(self) if block_given?
@@ -71,15 +72,17 @@ module Xcake
71
72
  target
72
73
  end
73
74
 
74
- # Visitable
75
+ # @!group Conversion
76
+
77
+ def to_s
78
+ "Project<#{name}>"
79
+ end
80
+
81
+ # @!group Visitable
82
+
75
83
  def accept(visitor)
76
84
  visitor.visit(self)
77
85
 
78
- flatten_configurations.each do |c|
79
- visitor.visit(c)
80
- visitor.leave(c)
81
- end
82
-
83
86
  targets.each do |t|
84
87
  visitor.visit(t)
85
88
  visitor.leave(t)
@@ -90,7 +93,8 @@ module Xcake
90
93
 
91
94
  protected
92
95
 
93
- # Configurable
96
+ # @!group Configurable
97
+
94
98
  def default_settings
95
99
  common_settings = Xcodeproj::Constants::PROJECT_DEFAULT_BUILD_SETTINGS
96
100
  settings = Xcodeproj::Project::ProjectHelper.deep_dup(common_settings[:all])
@@ -99,9 +99,8 @@ module Xcake
99
99
  t.language = language
100
100
  end
101
101
 
102
- #Xcake needs to add dependencies in generation phase.
103
- #target.add_dependency(watch_app_target)
104
- #watch_app_target.add_dependency(watch_extension_target)
102
+ host_target.target_dependencies << watch_app_target
103
+ watch_app_target.target_dependencies << watch_extension_target
105
104
 
106
105
  block.call(watch_app_target, watch_extension_target) if block_given?
107
106
 
@@ -0,0 +1,15 @@
1
+ module Xcake
2
+ # This class is used to hold a shell script build phase name
3
+ # and script contents
4
+ #
5
+ class ShellScriptBuildPhase
6
+ attr_accessor :name
7
+ attr_accessor :script
8
+
9
+ def generate_native_build_phase(target)
10
+ phase = target.new_shell_script_build_phase(name)
11
+ phase.shell_script = script
12
+ phase
13
+ end
14
+ end
15
+ end
data/lib/xcake/target.rb CHANGED
@@ -32,6 +32,15 @@ module Xcake
32
32
  #
33
33
  attr_accessor :language
34
34
 
35
+ # @return [Target] the test target for this target
36
+ #
37
+ attr_accessor :test_target
38
+
39
+ # @return [Array<Xcodeproj::Project::Object::AbstractBuildPhase>] the list
40
+ # of custom build phases for the project.
41
+ #
42
+ attr_accessor :build_phases
43
+
35
44
  # @!group File patterns
36
45
 
37
46
  #
@@ -141,6 +150,10 @@ module Xcake
141
150
  #
142
151
  attr_accessor :system_frameworks
143
152
 
153
+ # @return [Array<Target>] targets to use as dependencies
154
+ #
155
+ attr_accessor :target_dependencies
156
+
144
157
  # @param [Proc] block
145
158
  # an optional block that configures the project through the DSL.
146
159
  #
@@ -151,6 +164,7 @@ module Xcake
151
164
  # end
152
165
  #
153
166
  def initialize(&block)
167
+ self.build_phases = []
154
168
  block.call(self) if block_given?
155
169
  end
156
170
 
@@ -166,6 +180,16 @@ module Xcake
166
180
  @system_frameworks ||= default_system_frameworks_for self.platform
167
181
  end
168
182
 
183
+ def target_dependencies
184
+ @target_dependencies ||= []
185
+ end
186
+
187
+ # @!group Conversion
188
+
189
+ def to_s
190
+ "Target<#{name}>"
191
+ end
192
+
169
193
  protected
170
194
 
171
195
  def default_system_frameworks_for(platform)
@@ -208,20 +232,5 @@ module Xcake
208
232
  type,
209
233
  language).merge!(default_settings)
210
234
  end
211
-
212
- #Visitable
213
-
214
- public
215
-
216
- def accept(visitor)
217
- visitor.visit(self)
218
-
219
- flatten_configurations.each do |c|
220
- visitor.visit(c)
221
- visitor.leave(c)
222
- end
223
-
224
- visitor.leave(self)
225
- end
226
235
  end
227
236
  end
@@ -0,0 +1,13 @@
1
+ require "xcodeproj"
2
+
3
+ module Xcake
4
+ class Target
5
+ def shell_script_build_phase(name, script)
6
+ phase = ShellScriptBuildPhase.new
7
+ phase.name = name
8
+ phase.script = script.strip_heredoc
9
+ build_phases << phase
10
+ phase
11
+ end
12
+ end
13
+ end
data/lib/xcake/ui.rb ADDED
@@ -0,0 +1,7 @@
1
+ require "molinillo"
2
+
3
+ module Xcake
4
+ class UI
5
+ include Molinillo::UI
6
+ end
7
+ end
data/lib/xcake/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Xcake
2
- VERSION = "0.5.3"
2
+ VERSION = "0.6.2".freeze
3
3
  end
data/lib/xcake/visitor.rb CHANGED
@@ -43,7 +43,7 @@ module Xcake
43
43
  item_name = item_name(item)
44
44
 
45
45
  method = "visit_#{item_name}"
46
- send(method, item)
46
+ send(method, item) if respond_to? method
47
47
  end
48
48
 
49
49
  # This is called when a visitor is leaving a
@@ -61,7 +61,7 @@ module Xcake
61
61
  item_name = item_name(item)
62
62
 
63
63
  method = "leave_#{item_name}"
64
- send(method, item)
64
+ send(method, item) if respond_to? method
65
65
  end
66
66
 
67
67
  private
@@ -86,7 +86,7 @@ module Xcake
86
86
  # @return [Target] new xcode target
87
87
  #
88
88
  def new_target(target)
89
- native_target = self.new(Xcodeproj::Project::Object::PBXNativeTarget)
89
+ native_target = new(Xcodeproj::Project::Object::PBXNativeTarget)
90
90
  native_target.name = target.name
91
91
  native_target.product_name = target.name
92
92
 
@@ -97,7 +97,7 @@ module Xcake
97
97
  native_target.product_type = target.type
98
98
  end
99
99
 
100
- native_target.build_configuration_list = self.new(Xcodeproj::Project::Object::XCConfigurationList)
100
+ native_target.build_configuration_list = new(Xcodeproj::Project::Object::XCConfigurationList)
101
101
 
102
102
  product = self.products_group.new_product_ref_for_target(native_target.product_name, native_target.product_type)
103
103
  native_target.product_reference = product
@@ -106,6 +106,29 @@ module Xcake
106
106
  native_target
107
107
  end
108
108
 
109
+ # Creates a new xcode configuration from the configuration DSL
110
+ #
111
+ # @param [Configurarion] configuration
112
+ # configuration DSL to create target from
113
+ #
114
+ # @return [Configurarion] new xcode configuration
115
+ #
116
+ def new_configuration(configuration)
117
+ new(Xcodeproj::Project::Object::XCBuildConfiguration)
118
+ end
119
+
120
+ # Creates a new xcode group from the node
121
+ #
122
+ # @param [Node] node
123
+ # configuration DSL to create target from
124
+ #
125
+ # @return [Group] new xcode group
126
+ #
127
+ def new_group(node)
128
+ return main_group unless node.parent
129
+ main_group.find_subpath(node.parent.path, true)
130
+ end
131
+
109
132
  # Finds a unit test target for a xcode target
110
133
  #
111
134
  # @param [Target] target
data/xcake.gemspec CHANGED
@@ -32,4 +32,5 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "hooks", "~> 0.4.1"
33
33
  spec.add_dependency "xcodeproj", "~> 0.28"
34
34
  spec.add_dependency "tty", "~> 0.3.2"
35
+ spec.add_dependency "molinillo"
35
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Campbell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 0.3.2
153
+ - !ruby/object:Gem::Dependency
154
+ name: molinillo
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
153
167
  description: Create your Xcode projects automatically using a stupid simple DSL.
154
168
  email:
155
169
  - james@supmenow.com
@@ -167,7 +181,6 @@ files:
167
181
  - CODE_OF_CONDUCT.md
168
182
  - Gemfile
169
183
  - Gemfile.lock
170
- - LICENSE
171
184
  - LICENSE.txt
172
185
  - README.md
173
186
  - Rakefile
@@ -181,7 +194,6 @@ files:
181
194
  - docs/Getting Started.md
182
195
  - docs/Hooks.md
183
196
  - docs/Xcode Project Support.md
184
- - lib/fastlane_plugin.rb
185
197
  - lib/xcake.rb
186
198
  - lib/xcake/command.rb
187
199
  - lib/xcake/command/init.rb
@@ -190,27 +202,41 @@ files:
190
202
  - lib/xcake/configuration.rb
191
203
  - lib/xcake/configuration/proxies/preproccessor_definitions_setting_proxy.rb
192
204
  - lib/xcake/configuration/sugar.rb
205
+ - lib/xcake/context.rb
206
+ - lib/xcake/context/xcodeproj_context.rb
193
207
  - lib/xcake/core_ext/string.rb
208
+ - lib/xcake/dependency.rb
209
+ - lib/xcake/dependency_provider.rb
194
210
  - lib/xcake/fastlane/xcake.rb
195
- - lib/xcake/generator/build_phase.rb
196
- - lib/xcake/generator/build_phase/compile_source_build_phase.rb
197
- - lib/xcake/generator/build_phase/compile_xcdatamodeld_build_phase.rb
198
- - lib/xcake/generator/build_phase/copy_resources_build_phase.rb
199
- - lib/xcake/generator/build_phase/copy_xcassets_build_phase.rb
200
- - lib/xcake/generator/build_phase/header_file_build_phase.rb
201
- - lib/xcake/generator/build_phase_registry.rb
202
- - lib/xcake/generator/configuration.rb
203
- - lib/xcake/generator/path.rb
204
- - lib/xcake/generator/project.rb
205
- - lib/xcake/generator/target.rb
211
+ - lib/xcake/file_reference_installer.rb
212
+ - lib/xcake/file_reference_installer/compile_source_file_reference_installer.rb
213
+ - lib/xcake/file_reference_installer/compile_xcdatamodeld_file_reference_installer.rb
214
+ - lib/xcake/file_reference_installer/copy_resources_file_reference_installer.rb
215
+ - lib/xcake/file_reference_installer/copy_xcassets_file_reference_installer.rb
216
+ - lib/xcake/file_reference_installer/header_file_reference_installer.rb
217
+ - lib/xcake/generator.rb
218
+ - lib/xcake/generator/configuration_generator.rb
219
+ - lib/xcake/generator/project_generator.rb
220
+ - lib/xcake/generator/project_metadata_generator.rb
221
+ - lib/xcake/generator/project_structure_generator.rb
222
+ - lib/xcake/generator/scheme_generator.rb
223
+ - lib/xcake/generator/target_build_phase_generator.rb
224
+ - lib/xcake/generator/target_custom_build_phase_generator.rb
225
+ - lib/xcake/generator/target_dependency_generator.rb
226
+ - lib/xcake/generator/target_file_reference_generator.rb
227
+ - lib/xcake/generator/target_framework_generator.rb
228
+ - lib/xcake/generator/target_generator.rb
206
229
  - lib/xcake/informative.rb
207
230
  - lib/xcake/node.rb
231
+ - lib/xcake/plugin.rb
208
232
  - lib/xcake/project.rb
209
233
  - lib/xcake/project/hooks.rb
210
234
  - lib/xcake/project/sugar.rb
211
- - lib/xcake/project_structure_resolver.rb
212
235
  - lib/xcake/resources/Cakefile
236
+ - lib/xcake/shell_script_build_phase.rb
213
237
  - lib/xcake/target.rb
238
+ - lib/xcake/target/sugar.rb
239
+ - lib/xcake/ui.rb
214
240
  - lib/xcake/version.rb
215
241
  - lib/xcake/visitable.rb
216
242
  - lib/xcake/visitor.rb
@@ -238,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
264
  version: '0'
239
265
  requirements: []
240
266
  rubyforge_project:
241
- rubygems_version: 2.2.2
267
+ rubygems_version: 2.4.8
242
268
  signing_key:
243
269
  specification_version: 4
244
270
  summary: DSL for Xcode Projects.
data/LICENSE DELETED
@@ -1,201 +0,0 @@
1
- The Artistic License 2.0
2
-
3
- Copyright (c) 2015 James Campbell
4
-
5
- Everyone is permitted to copy and distribute verbatim copies
6
- of this license document, but changing it is not allowed.
7
-
8
- Preamble
9
-
10
- This license establishes the terms under which a given free software
11
- Package may be copied, modified, distributed, and/or redistributed.
12
- The intent is that the Copyright Holder maintains some artistic
13
- control over the development of that Package while still keeping the
14
- Package available as open source and free software.
15
-
16
- You are always permitted to make arrangements wholly outside of this
17
- license directly with the Copyright Holder of a given Package. If the
18
- terms of this license do not permit the full use that you propose to
19
- make of the Package, you should contact the Copyright Holder and seek
20
- a different licensing arrangement.
21
-
22
- Definitions
23
-
24
- "Copyright Holder" means the individual(s) or organization(s)
25
- named in the copyright notice for the entire Package.
26
-
27
- "Contributor" means any party that has contributed code or other
28
- material to the Package, in accordance with the Copyright Holder's
29
- procedures.
30
-
31
- "You" and "your" means any person who would like to copy,
32
- distribute, or modify the Package.
33
-
34
- "Package" means the collection of files distributed by the
35
- Copyright Holder, and derivatives of that collection and/or of
36
- those files. A given Package may consist of either the Standard
37
- Version, or a Modified Version.
38
-
39
- "Distribute" means providing a copy of the Package or making it
40
- accessible to anyone else, or in the case of a company or
41
- organization, to others outside of your company or organization.
42
-
43
- "Distributor Fee" means any fee that you charge for Distributing
44
- this Package or providing support for this Package to another
45
- party. It does not mean licensing fees.
46
-
47
- "Standard Version" refers to the Package if it has not been
48
- modified, or has been modified only in ways explicitly requested
49
- by the Copyright Holder.
50
-
51
- "Modified Version" means the Package, if it has been changed, and
52
- such changes were not explicitly requested by the Copyright
53
- Holder.
54
-
55
- "Original License" means this Artistic License as Distributed with
56
- the Standard Version of the Package, in its current version or as
57
- it may be modified by The Perl Foundation in the future.
58
-
59
- "Source" form means the source code, documentation source, and
60
- configuration files for the Package.
61
-
62
- "Compiled" form means the compiled bytecode, object code, binary,
63
- or any other form resulting from mechanical transformation or
64
- translation of the Source form.
65
-
66
-
67
- Permission for Use and Modification Without Distribution
68
-
69
- (1) You are permitted to use the Standard Version and create and use
70
- Modified Versions for any purpose without restriction, provided that
71
- you do not Distribute the Modified Version.
72
-
73
-
74
- Permissions for Redistribution of the Standard Version
75
-
76
- (2) You may Distribute verbatim copies of the Source form of the
77
- Standard Version of this Package in any medium without restriction,
78
- either gratis or for a Distributor Fee, provided that you duplicate
79
- all of the original copyright notices and associated disclaimers. At
80
- your discretion, such verbatim copies may or may not include a
81
- Compiled form of the Package.
82
-
83
- (3) You may apply any bug fixes, portability changes, and other
84
- modifications made available from the Copyright Holder. The resulting
85
- Package will still be considered the Standard Version, and as such
86
- will be subject to the Original License.
87
-
88
-
89
- Distribution of Modified Versions of the Package as Source
90
-
91
- (4) You may Distribute your Modified Version as Source (either gratis
92
- or for a Distributor Fee, and with or without a Compiled form of the
93
- Modified Version) provided that you clearly document how it differs
94
- from the Standard Version, including, but not limited to, documenting
95
- any non-standard features, executables, or modules, and provided that
96
- you do at least ONE of the following:
97
-
98
- (a) make the Modified Version available to the Copyright Holder
99
- of the Standard Version, under the Original License, so that the
100
- Copyright Holder may include your modifications in the Standard
101
- Version.
102
-
103
- (b) ensure that installation of your Modified Version does not
104
- prevent the user installing or running the Standard Version. In
105
- addition, the Modified Version must bear a name that is different
106
- from the name of the Standard Version.
107
-
108
- (c) allow anyone who receives a copy of the Modified Version to
109
- make the Source form of the Modified Version available to others
110
- under
111
-
112
- (i) the Original License or
113
-
114
- (ii) a license that permits the licensee to freely copy,
115
- modify and redistribute the Modified Version using the same
116
- licensing terms that apply to the copy that the licensee
117
- received, and requires that the Source form of the Modified
118
- Version, and of any works derived from it, be made freely
119
- available in that license fees are prohibited but Distributor
120
- Fees are allowed.
121
-
122
-
123
- Distribution of Compiled Forms of the Standard Version
124
- or Modified Versions without the Source
125
-
126
- (5) You may Distribute Compiled forms of the Standard Version without
127
- the Source, provided that you include complete instructions on how to
128
- get the Source of the Standard Version. Such instructions must be
129
- valid at the time of your distribution. If these instructions, at any
130
- time while you are carrying out such distribution, become invalid, you
131
- must provide new instructions on demand or cease further distribution.
132
- If you provide valid instructions or cease distribution within thirty
133
- days after you become aware that the instructions are invalid, then
134
- you do not forfeit any of your rights under this license.
135
-
136
- (6) You may Distribute a Modified Version in Compiled form without
137
- the Source, provided that you comply with Section 4 with respect to
138
- the Source of the Modified Version.
139
-
140
-
141
- Aggregating or Linking the Package
142
-
143
- (7) You may aggregate the Package (either the Standard Version or
144
- Modified Version) with other packages and Distribute the resulting
145
- aggregation provided that you do not charge a licensing fee for the
146
- Package. Distributor Fees are permitted, and licensing fees for other
147
- components in the aggregation are permitted. The terms of this license
148
- apply to the use and Distribution of the Standard or Modified Versions
149
- as included in the aggregation.
150
-
151
- (8) You are permitted to link Modified and Standard Versions with
152
- other works, to embed the Package in a larger work of your own, or to
153
- build stand-alone binary or bytecode versions of applications that
154
- include the Package, and Distribute the result without restriction,
155
- provided the result does not expose a direct interface to the Package.
156
-
157
-
158
- Items That are Not Considered Part of a Modified Version
159
-
160
- (9) Works (including, but not limited to, modules and scripts) that
161
- merely extend or make use of the Package, do not, by themselves, cause
162
- the Package to be a Modified Version. In addition, such works are not
163
- considered parts of the Package itself, and are not subject to the
164
- terms of this license.
165
-
166
-
167
- General Provisions
168
-
169
- (10) Any use, modification, and distribution of the Standard or
170
- Modified Versions is governed by this Artistic License. By using,
171
- modifying or distributing the Package, you accept this license. Do not
172
- use, modify, or distribute the Package, if you do not accept this
173
- license.
174
-
175
- (11) If your Modified Version has been derived from a Modified
176
- Version made by someone other than you, you are nevertheless required
177
- to ensure that your Modified Version complies with the requirements of
178
- this license.
179
-
180
- (12) This license does not grant you the right to use any trademark,
181
- service mark, tradename, or logo of the Copyright Holder.
182
-
183
- (13) This license includes the non-exclusive, worldwide,
184
- free-of-charge patent license to make, have made, use, offer to sell,
185
- sell, import and otherwise transfer the Package with respect to any
186
- patent claims licensable by the Copyright Holder that are necessarily
187
- infringed by the Package. If you institute patent litigation
188
- (including a cross-claim or counterclaim) against any party alleging
189
- that the Package constitutes direct or contributory patent
190
- infringement, then this Artistic License to you shall terminate on the
191
- date that such litigation is filed.
192
-
193
- (14) Disclaimer of Warranty:
194
- THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
195
- IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
196
- WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
197
- NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
198
- LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
199
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
200
- DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
201
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.