cascading.jruby 0.0.9 → 0.0.10

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 (73) hide show
  1. data/History.txt +15 -0
  2. data/lib/cascading/assembly.rb +138 -17
  3. data/lib/cascading/base.rb +0 -4
  4. data/lib/cascading/cascade.rb +25 -16
  5. data/lib/cascading/cascading.rb +25 -5
  6. data/lib/cascading/ext/array.rb +1 -7
  7. data/lib/cascading/flow.rb +18 -19
  8. data/lib/cascading/mode.rb +5 -1
  9. data/lib/cascading/operations.rb +11 -4
  10. data/lib/cascading/tap.rb +4 -0
  11. data/lib/cascading.rb +1 -5
  12. data/test/test_assembly.rb +135 -29
  13. data/test/test_cascade.rb +80 -0
  14. data/test/test_flow.rb +20 -0
  15. data/test/test_operations.rb +3 -2
  16. metadata +6 -76
  17. data/.travis.yml +0 -6
  18. data/Gemfile +0 -6
  19. data/Gemfile.lock +0 -12
  20. data/HACKING.md +0 -23
  21. data/README.md +0 -9
  22. data/Rakefile +0 -46
  23. data/TODO +0 -13
  24. data/bin/make_job +0 -81
  25. data/ivy.xml +0 -25
  26. data/ivysettings.xml +0 -7
  27. data/samples/branch.rb +0 -30
  28. data/samples/copy.rb +0 -20
  29. data/samples/data/data2.txt +0 -88799
  30. data/samples/data/data_group_by.txt +0 -7
  31. data/samples/data/data_join1.txt +0 -3
  32. data/samples/data/data_join2.txt +0 -3
  33. data/samples/data/data_join3.txt +0 -3
  34. data/samples/data/genealogy/names/dist.all.last +0 -88799
  35. data/samples/data/gutenberg/the_outline_of_science_vol_1 +0 -12761
  36. data/samples/group_by.rb +0 -61
  37. data/samples/join.rb +0 -31
  38. data/samples/logwordcount.rb +0 -22
  39. data/samples/project.rb +0 -23
  40. data/samples/rename.rb +0 -20
  41. data/samples/scorenames.rb +0 -20
  42. data/samples/splitter.rb +0 -19
  43. data/samples/sub_assembly.rb +0 -30
  44. data/samples/union.rb +0 -36
  45. data/spec/cascading_spec.rb +0 -105
  46. data/spec/expr_spec.rb +0 -230
  47. data/spec/jruby_version_spec.rb +0 -72
  48. data/spec/resource/join_input.txt +0 -3
  49. data/spec/resource/test_input.txt +0 -4
  50. data/spec/scope_spec.rb +0 -149
  51. data/spec/spec.opts +0 -6
  52. data/spec/spec_helper.rb +0 -5
  53. data/spec/spec_util.rb +0 -92
  54. data/src/cascading/jruby/Main.java +0 -38
  55. data/src/cascading/jruby/runner.rb +0 -6
  56. data/tags +0 -342
  57. data/tasks/ann.rake +0 -80
  58. data/tasks/ant.rake +0 -23
  59. data/tasks/bones.rake +0 -20
  60. data/tasks/gem.rake +0 -206
  61. data/tasks/git.rake +0 -40
  62. data/tasks/notes.rake +0 -27
  63. data/tasks/post_load.rake +0 -34
  64. data/tasks/rdoc.rake +0 -50
  65. data/tasks/rubyforge.rake +0 -55
  66. data/tasks/samples.rake +0 -19
  67. data/tasks/setup.rb +0 -300
  68. data/tasks/spec.rake +0 -59
  69. data/tasks/svn.rake +0 -47
  70. data/tasks/test.rake +0 -42
  71. data/test/data/data1.txt +0 -14
  72. data/test/data/data2.txt +0 -14
  73. data/test/mock_assemblies.rb +0 -55
@@ -62,7 +62,7 @@ class TC_Assembly < Test::Unit::TestCase
62
62
  count
63
63
  end
64
64
  pipe = assembly.tail_pipe
65
- assert Java::CascadingPipe::Every, pipe.class
65
+ assert_equal Java::CascadingPipe::Every, pipe.class
66
66
  end
67
67
  assert_match /^undefined local variable or method `count' for #<Cascading::Assembly:.*>$/, ex.message
68
68
  end
@@ -74,7 +74,7 @@ class TC_Assembly < Test::Unit::TestCase
74
74
  every 'line', :aggregator => count_aggregator, :output => 'count'
75
75
  end
76
76
  end
77
- assert Java::CascadingPipe::Every, assembly.tail_pipe.class
77
+ assert_equal Java::CascadingPipe::Every, assembly.tail_pipe.class
78
78
  assert_equal ['line'], assembly.tail_pipe.argument_selector.to_a
79
79
  assert_equal ['count'], assembly.tail_pipe.output_selector.to_a
80
80
 
@@ -83,7 +83,7 @@ class TC_Assembly < Test::Unit::TestCase
83
83
  count
84
84
  end
85
85
  end
86
- assert Java::CascadingPipe::Every, assembly.tail_pipe.class
86
+ assert_equal Java::CascadingPipe::Every, assembly.tail_pipe.class
87
87
 
88
88
  # NOTE: this is not valid when we optimize using CountBy
89
89
  #assert_equal last_grouping_fields, assembly.tail_pipe.argument_selector
@@ -370,8 +370,10 @@ class TC_Assembly < Test::Unit::TestCase
370
370
  end
371
371
 
372
372
  assert_equal Java::CascadingPipe::CoGroup, assembly.tail_pipe.class
373
+
373
374
  left_grouping_fields = assembly.tail_pipe.key_selectors['test1']
374
375
  assert_equal ['name', 'id'], left_grouping_fields.to_a
376
+
375
377
  right_grouping_fields = assembly.tail_pipe.key_selectors['test2']
376
378
  assert_equal ['name', 'id'], right_grouping_fields.to_a
377
379
 
@@ -410,56 +412,142 @@ class TC_Assembly < Test::Unit::TestCase
410
412
  end
411
413
 
412
414
  def test_join_undefined_inputs
413
- ex = assert_raise RuntimeError do
414
- flow 'test_join_undefined_inputs' do
415
- source 'data1', tap('test/data/data1.txt')
415
+ [:join, :hash_join].each do |join|
416
+ ex = assert_raise RuntimeError do
417
+ flow 'test_join_undefined_inputs' do
418
+ source 'data1', tap('test/data/data1.txt')
416
419
 
417
- assembly 'data1' do
418
- pass
419
- end
420
+ assembly 'data1' do
421
+ pass
422
+ end
420
423
 
421
- assembly 'join' do
422
- join 'doesnotexist', 'data1', :on => 'name'
423
- end
424
+ assembly 'join' do
425
+ send(join, 'doesnotexist', 'data1', :on => 'name')
426
+ end
424
427
 
425
- sink 'join', tap('output/test_join_undefined_inputs')
428
+ sink 'join', tap('output/test_join_undefined_inputs')
429
+ end
426
430
  end
431
+ assert_equal "Could not find assembly 'doesnotexist' from 'join'", ex.message
427
432
  end
428
- assert_equal "Could not find assembly 'doesnotexist' from 'join'", ex.message
429
433
  end
430
434
 
431
435
  def test_join_without_on
432
- ex = assert_raise RuntimeError do
433
- mock_two_input_assembly do
434
- join 'test1', 'test2'
436
+ [:join, :hash_join].each do |join|
437
+ ex = assert_raise RuntimeError do
438
+ mock_two_input_assembly do
439
+ send(join, 'test1', 'test2')
440
+ end
435
441
  end
442
+ assert_equal 'join requires :on parameter', ex.message
436
443
  end
437
- assert_equal 'join requires :on parameter', ex.message
438
444
  end
439
445
 
440
446
  def test_join_invalid_on
441
- ex = assert_raise RuntimeError do
442
- mock_two_input_assembly do
443
- join 'test1', 'test2', :on => 1
447
+ [:join, :hash_join].each do |join|
448
+ ex = assert_raise RuntimeError do
449
+ mock_two_input_assembly do
450
+ send(join, 'test1', 'test2', :on => 1)
451
+ end
444
452
  end
453
+ assert_equal "Unsupported data type for :on in join: 'Fixnum'", ex.message
445
454
  end
446
- assert_equal "Unsupported data type for :on in join: 'Fixnum'", ex.message
447
455
  end
448
456
 
449
457
  def test_join_empty_on
450
- ex = assert_raise RuntimeError do
451
- mock_two_input_assembly do
452
- join 'test1', 'test2', :on => []
458
+ [:join, :hash_join].each do |join|
459
+ ex = assert_raise RuntimeError do
460
+ mock_two_input_assembly do
461
+ send(join, 'test1', 'test2', :on => [])
462
+ end
463
+ end
464
+ assert_equal "join requires non-empty :on parameter", ex.message
465
+
466
+ ex = assert_raise RuntimeError do
467
+ mock_two_input_assembly do
468
+ send(join, 'test1', 'test2', :on => {})
469
+ end
453
470
  end
471
+ assert_equal "join requires non-empty :on parameter", ex.message
454
472
  end
455
- assert_equal "join requires non-empty :on parameter", ex.message
473
+ end
456
474
 
457
- ex = assert_raise RuntimeError do
475
+ def test_create_hash_join
476
+ assembly = mock_two_input_assembly do
477
+ hash_join 'test1', 'test2', :on => 'name'
478
+ end
479
+
480
+ assert_equal Java::CascadingPipe::HashJoin, assembly.tail_pipe.class
481
+
482
+ left_grouping_fields = assembly.tail_pipe.key_selectors['test1']
483
+ assert_equal ['name'], left_grouping_fields.to_a
484
+
485
+ right_grouping_fields = assembly.tail_pipe.key_selectors['test2']
486
+ assert_equal ['name'], right_grouping_fields.to_a
487
+
488
+ assert_equal ['name', 'score1', 'score2', 'id', 'name_', 'id_', 'town'], assembly.scope.values_fields.to_a
489
+ # NOTE: Why does HashJoin produce different grouping fields than CoGroup?
490
+ assert_equal ['name'], assembly.scope.grouping_fields.to_a
491
+
492
+ assembly = mock_two_input_assembly do
493
+ hash_join 'test1', 'test2', :on => 'id'
494
+ end
495
+
496
+ assert_equal Java::CascadingPipe::HashJoin, assembly.tail_pipe.class
497
+ left_grouping_fields = assembly.tail_pipe.key_selectors['test1']
498
+ assert_equal ['id'], left_grouping_fields.to_a
499
+ right_grouping_fields = assembly.tail_pipe.key_selectors['test2']
500
+ assert_equal ['id'], right_grouping_fields.to_a
501
+ assert_equal ['name', 'score1', 'score2', 'id', 'name_', 'id_', 'town'], assembly.scope.values_fields.to_a
502
+ # NOTE: Why does HashJoin produce different grouping fields than CoGroup?
503
+ assert_equal ['id'], assembly.scope.grouping_fields.to_a
504
+ end
505
+
506
+ def create_hash_join_many_fields
507
+ assembly = mock_two_input_assembly do
508
+ hash_join 'test1', 'test2', :on => ['name', 'id']
509
+ end
510
+
511
+ assert_equal Java::CascadingPipe::HashJoin, assembly.tail_pipe.class
512
+
513
+ left_grouping_fields = assembly.tail_pipe.key_selectors['test1']
514
+ assert_equal ['name', 'id'], left_grouping_fields.to_a
515
+
516
+ right_grouping_fields = assembly.tail_pipe.key_selectors['test2']
517
+ assert_equal ['name', 'id'], right_grouping_fields.to_a
518
+
519
+ assert_equal ['name', 'score1', 'score2', 'id', 'name_', 'id_', 'town'], assembly.scope.values_fields.to_a
520
+ # NOTE: Why does HashJoin produce different grouping fields than CoGroup?
521
+ assert_equal ['name', 'id'], assembly.scope.grouping_fields.to_a
522
+ end
523
+
524
+ def create_hash_join_with_declared_fields
525
+ assembly = mock_two_input_assembly do
526
+ hash_join 'test1', 'test2', :on => 'name', :declared_fields => ['a', 'b', 'c', 'd', 'e', 'f', 'g']
527
+ end
528
+
529
+ assert_equal Java::CascadingPipe::HashJoin, assembly.tail_pipe.class
530
+
531
+ left_grouping_fields = assembly.tail_pipe.key_selectors['test1']
532
+ assert_equal ['name'], left_grouping_fields.to_a
533
+
534
+ right_grouping_fields = assembly.tail_pipe.key_selectors['test2']
535
+ assert_equal ['name'], right_grouping_fields.to_a
536
+
537
+ assert_equal ['a', 'b', 'c', 'd', 'e', 'f', 'g'], assembly.scope.values_fields.to_a
538
+ # NOTE: Why does HashJoin produce different grouping fields than CoGroup?
539
+ assert_equal ['name'], assembly.scope.grouping_fields.to_a
540
+ end
541
+
542
+ def test_hash_join_with_block
543
+ ex = assert_raise ArgumentError do
458
544
  mock_two_input_assembly do
459
- join 'test1', 'test2', :on => {}
545
+ hash_join 'test1', 'test2', :on => 'name' do
546
+ count
547
+ end
460
548
  end
461
549
  end
462
- assert_equal "join requires non-empty :on parameter", ex.message
550
+ assert_equal "hash joins don't support aggregations", ex.message
463
551
  end
464
552
 
465
553
  def test_branch_unique
@@ -610,6 +698,24 @@ class TC_Assembly < Test::Unit::TestCase
610
698
  assert_equal Java::CascadingOperationExpression::ExpressionFilter, assembly.tail_pipe.operation.class
611
699
  end
612
700
 
701
+ def test_smoke_test_describe
702
+ cascade 'smoke' do
703
+ flow 'smoke' do
704
+ source 'input', tap('test/data/data1.txt')
705
+ assembly 'input' do
706
+ puts "Describe at assembly start: '#{describe}'"
707
+ group_by 'line' do
708
+ count
709
+ sum 'offset', :type => :long
710
+ puts "Describe at group_by end (falls out to top-level Cascading::describe): '#{describe}'"
711
+ end
712
+ puts "Describe at assembly end: '#{describe}'"
713
+ end
714
+ sink 'input', tap('output/test_smoke_test_debug_scope')
715
+ end
716
+ end
717
+ end
718
+
613
719
  def test_smoke_test_debug_scope
614
720
  cascade 'smoke' do
615
721
  flow 'smoke' do
data/test/test_cascade.rb CHANGED
@@ -45,6 +45,67 @@ class TC_Cascade < Test::Unit::TestCase
45
45
  assert_equal 'cascade.flow2.assembly4', cascade.last_child.last_child.qualified_name
46
46
  end
47
47
 
48
+ def test_default_properties
49
+ f1, f2 = nil, nil
50
+ cascade = cascade 'cascade' do
51
+ f1 = flow 'flow1' do
52
+ end
53
+
54
+ f2 = flow 'flow2' do
55
+ end
56
+ end
57
+
58
+ assert_equal({}, cascade.properties)
59
+ assert_equal({}, f1.properties)
60
+ assert_equal({}, f2.properties)
61
+ end
62
+
63
+ def test_set_properties
64
+ # Simulate the global properties set by jading
65
+ $jobconf_properties = {
66
+ 'external_no_overwrite' => 'external_no_overwrite',
67
+ 'external_overwrite' => 'external_overwrite',
68
+ }
69
+
70
+ f1, f2 = nil, nil
71
+ cascade = cascade 'cascade' do
72
+ properties['external_overwrite'] = 'overwritten'
73
+ properties['internal_no_overwrite'] = 'internal_no_overwrite'
74
+ properties['internal_overwrite'] = 'internal_overwrite'
75
+
76
+ f1 = flow 'flow1' do
77
+ properties['external_overwrite'] = 'overwritten_flow1'
78
+ properties['internal_overwrite'] = 'overwritten_flow1'
79
+ end
80
+
81
+ f2 = flow 'flow2' do
82
+ properties['external_overwrite'] = 'overwritten_flow2'
83
+ properties['internal_overwrite'] = 'overwritten_flow2'
84
+ end
85
+ end
86
+
87
+ assert_equal({
88
+ 'external_no_overwrite' => 'external_no_overwrite',
89
+ 'external_overwrite' => 'overwritten',
90
+ 'internal_no_overwrite' => 'internal_no_overwrite',
91
+ 'internal_overwrite' => 'internal_overwrite',
92
+ }, cascade.properties)
93
+
94
+ assert_equal({
95
+ 'external_no_overwrite' => 'external_no_overwrite',
96
+ 'external_overwrite' => 'overwritten_flow1',
97
+ 'internal_no_overwrite' => 'internal_no_overwrite',
98
+ 'internal_overwrite' => 'overwritten_flow1',
99
+ }, f1.properties)
100
+
101
+ assert_equal({
102
+ 'external_no_overwrite' => 'external_no_overwrite',
103
+ 'external_overwrite' => 'overwritten_flow2',
104
+ 'internal_no_overwrite' => 'internal_no_overwrite',
105
+ 'internal_overwrite' => 'overwritten_flow2',
106
+ }, f2.properties)
107
+ end
108
+
48
109
  def test_ambiguous_flow_names
49
110
  ex = assert_raise AmbiguousNodeNameException do
50
111
  f1, a1, a2, f2, a3, a4 = [nil] * 6
@@ -99,4 +160,23 @@ class TC_Cascade < Test::Unit::TestCase
99
160
  # NOTE: Looking up flows this way is not a very common practice, so this is
100
161
  # unlikely to cause issues
101
162
  end
163
+
164
+ def test_smoke_test_describe
165
+ cascade 'smoke' do
166
+ puts "Describe at cascade start: '#{describe}'"
167
+
168
+ flow 'smoke' do
169
+ source 'input', tap('test/data/data1.txt')
170
+ assembly 'input' do
171
+ group_by 'line' do
172
+ count
173
+ sum 'offset', :type => :long
174
+ end
175
+ end
176
+ sink 'input', tap('output/test_smoke_test_debug_scope')
177
+ end
178
+
179
+ puts "Describe at cascade end: '#{describe}'"
180
+ end
181
+ end
102
182
  end
data/test/test_flow.rb CHANGED
@@ -113,4 +113,24 @@ class TC_Flow < Test::Unit::TestCase
113
113
  end
114
114
  assert_equal "Ambiguous lookup of child by name 'b'; found 'flow.b', 'flow.a.b'", ex.message
115
115
  end
116
+
117
+ def test_smoke_test_describe
118
+ cascade 'smoke' do
119
+ flow 'smoke' do
120
+ puts "Describe at flow start: '#{describe}'"
121
+ source 'input', tap('test/data/data1.txt')
122
+
123
+ puts "Describe before first assembly: '#{describe}'"
124
+ assembly 'input' do
125
+ group_by 'line' do
126
+ count
127
+ sum 'offset', :type => :long
128
+ end
129
+ end
130
+
131
+ sink 'input', tap('output/test_smoke_test_debug_scope')
132
+ puts "Describe at flow end: '#{describe}'"
133
+ end
134
+ end
135
+ end
116
136
  end
@@ -62,11 +62,12 @@ class TC_Operations < Test::Unit::TestCase
62
62
  end
63
63
 
64
64
  def test_coerce_to_java_other
65
- result = coerce_to_java([1,2,3])
65
+ orig_val = [1,2,3]
66
+ result = coerce_to_java(orig_val)
66
67
 
67
68
  assert_equal Java::JavaLang::String, result.class
68
69
  assert_equal ''.to_java(java.lang.String).java_class, result.java_class
69
- assert_equal '123'.to_java(java.lang.String), result
70
+ assert_equal orig_val.to_s.to_java(java.lang.String), result
70
71
  end
71
72
 
72
73
  def test_to_java_comparable_array
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: cascading.jruby
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.9
5
+ version: 0.0.10
6
6
  platform: ruby
7
7
  authors:
8
8
  - Matt Walker
@@ -11,41 +11,19 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2012-08-05 00:00:00 Z
14
+ date: 2012-08-09 00:00:00 Z
15
15
  dependencies: []
16
16
 
17
17
  description: cascading.jruby is a small DSL above Cascading, written in JRuby
18
18
  email: mwalker@etsy.com
19
- executables:
20
- - make_job
19
+ executables: []
20
+
21
21
  extensions: []
22
22
 
23
23
  extra_rdoc_files:
24
24
  - History.txt
25
25
  - LICENSE.txt
26
- - bin/make_job
27
- - samples/data/data2.txt
28
- - samples/data/data_group_by.txt
29
- - samples/data/data_join1.txt
30
- - samples/data/data_join2.txt
31
- - samples/data/data_join3.txt
32
- - spec/resource/join_input.txt
33
- - spec/resource/test_input.txt
34
- - test/data/data1.txt
35
- - test/data/data2.txt
36
26
  files:
37
- - .travis.yml
38
- - Gemfile
39
- - Gemfile.lock
40
- - HACKING.md
41
- - History.txt
42
- - LICENSE.txt
43
- - README.md
44
- - Rakefile
45
- - TODO
46
- - bin/make_job
47
- - ivy.xml
48
- - ivysettings.xml
49
27
  - lib/cascading.rb
50
28
  - lib/cascading/aggregations.rb
51
29
  - lib/cascading/assembly.rb
@@ -61,53 +39,8 @@ files:
61
39
  - lib/cascading/scope.rb
62
40
  - lib/cascading/sub_assembly.rb
63
41
  - lib/cascading/tap.rb
64
- - samples/branch.rb
65
- - samples/copy.rb
66
- - samples/data/data2.txt
67
- - samples/data/data_group_by.txt
68
- - samples/data/data_join1.txt
69
- - samples/data/data_join2.txt
70
- - samples/data/data_join3.txt
71
- - samples/data/genealogy/names/dist.all.last
72
- - samples/data/gutenberg/the_outline_of_science_vol_1
73
- - samples/group_by.rb
74
- - samples/join.rb
75
- - samples/logwordcount.rb
76
- - samples/project.rb
77
- - samples/rename.rb
78
- - samples/scorenames.rb
79
- - samples/splitter.rb
80
- - samples/sub_assembly.rb
81
- - samples/union.rb
82
- - spec/cascading_spec.rb
83
- - spec/expr_spec.rb
84
- - spec/jruby_version_spec.rb
85
- - spec/resource/join_input.txt
86
- - spec/resource/test_input.txt
87
- - spec/scope_spec.rb
88
- - spec/spec.opts
89
- - spec/spec_helper.rb
90
- - spec/spec_util.rb
91
- - src/cascading/jruby/Main.java
92
- - src/cascading/jruby/runner.rb
93
- - tags
94
- - tasks/ann.rake
95
- - tasks/ant.rake
96
- - tasks/bones.rake
97
- - tasks/gem.rake
98
- - tasks/git.rake
99
- - tasks/notes.rake
100
- - tasks/post_load.rake
101
- - tasks/rdoc.rake
102
- - tasks/rubyforge.rake
103
- - tasks/samples.rake
104
- - tasks/setup.rb
105
- - tasks/spec.rake
106
- - tasks/svn.rake
107
- - tasks/test.rake
108
- - test/data/data1.txt
109
- - test/data/data2.txt
110
- - test/mock_assemblies.rb
42
+ - History.txt
43
+ - LICENSE.txt
111
44
  - test/test_aggregations.rb
112
45
  - test/test_assembly.rb
113
46
  - test/test_cascade.rb
@@ -130,9 +63,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
63
  requirements:
131
64
  - - ">="
132
65
  - !ruby/object:Gem::Version
133
- hash: 2
134
- segments:
135
- - 0
136
66
  version: "0"
137
67
  required_rubygems_version: !ruby/object:Gem::Requirement
138
68
  none: false
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - jruby-18mode
4
- notifications:
5
- recipients:
6
- - mwalker@etsy.com
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source :rubygems
2
-
3
- group :test do
4
- gem 'rake', '0.8.7'
5
- gem 'rspec', '1.1.11'
6
- end
data/Gemfile.lock DELETED
@@ -1,12 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- rake (0.8.7)
5
- rspec (1.1.11)
6
-
7
- PLATFORMS
8
- java
9
-
10
- DEPENDENCIES
11
- rake (= 0.8.7)
12
- rspec (= 1.1.11)
data/HACKING.md DELETED
@@ -1,23 +0,0 @@
1
- # Hacking
2
-
3
- Some hacking info on `cascading.jruby`:
4
-
5
- For local development, install with (requires [bundler](http://gembundler.com/)):
6
-
7
- jruby -S bundle install
8
-
9
- To run the tests (will download Cascading and Hadoop jars):
10
-
11
- jruby -S bundle exec rake
12
-
13
- To create the gem:
14
-
15
- jruby -S bundle exec rake gem
16
-
17
- To install it locally:
18
-
19
- jruby -S gem install pkg/cascading.jruby-xxx.gem
20
-
21
- The `Cascading::Operations` module is mixed-in the `Cascading::Assembly` class to provide some shortcuts for common operations.
22
-
23
- The file cascading/cascading.rb defines global helper methods for cascading like tap creation, fields creation, etc.
data/README.md DELETED
@@ -1,9 +0,0 @@
1
- # Cascading.JRuby [![Build Status](https://secure.travis-ci.org/mrwalker/cascading.jruby.png)](http://travis-ci.org/mrwalker/cascading.jruby)
2
-
3
- `cascading.jruby` is a small DSL above [Cascading](http://www.cascading.org/).
4
-
5
- It requires Hadoop (>= 0.20.2) and [Cascading 2.0.0](http://files.cascading.org/cascading/2.0/cascading-2.0.0.tgz) to be set via the environment variables: `HADOOP_HOME` and `CASCADING_HOME`
6
-
7
- It has been tested on JRuby versions 1.2.0, 1.4.0, 1.5.3, and 1.6.5.
8
-
9
- Copyright 2009, Grégoire Marabout.
data/Rakefile DELETED
@@ -1,46 +0,0 @@
1
- #! /usr/bin/env jruby
2
-
3
- # Look in the tasks/setup.rb file for the various options that can be
4
- # configured in this Rakefile. The .rake files in the tasks directory
5
- # are where the options are used.
6
-
7
- begin
8
- require 'bones'
9
- Bones.setup
10
- rescue LoadError
11
- begin
12
- load 'tasks/setup.rb'
13
- rescue LoadError
14
- raise RuntimeError, '### please install the "bones" gem ###'
15
- end
16
- end
17
-
18
- ensure_in_path 'lib'
19
-
20
- require 'cascading'
21
- require 'bundler/setup'
22
-
23
- task :default => 'test'
24
-
25
- task :run do
26
- # ensure_in_path "samples"
27
- puts "Running #{ARGS[0]}"
28
- require "samples/#{ARGS[0]}"
29
- end
30
-
31
- desc 'Remove gem and Java build files'
32
- task :clean => ['ant:clean', 'gem:clean', 'samples:clean'] do
33
- puts 'Build files removed'
34
- end
35
-
36
- PROJ.name = 'cascading.jruby'
37
- PROJ.authors = ['Matt Walker', 'Grégoire Marabout']
38
- PROJ.email = 'mwalker@etsy.com'
39
- PROJ.url = 'http://github.com/etsy/cascading.jruby'
40
- PROJ.version = Cascading::VERSION
41
- PROJ.summary = 'A JRuby DSL for Cascading'
42
- PROJ.description = 'cascading.jruby is a small DSL above Cascading, written in JRuby'
43
- PROJ.rubyforge.name = 'cascading.jruby'
44
- PROJ.spec.opts << '--color'
45
-
46
- # EOF
data/TODO DELETED
@@ -1,13 +0,0 @@
1
- Documentation
2
-
3
- Import local_job/Job from Etsy, which can eliminate registries
4
-
5
- Bug fixes on github
6
- Enforce more runtime rules at composition time
7
- Standardize helper contracts
8
- Possibly combine unit tests...into unit tests because RSpec sucks and swallows stack traces
9
-
10
- (Jading)
11
- Split out runner
12
- Make runner implement Tool
13
- Create build tool for job jar