Skip to content

Commit

Permalink
add required exception classes and clean up spec so that it runs
Browse files Browse the repository at this point in the history
  • Loading branch information
nicksieger committed Jan 14, 2010
1 parent 7a96d6a commit 80f5569
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .gitignore
@@ -1,2 +1,2 @@
target
greeter.jar

28 changes: 16 additions & 12 deletions Rakefile
Expand Up @@ -2,30 +2,32 @@ $LOAD_PATH.unshift "./lib"

src_dir = 'src/main/java'
build_dir = 'target'
directory build_dir
classes_dir = 'target/classes'
jar_file = "#{build_dir}/rake-ant.jar"
directory classes_dir

# Plain, free-form command-line
namespace :plain do
desc "Compile the code"
task :compile => build_dir do
files = FileList["src/**/*.java"]
task :compile => classes_dir do
files = FileList["#{src_dir}/**/*.java"]
cpath = FileList["lib/*.jar"].join(':')
sh "javac -d #{build_dir} -classpath #{cpath} #{files}"
sh "javac -d #{classes_dir} -classpath #{cpath} #{files}"
end

desc "Create a jar file of the compiled code"
task :jar => :compile do
sh "jar cf greeter.jar -C #{build_dir} ."
sh "jar cf #{jar_file} -C #{classes_dir} ."
end
end

# Ant-based tasks
require 'ant'
namespace :ant do
desc "Compile the code using Ant"
ant_task :compile => build_dir do
puts "Compiling java from #{src_dir} to #{build_dir}"
javac :srcdir => src_dir, :destdir => build_dir do
ant_task :compile => classes_dir do
puts "Compiling java from #{src_dir} to #{classes_dir}"
javac :srcdir => src_dir, :destdir => classes_dir do
classpath do
FileList["lib/*.jar"].each do |jar|
pathelement :path => jar
Expand All @@ -36,11 +38,14 @@ namespace :ant do

desc "Create a jar file of the compiled code using Ant"
ant_task :jar => "ant:compile" do
puts "Creating greeter.jar"
jar :destfile => "greeter.jar", :basedir => build_dir
puts "Creating #{jar_file}"
jar :destfile => jar_file, :basedir => classes_dir
end
end

$CLASSPATH << classes_dir
ENV['CLASSPATH'] = classes_dir

# RSpec
require 'spec/rake/spectask'
spec_dir = 'src/spec/ruby'
Expand All @@ -51,7 +56,6 @@ end

# Cucumber
require 'cucumber/rake/task'
$CLASSPATH << build_dir

desc "Run Cucumber on the project"
Cucumber::Rake::Task.new(:features => "ant:compile")
Expand All @@ -60,4 +64,4 @@ task :default => :features

# Clean
require 'rake/clean'
CLEAN << build_dir << "greeter.jar"
CLEAN << build_dir
9 changes: 9 additions & 0 deletions src/main/java/ruby/StackOverflowError.java
@@ -0,0 +1,9 @@
package ruby;

public class StackOverflowError extends Exception {
public StackOverflowError() {
}
public StackOverflowError(String message) {
super(message);
}
}
9 changes: 9 additions & 0 deletions src/main/java/ruby/StackUnderflowError.java
@@ -0,0 +1,9 @@
package ruby;

public class StackUnderflowError extends Exception {
public StackUnderflowError() {
}
public StackUnderflowError(String message) {
super(message);
}
}
3 changes: 3 additions & 0 deletions src/spec/ruby/stack_spec.rb
@@ -1,4 +1,7 @@
require 'java'
import "ruby.Stack"
import "ruby.StackOverflowError"
import "ruby.StackUnderflowError"
require File.dirname(__FILE__) + '/shared_stack_examples'

describe Stack, " (empty)" do
Expand Down

0 comments on commit 80f5569

Please sign in to comment.