rroonga 1.0.8 → 1.0.9

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 (70) hide show
  1. data/NEWS.ja.rdoc +47 -0
  2. data/NEWS.rdoc +48 -0
  3. data/README.ja.rdoc +1 -0
  4. data/README.rdoc +1 -0
  5. data/Rakefile +32 -13
  6. data/benchmark/create-wikipedia-database.rb +212 -0
  7. data/benchmark/repeat-load.rb +213 -0
  8. data/benchmark/select.rb +1052 -0
  9. data/ext/groonga/mkmf.log +99 -0
  10. data/ext/groonga/rb-grn-column.c +57 -6
  11. data/ext/groonga/rb-grn-context.c +15 -9
  12. data/ext/groonga/rb-grn-expression.c +7 -7
  13. data/ext/groonga/{rb-grn-operation.c → rb-grn-operator.c} +89 -87
  14. data/ext/groonga/rb-grn-patricia-trie.c +5 -5
  15. data/ext/groonga/rb-grn-query.c +4 -4
  16. data/ext/groonga/rb-grn-table.c +16 -19
  17. data/ext/groonga/rb-grn.h +3 -3
  18. data/ext/groonga/rb-groonga.c +1 -1
  19. data/html/index.html +4 -4
  20. data/lib/groonga/context.rb +34 -0
  21. data/lib/groonga/expression-builder.rb +34 -2
  22. data/lib/groonga/record.rb +8 -6
  23. data/lib/groonga/schema.rb +40 -4
  24. data/rroonga-build.rb +2 -2
  25. data/test-unit/Rakefile +5 -18
  26. data/test-unit/html/classic.html +15 -0
  27. data/test-unit/html/index.html +13 -235
  28. data/test-unit/html/index.html.ja +15 -258
  29. data/test-unit/lib/test/unit.rb +1 -6
  30. data/test-unit/lib/test/unit/assertions.rb +11 -115
  31. data/test-unit/lib/test/unit/autorunner.rb +2 -5
  32. data/test-unit/lib/test/unit/collector/load.rb +1 -1
  33. data/test-unit/lib/test/unit/color-scheme.rb +2 -6
  34. data/test-unit/lib/test/unit/diff.rb +1 -17
  35. data/test-unit/lib/test/unit/testcase.rb +0 -7
  36. data/test-unit/lib/test/unit/testresult.rb +2 -34
  37. data/test-unit/lib/test/unit/ui/console/testrunner.rb +45 -9
  38. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +12 -2
  39. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -25
  40. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -1
  41. data/test-unit/lib/test/unit/version.rb +1 -1
  42. data/test-unit/test/test-color-scheme.rb +2 -4
  43. data/test-unit/test/test_assertions.rb +5 -51
  44. data/test/test-column.rb +31 -1
  45. data/test/test-context-select.rb +45 -14
  46. data/test/test-context.rb +36 -0
  47. data/test/test-database.rb +13 -0
  48. data/test/test-expression-builder.rb +32 -5
  49. data/test/test-record.rb +34 -1
  50. data/test/test-schema.rb +52 -2
  51. data/test/test-table-select-weight.rb +20 -1
  52. data/test/test-table.rb +58 -0
  53. metadata +13 -41
  54. data/test-unit-notify/Rakefile +0 -47
  55. data/test-unit-notify/lib/test/unit/notify.rb +0 -104
  56. data/test-unit/COPYING +0 -56
  57. data/test-unit/GPL +0 -340
  58. data/test-unit/PSFL +0 -271
  59. data/test-unit/html/bar.svg +0 -153
  60. data/test-unit/html/developer.svg +0 -469
  61. data/test-unit/html/favicon.ico +0 -0
  62. data/test-unit/html/favicon.svg +0 -82
  63. data/test-unit/html/heading-mark.svg +0 -393
  64. data/test-unit/html/install.svg +0 -636
  65. data/test-unit/html/logo.svg +0 -483
  66. data/test-unit/html/test-unit.css +0 -339
  67. data/test-unit/html/tutorial.svg +0 -559
  68. data/test-unit/lib/test/unit/util/output.rb +0 -31
  69. data/test-unit/test/ui/test_tap.rb +0 -33
  70. data/test-unit/test/util/test-output.rb +0 -11
@@ -252,17 +252,17 @@ rb_grn_patricia_trie_s_create (int argc, VALUE *argv, VALUE klass)
252
252
  *
253
253
  * [+:operator+]
254
254
  * マッチしたレコードをどのように扱うか。指定可能な値は以
255
- * 下の通り。省略した場合はGroonga::Operation::OR。
255
+ * 下の通り。省略した場合はGroonga::Operator::OR。
256
256
  *
257
- * [Groonga::Operation::OR]
257
+ * [Groonga::Operator::OR]
258
258
  * マッチしたレコードを追加。すでにレコードが追加され
259
259
  * ている場合は何もしない。
260
- * [Groonga::Operation::AND]
260
+ * [Groonga::Operator::AND]
261
261
  * マッチしたレコードのスコアを増加。マッチしなかった
262
262
  * レコードを削除。
263
- * [Groonga::Operation::BUT]
263
+ * [Groonga::Operator::BUT]
264
264
  * マッチしたレコードを削除。
265
- * [Groonga::Operation::ADJUST]
265
+ * [Groonga::Operator::ADJUST]
266
266
  * マッチしたレコードのスコアを増加。
267
267
  *
268
268
  * [+:type+]
@@ -146,10 +146,10 @@ rb_grn_operator_from_ruby_object (VALUE rb_operator)
146
146
  * 演算子の既定値(演算子を省略した場合にどの演算を行うか)
147
147
  * を指定する。
148
148
  *
149
- * [Groonga::Operation::OR]
150
- * [Groonga::Operation::AND]
151
- * [Groonga::Operation::BUT]
152
- * [Groonga::Operation::ADJUST]
149
+ * [Groonga::Operator::OR]
150
+ * [Groonga::Operator::AND]
151
+ * [Groonga::Operator::BUT]
152
+ * [Groonga::Operator::ADJUST]
153
153
  * (FIXME: 挙動の違いを検証する必要性あり?
154
154
  * Groonga::Expressionとの関連性は?)
155
155
  *
@@ -678,7 +678,6 @@ rb_grn_table_have_column (VALUE self, VALUE rb_name)
678
678
  grn_obj *column;
679
679
  const char *name = NULL;
680
680
  unsigned name_size = 0;
681
- VALUE result = Qfalse;
682
681
 
683
682
  rb_grn_table_deconstruct(SELF(self), &table, &context,
684
683
  NULL, NULL,
@@ -687,14 +686,12 @@ rb_grn_table_have_column (VALUE self, VALUE rb_name)
687
686
 
688
687
  ruby_object_to_column_name(rb_name, &name, &name_size);
689
688
  column = grn_obj_column(context, table, name, name_size);
690
- if (!column)
689
+ if (column) {
690
+ grn_obj_unlink(context, column);
691
+ return Qtrue;
692
+ } else {
691
693
  return Qfalse;
692
-
693
- if (column->header.type != GRN_ACCESSOR)
694
- result = Qtrue;
695
- grn_obj_unlink(context, column);
696
-
697
- return result;
694
+ }
698
695
  }
699
696
 
700
697
  static grn_table_cursor *
@@ -1760,17 +1757,17 @@ rb_grn_table_is_locked (int argc, VALUE *argv, VALUE self)
1760
1757
  *
1761
1758
  * [+:operator+]
1762
1759
  * マッチしたレコードをどのように扱うか。指定可能な値は以
1763
- * 下の通り。省略した場合はGroonga::Operation::OR。
1764
- *
1765
- * [Groonga::Operation::OR] マッチしたレコードを追加。すで
1766
- * にレコードが追加されている場合
1767
- * は何もしない。
1768
- * [Groonga::Operation::AND] マッチしたレコードのスコアを増
1769
- * 加。マッチしなかったレコード
1770
- * を削除。
1771
- * [Groonga::Operation::BUT] マッチしたレコードを削除。
1772
- * [Groonga::Operation::ADJUST] マッチしたレコードのスコア
1773
- * を増加。
1760
+ * 下の通り。省略した場合はGroonga::Operator::OR。
1761
+ *
1762
+ * [Groonga::Operator::OR] マッチしたレコードを追加。すで
1763
+ * にレコードが追加されている場合
1764
+ * は何もしない。
1765
+ * [Groonga::Operator::AND] マッチしたレコードのスコアを増
1766
+ * 加。マッチしなかったレコード
1767
+ * を削除。
1768
+ * [Groonga::Operator::BUT] マッチしたレコードを削除。
1769
+ * [Groonga::Operator::ADJUST] マッチしたレコードのスコア
1770
+ * を増加。
1774
1771
  *
1775
1772
  * [+:result+]
1776
1773
  * 検索結果を格納するテーブル。マッチしたレコードが追加さ
data/ext/groonga/rb-grn.h CHANGED
@@ -69,7 +69,7 @@ RB_GRN_BEGIN_DECLS
69
69
 
70
70
  #define RB_GRN_MAJOR_VERSION 1
71
71
  #define RB_GRN_MINOR_VERSION 0
72
- #define RB_GRN_MICRO_VERSION 8
72
+ #define RB_GRN_MICRO_VERSION 9
73
73
 
74
74
  #define RB_GRN_QUERY_DEFAULT_MAX_EXPRESSIONS 32
75
75
 
@@ -209,7 +209,7 @@ RB_GRN_VAR VALUE rb_cGrnQuery;
209
209
  RB_GRN_VAR VALUE rb_cGrnLogger;
210
210
  RB_GRN_VAR VALUE rb_cGrnSnippet;
211
211
  RB_GRN_VAR VALUE rb_cGrnVariable;
212
- RB_GRN_VAR VALUE rb_cGrnOperation;
212
+ RB_GRN_VAR VALUE rb_cGrnOperator;
213
213
  RB_GRN_VAR VALUE rb_cGrnExpression;
214
214
  RB_GRN_VAR VALUE rb_cGrnRecordExpressionBuilder;
215
215
  RB_GRN_VAR VALUE rb_cGrnColumnExpressionBuilder;
@@ -245,7 +245,7 @@ void rb_grn_init_record (VALUE mGrn);
245
245
  void rb_grn_init_view_record (VALUE mGrn);
246
246
  void rb_grn_init_query (VALUE mGrn);
247
247
  void rb_grn_init_variable (VALUE mGrn);
248
- void rb_grn_init_operation (VALUE mGrn);
248
+ void rb_grn_init_operator (VALUE mGrn);
249
249
  void rb_grn_init_expression (VALUE mGrn);
250
250
  void rb_grn_init_expression_builder (VALUE mGrn);
251
251
  void rb_grn_init_logger (VALUE mGrn);
@@ -138,7 +138,7 @@ Init_groonga (void)
138
138
  rb_grn_init_view_record(mGrn);
139
139
  rb_grn_init_query(mGrn);
140
140
  rb_grn_init_variable(mGrn);
141
- rb_grn_init_operation(mGrn);
141
+ rb_grn_init_operator(mGrn);
142
142
  rb_grn_init_expression(mGrn);
143
143
  rb_grn_init_expression_builder(mGrn);
144
144
  rb_grn_init_logger(mGrn);
data/html/index.html CHANGED
@@ -49,7 +49,7 @@
49
49
 
50
50
  <h3>rroongaの最新リリース</h3>
51
51
  <p>
52
- 2010-12-25にリリースされた1.0.8が最新です。
52
+ 2011-01-29にリリースされた1.0.9が最新です。
53
53
  </p>
54
54
 
55
55
  <h3 id="install-rroonga">rroongaのインストール</h3>
@@ -135,11 +135,11 @@
135
135
 
136
136
  <h3>ChupaTextの最新リリース</h3>
137
137
  <p>
138
- 2010-12-19にリリースされた0.7.0が最新です。
138
+ 2010-12-26にリリースされた0.8.0が最新です。
139
139
  </p>
140
140
  <p>
141
- [<a href="http://rubyforge.org/frs/download.php/73656/chupatext-0.7.0.tar.gz">ダウンロード</a>]
142
- [<a href="chupatext/ja/news.html#news.release-0-7-0">変更点</a>]
141
+ [<a href="http://rubyforge.org/frs/download.php/73718/chupatext-0.8.0.tar.gz">ダウンロード</a>]
142
+ [<a href="chupatext/ja/news.html#news.release-0-8-0">変更点</a>]
143
143
  </p>
144
144
 
145
145
  <h3 id="install-chupatext">ChupaTextのインストール</h3>
@@ -17,6 +17,40 @@
17
17
 
18
18
  module Groonga
19
19
  class Context
20
+ # call-seq:
21
+ # context.open_database(path) -> Groonga::Database
22
+ #
23
+ # _path_にある既存のデータベースを開く。ブロックを指定した場
24
+ # 合はブロックに開いたデータベースを渡し、ブロックを抜けると
25
+ # きに閉じる。
26
+ def open_database(path, &block)
27
+ options = {:context => self}
28
+
29
+ Database.open(path, options, &block)
30
+ end
31
+
32
+ # call-seq:
33
+ # context.create_database(path=nil) -> Groonga::Database
34
+ #
35
+ # _path_に新しくデータベースを作成する。_path_を省略すると
36
+ # 一時データベースとなる。
37
+ #
38
+ # 使用例は以下の通り。
39
+ #
40
+ # 一時データベースを作成:
41
+ # context.create_database
42
+ #
43
+ # 永続データベースを作成:
44
+ # context.create_database("/tmp/db.groonga")
45
+ def create_database(path=nil)
46
+ options = {:context => self}
47
+ if path
48
+ options[:path] = path
49
+ end
50
+
51
+ Database.create(options)
52
+ end
53
+
20
54
  # call-seq:
21
55
  # context.select(table, options={}) -> SelectResult
22
56
  #
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
3
+ # Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -39,7 +39,7 @@ module Groonga
39
39
  end
40
40
 
41
41
  def build(&block)
42
- expression = Expression.new(:name => @name)
42
+ expression = Expression.new(:name => @name, :context => @table.context)
43
43
  variable = expression.define_variable(:domain => @table)
44
44
  build_expression(expression, variable, &block)
45
45
  end
@@ -212,6 +212,14 @@ module Groonga
212
212
  SubExpressionBuilder.new(query, options)
213
213
  end
214
214
 
215
+ def prefix_search(other)
216
+ PrefixSearchExpressionBuilder.new(self, normalize(other))
217
+ end
218
+
219
+ def suffix_search(other)
220
+ SuffixSearchExpressionBuilder.new(self, normalize(other))
221
+ end
222
+
215
223
  private
216
224
  def normalize(other)
217
225
  if @range.is_a?(Groonga::Table)
@@ -363,6 +371,18 @@ module Groonga
363
371
  expression.parse(@query, @options)
364
372
  end
365
373
  end
374
+
375
+ class PrefixSearchExpressionBuilder < BinaryExpressionBuilder # :nodoc:
376
+ def initialize(column_value_builder, value)
377
+ super(Groonga::Operation::PREFIX, column_value_builder, value)
378
+ end
379
+ end
380
+
381
+ class SuffixSearchExpressionBuilder < BinaryExpressionBuilder # :nodoc:
382
+ def initialize(column_value_builder, value)
383
+ super(Groonga::Operation::SUFFIX, column_value_builder, value)
384
+ end
385
+ end
366
386
  end
367
387
 
368
388
  class RecordExpressionBuilder # :nodoc:
@@ -418,6 +438,18 @@ module Groonga
418
438
  MatchTargetExpressionBuilder.new(build_match_target(&block))
419
439
  end
420
440
 
441
+ def index(name)
442
+ object = @table.context[name]
443
+ if object.nil?
444
+ raise ArgumentError, "unknown index column: <#{name}>"
445
+ end
446
+ if object.range != @table
447
+ raise ArgumentError,
448
+ "differenct index column: <#{name}>: #{object.inspect}"
449
+ end
450
+ column_expression_builder(object, name)
451
+ end
452
+
421
453
  private
422
454
  def build_match_target(&block)
423
455
  sub_builder = MatchTargetRecordExpressionBuilder.new(@table, nil)
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
3
+ # Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -117,9 +117,7 @@ module Groonga
117
117
  # 名前が_name_のカラムがレコードの所属するテーブルで定義され
118
118
  # ているなら+true+を返す。
119
119
  def have_column?(name)
120
- column(name).is_a?(Groonga::Column)
121
- rescue Groonga::NoSuchColumn
122
- false
120
+ not @table.column(normalize_column_name(name)).nil?
123
121
  end
124
122
 
125
123
  # call-seq:
@@ -223,7 +221,7 @@ module Groonga
223
221
  # 主キーの値が同一であったレコードの件数を返す。検索結果とし
224
222
  # て生成されたテーブルのみに定義される。
225
223
  #
226
- # Groonga::Record#support_sub_recordsでこの値を利用でき
224
+ # Groonga::Record#support_sub_records?でこの値を利用でき
227
225
  # るかがわかる。
228
226
  def n_sub_records
229
227
  self["_nsubrecs"]
@@ -381,8 +379,12 @@ module Groonga
381
379
  end
382
380
 
383
381
  private
382
+ def normalize_column_name(name)
383
+ name.to_s
384
+ end
385
+
384
386
  def column(name) # :nodoc:
385
- _column = @table.column(name.to_s)
387
+ _column = @table.column(normalize_column_name(name))
386
388
  raise NoSuchColumn, "column(#{name.inspect}) is nil" if _column.nil?
387
389
  _column
388
390
  end
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
3
+ # Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -729,10 +729,29 @@ module Groonga
729
729
  @options[:context] || Groonga::Context.default
730
730
  end
731
731
 
732
+ module Path # :nodoc:
733
+ def tables_directory_path(database)
734
+ "#{database.path}.tables"
735
+ end
736
+
737
+ def columns_directory_path(table)
738
+ "#{table.path}.columns"
739
+ end
740
+
741
+ def rmdir_if_dir_exists(dir)
742
+ begin
743
+ Dir.rmdir(dir)
744
+ rescue Errno::ENOENT
745
+ end
746
+ end
747
+ end
748
+
732
749
  # スキーマ定義時にGroonga::Schema.create_tableや
733
750
  # Groonga::Schema#create_tableからブロックに渡されてくる
734
751
  # オブジェクト
735
752
  class TableDefinition
753
+ include Path
754
+
736
755
  # テーブルの名前
737
756
  attr_reader :name
738
757
 
@@ -1120,7 +1139,7 @@ module Groonga
1120
1139
  def path
1121
1140
  user_path = @options[:path]
1122
1141
  return user_path if user_path
1123
- tables_dir = "#{context.database.path}.tables"
1142
+ tables_dir = tables_directory_path(context.database)
1124
1143
  FileUtils.mkdir_p(tables_dir)
1125
1144
  File.join(tables_dir, @name)
1126
1145
  end
@@ -1223,6 +1242,8 @@ module Groonga
1223
1242
  end
1224
1243
 
1225
1244
  class TableRemoveDefinition # :nodoc:
1245
+ include Path
1246
+
1226
1247
  def initialize(name, options={})
1227
1248
  @name = name
1228
1249
  @options = options
@@ -1230,7 +1251,11 @@ module Groonga
1230
1251
 
1231
1252
  def define
1232
1253
  context = @options[:context]
1233
- context[@name].remove
1254
+ table = context[@name]
1255
+ dir = columns_directory_path(table)
1256
+ result = table.remove
1257
+ rmdir_if_dir_exists(dir)
1258
+ result
1234
1259
  end
1235
1260
  end
1236
1261
 
@@ -1321,6 +1346,8 @@ module Groonga
1321
1346
  end
1322
1347
 
1323
1348
  class ColumnDefinition # :nodoc:
1349
+ include Path
1350
+
1324
1351
  attr_accessor :name, :type
1325
1352
  attr_reader :options
1326
1353
 
@@ -1374,7 +1401,7 @@ module Groonga
1374
1401
  def path(context, table)
1375
1402
  user_path = @options[:path]
1376
1403
  return user_path if user_path
1377
- columns_dir = "#{table.path}.columns"
1404
+ columns_dir = columns_directory_path(table)
1378
1405
  FileUtils.mkdir_p(columns_dir)
1379
1406
  File.join(columns_dir, @name)
1380
1407
  end
@@ -1401,6 +1428,8 @@ module Groonga
1401
1428
  end
1402
1429
 
1403
1430
  class IndexColumnDefinition # :nodoc:
1431
+ include Path
1432
+
1404
1433
  class << self
1405
1434
  def column_name(context, target_table, target_columns)
1406
1435
  target_table = resolve(context, target_table)
@@ -1590,6 +1619,13 @@ module Groonga
1590
1619
  end
1591
1620
  if table.domain
1592
1621
  parameters << ":key_type => #{table.domain.name.dump}"
1622
+ if table.normalize_key?
1623
+ parameters << ":key_normalize => true"
1624
+ end
1625
+ end
1626
+ default_tokenizer = table.default_tokenizer
1627
+ if default_tokenizer
1628
+ parameters << ":default_tokenizer => #{default_tokenizer.name.dump}"
1593
1629
  end
1594
1630
  end
1595
1631
  parameters << ":force => true"
data/rroonga-build.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
3
+ # Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -19,7 +19,7 @@ module RroongaBuild
19
19
  module RequiredGroongaVersion
20
20
  MAJOR = 1
21
21
  MINOR = 0
22
- MICRO = 4
22
+ MICRO = 7
23
23
  VERSION = [MAJOR, MINOR, MICRO]
24
24
  end
25
25
 
data/test-unit/Rakefile CHANGED
@@ -1,7 +1,5 @@
1
1
  # -*- ruby -*-
2
2
 
3
- Encoding.default_internal = "UTF-8" if defined?(Encoding.default_internal)
4
-
5
3
  require 'rubygems'
6
4
  gem 'rdoc'
7
5
  require 'hoe'
@@ -11,14 +9,14 @@ ENV["NODOT"] = "yes"
11
9
 
12
10
  version = Test::Unit::VERSION
13
11
  ENV["VERSION"] = version
14
- project = Hoe.spec('test-unit') do
12
+ Hoe.spec('test-unit') do |p|
15
13
  Hoe::Test::SUPPORTED_TEST_FRAMEWORKS[:testunit2] = "test/run-test.rb"
16
- self.version = version
17
- developer('Kouhei Sutou', 'kou@cozmixng.org')
18
- developer('Ryan Davis', 'ryand-ruby@zenspider.com')
14
+ p.version = version
15
+ p.developer('Kouhei Sutou', 'kou@cozmixng.org')
16
+ p.developer('Ryan Davis', 'ryand-ruby@zenspider.com')
19
17
 
20
18
  # Ex-Parrot:
21
- # developer('Nathaniel Talbott', 'nathaniel@talbott.ws')
19
+ # p.developer('Nathaniel Talbott', 'nathaniel@talbott.ws')
22
20
  end
23
21
 
24
22
  task :check_manifest => :clean_test_result
@@ -33,17 +31,6 @@ task :clean_coverage do
33
31
  sh("rm", "-rf", "coverage")
34
32
  end
35
33
 
36
- desc "Publish HTML to Web site."
37
- task :publish_html do
38
- config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
39
- host = "#{config["username"]}@rubyforge.org"
40
-
41
- rsync_args = "-av --exclude '*.erb' --exclude '*.svg' --exclude .svn"
42
- remote_dir = "/var/www/gforge-projects/#{project.rubyforge_name}/"
43
- sh "rsync #{rsync_args} html/ #{host}:#{remote_dir}"
44
- end
45
-
46
- desc "Tag the current revision."
47
34
  task :tag do
48
35
  message = "Released Test::Unit #{version}!"
49
36
  base = "svn+ssh://#{ENV['USER']}@rubyforge.org/var/svn/test-unit/"