add jruby support by protobuf-java reflection API
diff --git a/ruby/Rakefile b/ruby/Rakefile
index ae7d805..7c1d849 100644
--- a/ruby/Rakefile
+++ b/ruby/Rakefile
@@ -1,20 +1,32 @@
-require "rake/extensiontask"
+require "rubygems"
+require "rubygems/package_task"
+require "rake/extensiontask" unless RUBY_PLATFORM == "java"
require "rake/testtask"
spec = Gem::Specification.load("google-protobuf.gemspec")
-Rake::ExtensionTask.new("protobuf_c", spec) do |ext|
- ext.ext_dir = "ext/google/protobuf_c"
- ext.lib_dir = "lib/google"
+if RUBY_PLATFORM == "java"
+ task :clean do
+ system("mvn clean")
+ end
+
+ task :compile do
+ system("mvn package")
+ end
+else
+ Rake::ExtensionTask.new("protobuf_c", spec) do |ext|
+ ext.ext_dir = "ext/google/protobuf_c"
+ ext.lib_dir = "lib/google"
+ end
+end
+
+Gem::PackageTask.new(spec) do |pkg|
end
Rake::TestTask.new(:test => :build) do |t|
t.test_files = FileList["tests/*.rb"]
end
-Gem::PackageTask.new(spec) do |pkg|
-end
-
task :build => [:clean, :compile]
task :default => [:build]