xcake 0.5.3 → 0.6.2

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.
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.