xcpretty 0.1.12 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.hound.yml +2 -10
  3. data/.rubocop.yml +239 -0
  4. data/.travis.yml +1 -8
  5. data/CHANGELOG.md +35 -0
  6. data/Gemfile +1 -0
  7. data/README.md +23 -76
  8. data/Rakefile +10 -8
  9. data/bin/xcpretty +14 -14
  10. data/features/simple_format.feature +39 -17
  11. data/features/steps/formatting_steps.rb +33 -4
  12. data/features/steps/html_steps.rb +1 -0
  13. data/features/steps/json_steps.rb +2 -1
  14. data/features/steps/junit_steps.rb +4 -3
  15. data/features/steps/report_steps.rb +1 -0
  16. data/features/support/env.rb +4 -3
  17. data/features/test_format.feature +4 -4
  18. data/lib/xcpretty/ansi.rb +14 -13
  19. data/lib/xcpretty/formatters/formatter.rb +24 -8
  20. data/lib/xcpretty/formatters/knock.rb +2 -1
  21. data/lib/xcpretty/formatters/rspec.rb +1 -0
  22. data/lib/xcpretty/formatters/simple.rb +18 -3
  23. data/lib/xcpretty/formatters/tap.rb +3 -2
  24. data/lib/xcpretty/parser.rb +38 -15
  25. data/lib/xcpretty/printer.rb +1 -0
  26. data/lib/xcpretty/reporters/html.rb +7 -5
  27. data/lib/xcpretty/reporters/json_compilation_database.rb +6 -10
  28. data/lib/xcpretty/reporters/junit.rb +6 -3
  29. data/lib/xcpretty/snippet.rb +0 -2
  30. data/lib/xcpretty/syntax.rb +38 -31
  31. data/lib/xcpretty/term.rb +14 -0
  32. data/lib/xcpretty/version.rb +2 -1
  33. data/lib/xcpretty.rb +5 -6
  34. data/spec/fixtures/constants.rb +15 -2
  35. data/spec/fixtures/custom_formatter.rb +2 -1
  36. data/spec/spec_helper.rb +2 -1
  37. data/spec/support/matchers/colors.rb +1 -0
  38. data/spec/xcpretty/ansi_spec.rb +1 -0
  39. data/spec/xcpretty/formatters/formatter_spec.rb +27 -16
  40. data/spec/xcpretty/formatters/rspec_spec.rb +1 -0
  41. data/spec/xcpretty/formatters/simple_spec.rb +22 -3
  42. data/spec/xcpretty/parser_spec.rb +39 -10
  43. data/spec/xcpretty/printer_spec.rb +15 -13
  44. data/spec/xcpretty/syntax_spec.rb +24 -48
  45. data/spec/xcpretty/term_spec.rb +26 -0
  46. data/xcpretty.gemspec +15 -11
  47. metadata +42 -14
  48. data/vendor/json_pure/COPYING +0 -57
  49. data/vendor/json_pure/LICENSE +0 -340
  50. data/vendor/json_pure/generator.rb +0 -443
  51. data/vendor/json_pure/parser.rb +0 -364
@@ -106,6 +106,11 @@ module XCPretty
106
106
  @parser.parse(SAMPLE_COMPILE_XIB)
107
107
  end
108
108
 
109
+ it "parses compiling storyboards" do
110
+ @formatter.should receive(:format_compile_storyboard).with("Main.storyboard", "sample/Main.storyboard")
111
+ @parser.parse(SAMPLE_COMPILE_STORYBOARD)
112
+ end
113
+
109
114
  it 'parses CopyPlistFile' do
110
115
  @formatter.should receive(:format_copy_plist_file).with(
111
116
  '/path/to/Some.plist', '/some other/File.plist')
@@ -119,7 +124,7 @@ module XCPretty
119
124
 
120
125
  it "parses CpHeader" do
121
126
  @formatter.should receive(:format_copy_header_file).with(
122
- '/path/to/Header.h','/some other/path/Header.h')
127
+ '/path/to/Header.h', '/some other/path/Header.h')
123
128
  @parser.parse('CpHeader /path/to/Header.h /some other/path/Header.h')
124
129
  end
125
130
 
@@ -198,6 +203,16 @@ module XCPretty
198
203
  @parser.parse(SAMPLE_MEASURING_TEST)
199
204
  end
200
205
 
206
+ it "parses build success indicator" do
207
+ @formatter.should receive(:format_phase_success).with('BUILD')
208
+ @parser.parse(SAMPLE_BUILD_SUCCEEDED)
209
+ end
210
+
211
+ it "parses clean success indicator" do
212
+ @formatter.should receive(:format_phase_success).with('CLEAN')
213
+ @parser.parse(SAMPLE_CLEAN_SUCCEEDED)
214
+ end
215
+
201
216
  it "parses PhaseScriptExecution" do
202
217
  @formatter.should receive(:format_phase_script_execution).with('Check Pods Manifest.lock')
203
218
  @parser.parse(SAMPLE_RUN_SCRIPT)
@@ -226,7 +241,7 @@ module XCPretty
226
241
 
227
242
  it 'parses changing directories' do
228
243
  @formatter.should receive(:format_shell_command).with('cd',
229
- '/some/place/out\ there')
244
+ '/some/place/out\ there')
230
245
  @parser.parse(' cd /some/place/out\ there')
231
246
  end
232
247
 
@@ -238,8 +253,8 @@ module XCPretty
238
253
 
239
254
  it "parses Touch" do
240
255
  @formatter.should receive(:format_touch).with(
241
- '/Users/musalj/Library/Developer/Xcode/DerivedData/Alcatraz-aobuxcinaqyzjugrnxjjhfzgwaou/Build/Products/Debug/AlcatrazTests.octest',
242
- 'AlcatrazTests.octest')
256
+ '/Users/musalj/Library/Developer/Xcode/DerivedData/Alcatraz-aobuxcinaqyzjugrnxjjhfzgwaou/Build/Products/Debug/Alcatraz Tests.octest',
257
+ 'Alcatraz Tests.octest')
243
258
  @parser.parse(SAMPLE_TOUCH)
244
259
  end
245
260
 
@@ -328,7 +343,7 @@ module XCPretty
328
343
  end
329
344
 
330
345
  it "parses cocoapods errors" do
331
- @formatter.should receive(:format_error).with("The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.")
346
+ @formatter.should receive(:format_error).with("error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.")
332
347
  @parser.parse(SAMPLE_PODS_ERROR)
333
348
  end
334
349
 
@@ -351,17 +366,25 @@ module XCPretty
351
366
  "'SomeRandomHeader.h' file not found",
352
367
  '#import "SomeRandomHeader.h"',
353
368
  ' ^'
354
- # For now, it's probably not worth to provide the import stack
355
- # It'd require more state, and not sure if it'd be any useful
356
- #%Q(In file included from /Users/musalj/code/OSS/SampleApp/Pods/SuperCoolPod/SuperAwesomeClass.m:12:
357
- #In file included from /Users/musalj/code/OSS/SampleApp/Pods/../LessCoolPod/LessCoolClass.h:9:
358
- #In file included from /Users/musalj/code/OSS/SampleApp/Pods/../LessCoolPod/EvenLessCoolClass.h:10:)
369
+ # For now, it's probably not worth to provide the import stack
370
+ # It'd require more state, and not sure if it'd be any useful
371
+ # %Q(In file included from /Users/musalj/code/OSS/SampleApp/Pods/SuperCoolPod/SuperAwesomeClass.m:12:
372
+ # In file included from /Users/musalj/code/OSS/SampleApp/Pods/../LessCoolPod/LessCoolClass.h:9:
373
+ # In file included from /Users/musalj/code/OSS/SampleApp/Pods/../LessCoolPod/EvenLessCoolClass.h:10:)
359
374
  )
360
375
  SAMPLE_FATAL_COMPILE_ERROR.each_line do |line|
361
376
  @parser.parse(line)
362
377
  end
363
378
  end
364
379
 
380
+ it 'parses file missing errors' do
381
+ @formatter.should receive(:format_file_missing_error).with(
382
+ 'error: no such file or directory:',
383
+ '/Users/travis/build/supermarin/project/Classes/Class + Category/Two Words/MissingViewController.swift'
384
+ )
385
+ @parser.parse(SAMPLE_FILE_MISSING_ERROR)
386
+ end
387
+
365
388
  it 'parses fatal error: on the beginning of the line for corrupted AST files' do
366
389
  @formatter.should receive(:format_error).with(
367
390
  "fatal error: malformed or corrupted AST file: 'could not find file '/Users/mpv/dev/project/Crashlytics.framework/Headers/Crashlytics.h' referenced by AST file' note: after modifying system headers, please delete the module cache at '/Users/mpv/Library/Developer/Xcode/DerivedData/ModuleCache/M5WJ0FYE7N06'"
@@ -444,6 +467,11 @@ module XCPretty
444
467
  @parser.parse(line)
445
468
  end
446
469
  end
470
+
471
+ it "parses ld warnings" do
472
+ @formatter.should receive(:format_ld_warning).with("ld: embedded dylibs/frameworks only run on iOS 8 or later")
473
+ @parser.parse("ld: warning: embedded dylibs/frameworks only run on iOS 8 or later")
474
+ end
447
475
  end
448
476
 
449
477
  context "summary" do
@@ -511,3 +539,4 @@ module XCPretty
511
539
 
512
540
  end
513
541
  end
542
+
@@ -7,7 +7,7 @@ module XCPretty
7
7
 
8
8
  before(:each) do
9
9
  STDOUT.stub(:print) { |text| text }
10
- @printer = Printer.new(:colorize => true, :unicode => true, :formatter => DummyFormatter)
10
+ @printer = Printer.new(colorize: true, unicode: true, formatter: DummyFormatter)
11
11
  end
12
12
 
13
13
  it "prints to stdout" do
@@ -22,7 +22,7 @@ module XCPretty
22
22
 
23
23
  it "prints with newlines only when needed" do
24
24
  @printer.formatter.stub(:optional_newline).and_return("")
25
-
25
+
26
26
  STDOUT.should receive(:print).with("hey ho let's go")
27
27
  @printer.pretty_print("hey ho let's go")
28
28
  end
@@ -35,19 +35,21 @@ module XCPretty
35
35
  end
36
36
  end
37
37
 
38
- module XCPretty; class DummyFormatter < Formatter
38
+ module XCPretty
39
+ class DummyFormatter < Formatter
39
40
 
40
- def initialize(unicode, colorize)
41
- @use_unicode = unicode
42
- @colorize = colorize
43
- end
41
+ def initialize(unicode, colorize)
42
+ @use_unicode = unicode
43
+ @colorize = colorize
44
+ end
44
45
 
45
- def pretty_format(text)
46
- text
47
- end
46
+ def pretty_format(text)
47
+ text
48
+ end
48
49
 
49
- def optional_newline
50
- "\n"
50
+ def optional_newline
51
+ "\n"
52
+ end
51
53
  end
54
+ end
52
55
 
53
- end; end
@@ -1,62 +1,38 @@
1
1
  require 'xcpretty/syntax'
2
2
 
3
3
  module XCPretty
4
-
5
4
  describe Syntax do
5
+ it 'syntax highlights given code' do
6
+ code = 'self.color = [UIColor redColor];'
7
+ snippet = Snippet.new(code, 'test.m')
8
+ output = Syntax.highlight(snippet)
6
9
 
7
- let(:snippet) { Snippet.new('self.color = [UIColor redColor];', 'test.m') }
8
- let(:code) { snippet.contents }
9
-
10
- it "caches the pygments availability" do
11
- Pygments.should_receive(:system).once.and_return(false)
12
- 4.times { Syntax.highlight(Snippet.new('meh')) }
10
+ stripped_output = output.gsub(/(?:(?:\u001b\[)|\u009b)(?:(?:[0-9]{1,3})?(?:;[0-9]{0,3})*?[A-M|f-m])|\u001b[A-M]/, '')
11
+ stripped_output.should == code
13
12
  end
14
13
 
15
- context "pygments are installed" do
16
-
17
- before(:each) do
18
- Pygments.stub(:available?).and_return(true)
19
- end
20
-
21
- it 'supports highlighting with options' do
22
- Pygments.should_receive(:pygmentize).with(code, 'objc', '-f html')
23
- Syntax.highlight(snippet, '-f html')
24
- end
25
-
26
- it 'highlights objective-c code by filename' do
27
- Pygments.should_receive(:pygmentize).with(code, 'objc', '')
28
- Syntax.highlight(snippet)
29
- end
30
-
31
- it 'highlights objective-c code by default' do
32
- Pygments.should_receive(:pygmentize).with(code, 'objc', '')
33
- Syntax.highlight(Snippet.new(code))
34
- end
35
-
36
- it 'highlights other languages by filename' do
37
- test_language 'swift', '.swift'
38
- test_language 'c++', '.cc', '.cpp', '.hpp', '.c++', '.cxx'
39
- test_language 'objc++', '.mm', '.hh'
40
- test_language 'objc', '.m', '.h'
41
- test_language 'dylan', '.dyl'
42
- test_language 'ruby', '.rb', '.ruby'
43
- end
44
-
45
- def test_language(language, *extensions)
46
- extensions.each do |extension|
47
- Pygments.should_receive(:pygmentize).with(code, language, '')
48
- Syntax.highlight(Snippet.new(code, "file#{extension}"))
49
- end
50
- end
14
+ it 'uses Objective-C lexer for Objective-C' do
15
+ Syntax.find_lexer('test.m', '').should == Rouge::Lexers::ObjectiveC
16
+ Syntax.find_lexer('test.h', '').should == Rouge::Lexers::ObjectiveC
51
17
  end
52
18
 
53
- context "pygments are not installed" do
19
+ it 'uses Swift lexer for Swift' do
20
+ Syntax.find_lexer('test.swift', '').should == Rouge::Lexers::Swift
21
+ end
54
22
 
55
- it "prints plain code" do
56
- Syntax.stub(:system).and_return(false)
57
- Syntax.highlight(snippet).should == 'self.color = [UIColor redColor];'
58
- end
23
+ it 'uses Ruby lexer for Ruby' do
24
+ Syntax.find_lexer('test.rb', '').should == Rouge::Lexers::Ruby
25
+ Syntax.find_lexer('test.ruby', '').should == Rouge::Lexers::Ruby
26
+ end
59
27
 
28
+ it 'uses C++ lexer for C++' do
29
+ Syntax.find_lexer('test.cpp', '').should == Rouge::Lexers::Cpp
30
+ Syntax.find_lexer('test.cc', '').should == Rouge::Lexers::Cpp
31
+ Syntax.find_lexer('test.c++', '').should == Rouge::Lexers::Cpp
32
+ Syntax.find_lexer('test.cxx', '').should == Rouge::Lexers::Cpp
33
+ Syntax.find_lexer('test.hpp', '').should == Rouge::Lexers::Cpp
34
+ Syntax.find_lexer('test.h++', '').should == Rouge::Lexers::Cpp
35
+ Syntax.find_lexer('test.hxx', '').should == Rouge::Lexers::Cpp
60
36
  end
61
37
  end
62
38
  end
@@ -0,0 +1,26 @@
1
+ require 'xcpretty/term'
2
+
3
+ module XCPretty
4
+ describe Term do
5
+ it "marks unicode as unavailable" do
6
+ Encoding.stub(:default_external).and_return(Encoding::ASCII)
7
+ Term.unicode?.should be false
8
+ end
9
+
10
+ it "marks unicode as available" do
11
+ Encoding.stub(:default_external).and_return(Encoding::UTF_8)
12
+ Term.unicode?.should be true
13
+ end
14
+
15
+ it 'marks color as unavailable' do
16
+ STDOUT.stub(:tty?).and_return(false)
17
+ Term.color?.should be false
18
+ end
19
+
20
+ it 'marks color as available' do
21
+ STDOUT.stub(:tty?).and_return(true)
22
+ Term.color?.should be true
23
+ end
24
+ end
25
+ end
26
+
data/xcpretty.gemspec CHANGED
@@ -8,16 +8,16 @@ Gem::Specification.new do |spec|
8
8
  spec.version = XCPretty::VERSION
9
9
  spec.authors = ["Marin Usalj", "Delisa Mason"]
10
10
  spec.email = ["marin2211@gmail.com", "iskanamagus@gmail.com"]
11
- spec.required_ruby_version = '>= 1.8.7'
12
- spec.description =
13
- %q{
14
- Xcodebuild formatter designed to be piped with `xcodebuild`,
15
- and thus keeping 100% compatibility.
11
+ spec.required_ruby_version = '>= 2.0.0'
12
+ spec.description =
13
+ %q{
14
+ Xcodebuild formatter designed to be piped with `xcodebuild`,
15
+ and thus keeping 100% compatibility.
16
16
 
17
- It has modes for CI, running tests (RSpec dot-style),
18
- and it can also mine Bitcoins.
19
- }
20
- spec.summary = %q{xcodebuild formatter done right}
17
+ It has modes for CI, running tests (RSpec dot-style),
18
+ and it can also mine Bitcoins.
19
+ }
20
+ spec.summary = %q(xcodebuild formatter done right)
21
21
  spec.homepage = "https://github.com/supermarin/xcpretty"
22
22
  spec.license = "MIT"
23
23
 
@@ -26,8 +26,12 @@ Gem::Specification.new do |spec|
26
26
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
27
27
  spec.require_paths = ["lib"]
28
28
 
29
+ spec.add_dependency 'rouge', '~> 1.8'
30
+
29
31
  spec.add_development_dependency "bundler", "~> 1.3"
30
32
  spec.add_development_dependency "rake"
31
- spec.add_development_dependency "rspec", "~> 2"
32
- spec.add_development_dependency "cucumber", "~> 1"
33
+ spec.add_development_dependency "rubocop", "~> 0.34.0"
34
+ spec.add_development_dependency "rspec", "~> 2.0"
35
+ spec.add_development_dependency "cucumber", "~> 1.0"
33
36
  end
37
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcpretty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marin Usalj
@@ -9,8 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-08 00:00:00.000000000 Z
12
+ date: 2015-10-20 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rouge
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.8'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.8'
14
28
  - !ruby/object:Gem::Dependency
15
29
  name: bundler
16
30
  requirement: !ruby/object:Gem::Requirement
@@ -39,37 +53,51 @@ dependencies:
39
53
  - - ">="
40
54
  - !ruby/object:Gem::Version
41
55
  version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rubocop
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 0.34.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 0.34.0
42
70
  - !ruby/object:Gem::Dependency
43
71
  name: rspec
44
72
  requirement: !ruby/object:Gem::Requirement
45
73
  requirements:
46
74
  - - "~>"
47
75
  - !ruby/object:Gem::Version
48
- version: '2'
76
+ version: '2.0'
49
77
  type: :development
50
78
  prerelease: false
51
79
  version_requirements: !ruby/object:Gem::Requirement
52
80
  requirements:
53
81
  - - "~>"
54
82
  - !ruby/object:Gem::Version
55
- version: '2'
83
+ version: '2.0'
56
84
  - !ruby/object:Gem::Dependency
57
85
  name: cucumber
58
86
  requirement: !ruby/object:Gem::Requirement
59
87
  requirements:
60
88
  - - "~>"
61
89
  - !ruby/object:Gem::Version
62
- version: '1'
90
+ version: '1.0'
63
91
  type: :development
64
92
  prerelease: false
65
93
  version_requirements: !ruby/object:Gem::Requirement
66
94
  requirements:
67
95
  - - "~>"
68
96
  - !ruby/object:Gem::Version
69
- version: '1'
70
- description: "\n Xcodebuild formatter designed to be piped with `xcodebuild`,\n and
71
- thus keeping 100% compatibility.\n\n It has modes for CI, running tests (RSpec
72
- dot-style),\n and it can also mine Bitcoins.\n "
97
+ version: '1.0'
98
+ description: "\n Xcodebuild formatter designed to be piped with `xcodebuild`,\n
99
+ \ and thus keeping 100% compatibility.\n\n It has modes for CI, running tests
100
+ (RSpec dot-style),\n and it can also mine Bitcoins.\n "
73
101
  email:
74
102
  - marin2211@gmail.com
75
103
  - iskanamagus@gmail.com
@@ -81,6 +109,7 @@ files:
81
109
  - ".gitignore"
82
110
  - ".hound.yml"
83
111
  - ".kick"
112
+ - ".rubocop.yml"
84
113
  - ".travis.yml"
85
114
  - CHANGELOG.md
86
115
  - CONTRIBUTING.md
@@ -123,6 +152,7 @@ files:
123
152
  - lib/xcpretty/reporters/junit.rb
124
153
  - lib/xcpretty/snippet.rb
125
154
  - lib/xcpretty/syntax.rb
155
+ - lib/xcpretty/term.rb
126
156
  - lib/xcpretty/version.rb
127
157
  - spec/fixtures/NSStringTests.m
128
158
  - spec/fixtures/constants.rb
@@ -141,10 +171,7 @@ files:
141
171
  - spec/xcpretty/printer_spec.rb
142
172
  - spec/xcpretty/snippet_spec.rb
143
173
  - spec/xcpretty/syntax_spec.rb
144
- - vendor/json_pure/COPYING
145
- - vendor/json_pure/LICENSE
146
- - vendor/json_pure/generator.rb
147
- - vendor/json_pure/parser.rb
174
+ - spec/xcpretty/term_spec.rb
148
175
  - xcpretty.gemspec
149
176
  homepage: https://github.com/supermarin/xcpretty
150
177
  licenses:
@@ -158,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
185
  requirements:
159
186
  - - ">="
160
187
  - !ruby/object:Gem::Version
161
- version: 1.8.7
188
+ version: 2.0.0
162
189
  required_rubygems_version: !ruby/object:Gem::Requirement
163
190
  requirements:
164
191
  - - ">="
@@ -207,3 +234,4 @@ test_files:
207
234
  - spec/xcpretty/printer_spec.rb
208
235
  - spec/xcpretty/snippet_spec.rb
209
236
  - spec/xcpretty/syntax_spec.rb
237
+ - spec/xcpretty/term_spec.rb
@@ -1,57 +0,0 @@
1
- Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
2
- You can redistribute it and/or modify it under either the terms of the GPL
3
- (see GPL file), or the conditions below:
4
-
5
- 1. You may make and give away verbatim copies of the source form of the
6
- software without restriction, provided that you duplicate all of the
7
- original copyright notices and associated disclaimers.
8
-
9
- 2. You may modify your copy of the software in any way, provided that
10
- you do at least ONE of the following:
11
-
12
- a) place your modifications in the Public Domain or otherwise
13
- make them Freely Available, such as by posting said
14
- modifications to Usenet or an equivalent medium, or by allowing
15
- the author to include your modifications in the software.
16
-
17
- b) use the modified software only within your corporation or
18
- organization.
19
-
20
- c) rename any non-standard executables so the names do not conflict
21
- with standard executables, which must also be provided.
22
-
23
- d) make other distribution arrangements with the author.
24
-
25
- 3. You may distribute the software in object code or executable
26
- form, provided that you do at least ONE of the following:
27
-
28
- a) distribute the executables and library files of the software,
29
- together with instructions (in the manual page or equivalent)
30
- on where to get the original distribution.
31
-
32
- b) accompany the distribution with the machine-readable source of
33
- the software.
34
-
35
- c) give non-standard executables non-standard names, with
36
- instructions on where to get the original software distribution.
37
-
38
- d) make other distribution arrangements with the author.
39
-
40
- 4. You may modify and include the part of the software into any other
41
- software (possibly commercial). But some files in the distribution
42
- are not written by the author, so that they are not under this terms.
43
-
44
- They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
45
- files under the ./missing directory. See each file for the copying
46
- condition.
47
-
48
- 5. The scripts and library files supplied as input to or produced as
49
- output from the software do not automatically fall under the
50
- copyright of the software, but belong to whomever generated them,
51
- and may be sold commercially, and may be aggregated with this
52
- software.
53
-
54
- 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
55
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
56
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
57
- PURPOSE.