Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed some bugs. Updated webgen website to latest webgen.

  • Loading branch information...
commit 3d37ed4fa64bdef1ea3b73e3d312b74ae8f406fe 1 parent 7e538e4
@chicagoscala chicagoscala authored
View
14 README.markdown
@@ -380,7 +380,15 @@ If you prefer to build the gem locally, check out source from GitHub
(or fork it)
-WARNING: The older RubyForge SVN repository (`svn://rubyforge.org/var/svn/aquarium/trunk`) is now obsolete!!
+WARNING: The older RubyForge SVN repository (`svn://rubyforge.org/var/svn/aquarium/trunk`) is now obsolete!!
+
+As of version 0.5.0, the following Ruby versions are supported:
+
+* Ruby 1.8.7: tested on patch version p358.
+* Ruby 1.9.3: tested on patch version p125
+* JRuby 1.6.7: tested on patch version p357
+
+Newer patch releases should also be fine...
Use the following commands to build everything:
@@ -415,7 +423,7 @@ or
Note that Aquarium itself, once built, doesn't have any dependencies outside the Ruby core and stdlib.
-If you want to run the tests for the JRuby support, you must also have JRuby 1.1 or later installed. To run the specs for JRuby, use the command
+If you want to run the tests for the JRuby support, you must also have JRuby 1.6.7 or later installed. To run the specs for JRuby, use the command
rake verify_jruby
@@ -484,6 +492,6 @@ My colleagues in the AOSD community, in particular those who developed *AspectJ*
The *RSpec* team, in particular David Chelimsky, have really inspired my thinking about what's possible in Ruby, especially in the realm of DSLs. I also cribbed parts of the RSpec Rake process ;)
-My colleagues at [Object Mentor](http://objectmentor.com) are an endless source of insight and inspiration.
+Keita Yamaguchi contributed some key patches that enabled Ruby 1.9.3 and JRuby 1.6.7 support, in addition to the prior support for Ruby 1.8.7. These patches allowed me to final release version 0.5.0. Thank you!
Finally, a number of users have contributed valuable feedback. In particular, thanks to Brendan L., Matthew F., and Mark V.
View
31 aquarium/CHANGES
@@ -1,25 +1,38 @@
== Version 0.5.0
-V0.5.0 adds support for Ruby 1.9.2, RSpec 2.5, Webgen (0.5.10 - for the build process), and partial support for JRuby 1.5.6.
+V0.5.0 adds support for Ruby 1.8.7, Ruby 1.9.3, JRuby 1.6.7,
+RSpec 2.9, and Webgen (0.5.14 - for the build process).
-WARNING: Ruby 1.9.1 is not supported. JRuby support is limited to "pure" Ruby code; the main RSpec specifications pass under JRuby, but not the JRuby-specific specifications in jruby/spec. Restoring full JRuby support is planned, but the timeframe is TBD.
+WARNING: Earlier versions of Ruby 1.8, 1.9 and JRuby 1.X are not
+supported. JRuby support is limited to "pure" Ruby code; the main
+RSpec specifications pass under JRuby, but not the JRuby-specific
+specifications in jruby/spec. Restoring full JRuby support is planned,
+but the timeframe is TBD.
It also has some minor API changes summarized below.
Enhancements:
-22558 Support Ruby 1.9.1
-27235 Support RSpec 1.2.8 (latest) and and JRuby 1.3.1 (latest)
-27236 Upgrade website generation to webgen 0.5.X
+22558 Support Ruby 1.9.1 (actually 1.9.3)
+27235 Support RSpec 1.2.8 (actually 2.9) and and JRuby 1.3.1 (actually 1.6.7)
+27236 Upgrade website generation to webgen 0.5.X (X=14)
-The actual versions of these tools supported are more recent versions...
+The actual versions of these tools supported are more recent versions
+shown in parentheses.
There are no API changes in this release, with two exceptions.
-First, Most of the code changes are minor fixes to RSpec files. The one exception is an apparent change in JRuby 1.3.1 w.r.t. the access restrictions on Java methods. It now appears that protected methods are public, that is they are in the method list returned by :public_methods, but not :protected_methods. Also, private methods are not returned by any of the :*_methods.
+First, Most of the code changes are minor fixes to RSpec files. The one
+exception is an apparent change that occurred in JRuby 1.3.X with respect
+to the access restrictions on Java methods. It now appears that protected
+methods are public, that is they are in the method list returned by
+:public_methods, but not :protected_methods. Also, private methods are
+not returned by any of the :*_methods.
-Second, there was a deprecated option to the MethodFinder class, :options, that has been removed. Use :method_options instead.
+Second, there was a deprecated option to the MethodFinder class,
+:options, that has been removed. Use :method_options instead.
-I used the upgrade to Webgen 0.5.X as an excuse to refresh the web site's appearance. The content is mostly the same as before.
+I used the upgrade to Webgen 0.5.X as an excuse to refresh the web site's
+appearance. The content is mostly the same as before.
== Version 0.4.3
View
5 aquarium/README
@@ -463,7 +463,10 @@ See http://aquarium.rubyforge.org for further documentation.
=== Acknowledgments
My colleagues in the AOSD community, in particular those who developed AspectJ, have been a big inspiration.
+
The RSpec team, in particular David Chelimsky, have really inspired my thinking about what's possible in Ruby, especially in the realm of DSLs. I also cribbed parts of the RSpec Rake process ;)
-My colleagues at Object Mentor are an endless source of insight and inspiration.
+
+Keita Yamaguchi contributed some key patches that enabled Ruby 1.9.3 and JRuby 1.6.7 support, in addition to the prior support for Ruby 1.8.7. These patches allowed me to final release version 0.5.0. Thank you!
+
Finally, a number of users have contributed valuable feedback. In particular, thanks to Brendan L., Matthew F., and Mark V.
View
2  aquarium/RELEASE-PLAN
@@ -62,6 +62,8 @@ aspects, for example.
I'll maintain the current form for backwards compatibility and also because it is convenient for
simpler aspects.
+Finally, this release will finally support Ruby 1.9.X and the latest JRuby at the time of the release.
+
=== Version 0.6+
I have been thinking about higher-order abstractions that work above the "Pointcut + Advice
View
24 aquarium/Rakefile
@@ -4,7 +4,7 @@ require 'rake'
require 'rake/gempackagetask'
require 'rake/contrib/rubyforgepublisher'
require 'rake/clean'
-require 'rake/rdoctask'
+require 'rdoc/task'
require 'aquarium/version'
# Use RSpec's files.
@@ -12,6 +12,7 @@ require 'rspec/core/rake_task'
# Some of the tasks are in separate files since they are also part of the website documentation
#load File.dirname(__FILE__) + '/rake_tasks/examples.rake'
+# TODO: Replace rcov with simplecov and restore this feature.
#load File.dirname(__FILE__) + '/rake_tasks/verify_rcov.rake'
PKG_NAME = "aquarium"
@@ -26,6 +27,8 @@ PKG_FILES = FileList[
]
FileUtils.touch(File.dirname(__FILE__) + '/previous_failures.txt')
+IS_WINDOWS = (RUBY_VERSION == "1.8.7" ? PLATFORM : RUBY_PLATFORM) =~ /mswin/
+
task :default => :spec
desc "Run all specs"
@@ -33,16 +36,16 @@ RSpec::Core::RakeTask.new do |t|
t.rspec_opts = ['--color', '--format progress', '--profile']
end
-desc "Run all specs and store html output in doc/aquarium/out/report.html"
-RSpec::Core::RakeTask.new('spec_html') do |t|
- t.rspec_opts = ['--format html:../doc/aquarium/out/report.html','--backtrace']
-end
+# desc "Run all specs and store html output in doc/aquarium/out/report.html"
+# RSpec::Core::RakeTask.new('spec_html') do |t|
+# t.rspec_opts = ['--format html:../doc/aquarium/out/report.html','--backtrace']
+# end
desc 'Generate HTML documentation for website'
task :webgen do
Dir.chdir '../doc/aquarium' do
output = nil
- IO.popen('webgen 2>&1') do |io|
+ IO.popen('rake webgen 2>&1') do |io|
output = io.read
end
raise "ERROR while running webgen: #{output}" if output =~ /ERROR/n || $? != 0
@@ -113,6 +116,7 @@ end
task :clobber do
rm_rf '../doc/aquarium/out'
+ rm_rf '../doc/aquarium/webgen.cache'
rm_rf 'translated_specs'
end
@@ -152,20 +156,20 @@ end
# ]
desc "Build the website, but do not publish it"
-task :website => [:clobber, :verify_rcov, :verify_jruby, :spec_html, :webgen, :rdoc]
+task :website => [:clobber, :rdoc, :webgen] # :spec_html, :verify_jruby, :verify_rcov,
task :rdoc_rails do
Dir.chdir '../aquarium_on_rails' do
- rake = (PLATFORM == "i386-mswin32") ? "rake.cmd" : "rake"
+ rake = IS_WINDOWS ? "rake.cmd" : "rake"
`#{rake} rdoc`
end
end
-desc "Verify that the Aquarium specs run under JRuby and that JRuby can advise Java types"
+desc "Verify that the Aquarium specs run under JRuby and that JRuby can advise Java types. If this task fails, try running 'jruby -S rake' separately."
task :verify_jruby do
puts "Verifying JRuby Support"
Dir.chdir 'jruby' do
- rake = (PLATFORM == "i386-mswin32") ? "rake.cmd" : "rake"
+ rake = IS_WINDOWS ? "rake.cmd" : "rake"
sh "jruby -S #{rake}"
end
end
View
8 aquarium/UPGRADE
@@ -1,4 +1,10 @@
-== Updating to Aquarium-0.4.0
+== Updating to Aquarium-0.5.0
+
+This release introduces a few small API changes that are described in CHANGES. The primary goal of the release is to add full support for Ruby 1.9.3 and JRuby 1.6.7.
+
+It was not tested on early versions of Ruby 1.9 and JRuby 1.X, so users of earlier releases should use caution upgrading. Post any issues to the GitHub project.
+
+== Updating to Aquarium-0.4.X
This release is fully backwards-compatible with previous releases. It expands
the API slightly and adds internal improvements to better support JRuby. There
View
119 aquarium/jruby/spec/java_class_aspects_spec.rb
@@ -35,19 +35,27 @@ def is_java_interface? type
end
def log_should_contain_entries
- @aspect_log.should_not be_empty
- @aspect_log.should include("entering do_work")
- @aspect_log.should include("leaving do_work")
+ @@aspect_log.should_not be_empty
+ @@aspect_log.should include("entering do_work")
+ @@aspect_log.should include("leaving do_work")
end
-def make_advice
- return Proc.new { |jp, object, *args|
- @aspect_log += "entering do_work(#{args.inspect})\n"
+# def make_advice
+# return Proc.new { |jp, object, *args|
+# @@aspect_log += "entering do_work(#{args.inspect})\n"
+# result = jp.proceed
+# @@aspect_log += "leaving do_work(#{args.inspect})\n"
+# result
+# }
+# end
+
+canned_advice = Proc.new { |jp, object, *args|
+ @@aspect_log += "entering do_work(#{args.inspect})\n"
result = jp.proceed
- @aspect_log += "leaving do_work(#{args.inspect})\n"
+ @@aspect_log += "leaving do_work(#{args.inspect})\n"
result
}
-end
+
describe "Java type without advice" do
it "should not be advised" do
@@ -58,18 +66,18 @@ def make_advice
describe "Java instance with advice" do
before :each do
- @aspect_log = ""
+ @@aspect_log = ""
end
it "should invoke the advice when the advised methods on the same instance are called" do
list_sorter = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
- aspect = Aspect.new :around, :calls_to => :do_work, :object => list_sorter, :advice => make_advice
+ aspect = Aspect.new :around, :calls_to => :do_work, :object => list_sorter, :advice => canned_advice
do_sort list_sorter
log_should_contain_entries
list_sorter2 = Java::example.sorter.converter.StringListCaseConverterAndSorter.new(StringLengthListComparator.new)
- aspect = Aspect.new :around, :calls_to => :do_work, :object => list_sorter2, :advice => make_advice
- @aspect_log = ""
+ aspect = Aspect.new :around, :calls_to => :do_work, :object => list_sorter2, :advice => canned_advice
+ @@aspect_log = ""
do_sort list_sorter2
log_should_contain_entries
aspect.unadvise
@@ -78,22 +86,22 @@ def make_advice
describe "Second Java instance of the same type" do
it "should not be advised by the advice applied to a different instance" do
- aspect = Aspect.new :around, :calls_to => :do_work, :object => Java::example.sorter.StringListSorter.new(StringLengthListComparator.new), :advice => make_advice
+ aspect = Aspect.new :around, :calls_to => :do_work, :object => Java::example.sorter.StringListSorter.new(StringLengthListComparator.new), :advice => canned_advice
list_sorter2 = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
- @aspect_log = ""
+ @@aspect_log = ""
do_sort list_sorter2
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
aspect.unadvise
end
end
describe "Second Java instance of a derived type" do
it "should not be advised by the advice applied to an instance of a parent type" do
- aspect = Aspect.new :around, :calls_to => :do_work, :object => Java::example.sorter.StringListSorter.new(StringLengthListComparator.new), :advice => make_advice
+ aspect = Aspect.new :around, :calls_to => :do_work, :object => Java::example.sorter.StringListSorter.new(StringLengthListComparator.new), :advice => canned_advice
list_sorter2 = Java::example.sorter.converter.StringListCaseConverterAndSorter.new(StringLengthListComparator.new)
- @aspect_log = ""
+ @@aspect_log = ""
do_sort list_sorter2
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
aspect.unadvise
end
end
@@ -101,21 +109,20 @@ def make_advice
describe "Java instance with advice added then removed" do
it "should not be advised after the advice is removed" do
list_sorter = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
- aspect = Aspect.new :around, :calls_to => :do_work, :object => list_sorter, :advice => make_advice
- @aspect_log = ""
+ aspect = Aspect.new :around, :calls_to => :do_work, :object => list_sorter, :advice => canned_advice
do_sort list_sorter
- @aspect_log = ""
+ @@aspect_log = ""
aspect.unadvise
do_sort list_sorter
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
list_sorter2 = Java::example.sorter.converter.StringListCaseConverterAndSorter.new(StringLengthListComparator.new)
- aspect2 = Aspect.new :around, :calls_to => :do_work, :object => list_sorter2, :advice => make_advice
+ aspect2 = Aspect.new :around, :calls_to => :do_work, :object => list_sorter2, :advice => canned_advice
do_sort list_sorter2
- @aspect_log = ""
+ @@aspect_log = ""
aspect2.unadvise
do_sort list_sorter2
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
end
end
@@ -129,9 +136,9 @@ def make_advice
describe "Java interface used with :type_and_descendents => ... (or synonym)" do
before :each do
@aspect = Aspect.new :around, :calls_to => :do_work, :type_and_descendents => Java::example.Worker,
- # :advice => make_advice
- :exclude_type => StringListCaseConverterAndSorterWithConvertCaseOverride, :advice => make_advice
- @aspect_log = ""
+ # :advice => canned_advice
+ :exclude_type => StringListCaseConverterAndSorterWithConvertCaseOverride, :advice => canned_advice
+ @@aspect_log = ""
end
after :each do
@aspect.unadvise
@@ -154,10 +161,10 @@ def make_advice
do_sort list_sorter
log_should_contain_entries
@aspect.unadvise
- @aspect_log = ""
+ @@aspect_log = ""
do_sort list_sorter
do_sort Java::example.sorter.converter.StringListCaseConverterAndSorter.new(StringLengthListComparator.new)
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
end
it "should allow #unadvise to be called repeatedly" do
@@ -169,8 +176,8 @@ def make_advice
describe "Java class used with :type_and_descendents => ..." do
before :each do
@aspect = Aspect.new :around, :calls_to => :do_work, :type_and_descendents => Java::example.sorter.StringListSorter,
- :exclude_type => StringListCaseConverterAndSorterWithConvertCaseOverride, :advice => make_advice
- @aspect_log = ""
+ :exclude_type => StringListCaseConverterAndSorterWithConvertCaseOverride, :advice => canned_advice
+ @@aspect_log = ""
end
it "should invoke the advice when the advised methods of the class are called" do
@@ -192,24 +199,24 @@ def make_advice
do_sort list_sorter
log_should_contain_entries
@aspect.unadvise
- @aspect_log = ""
+ @@aspect_log = ""
do_sort list_sorter
do_sort Java::example.sorter.converter.StringListCaseConverterAndSorter.new(StringLengthListComparator.new)
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
end
end
describe "Derived Java class used with :type_and_descendents => ..." do
before :each do
- @aspect_log = ""
+ @@aspect_log = ""
@aspect = Aspect.new :around, :calls_to => :do_work, :type_and_descendents => Java::example.sorter.converter.StringListCaseConverterAndSorter,
- :exclude_type => StringListCaseConverterAndSorterWithConvertCaseOverride, :advice => make_advice
+ :exclude_type => StringListCaseConverterAndSorterWithConvertCaseOverride, :advice => canned_advice
end
it "should not invoke the advice when the advised methods of parent classes are called" do
list_sorter = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
do_sort list_sorter
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
@aspect.unadvise
end
@@ -225,16 +232,16 @@ def make_advice
do_sort list_sorter
log_should_contain_entries
@aspect.unadvise
- @aspect_log = ""
+ @@aspect_log = ""
do_sort list_sorter
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
end
end
describe "Derived Java class used with :type_and_ancestors => ..." do
before :each do
- @aspect_log = ""
- @aspect = Aspect.new :around, :calls_to => :do_work, :type_and_ancestors => Java::example.sorter.converter.StringListCaseConverterAndSorter, :advice => make_advice
+ @@aspect_log = ""
+ @aspect = Aspect.new :around, :calls_to => :do_work, :type_and_ancestors => Java::example.sorter.converter.StringListCaseConverterAndSorter, :advice => canned_advice
end
it "should invoke the advice when the advised methods of parent classes are called" do
@@ -256,20 +263,20 @@ def make_advice
do_sort list_sorter
log_should_contain_entries
@aspect.unadvise
- @aspect_log = ""
+ @@aspect_log = ""
do_sort list_sorter
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
end
end
describe "Java camel-case method name 'doFooBar'" do
before :each do
- @aspect_log = ""
+ @@aspect_log = ""
end
it "should be matched when using the camel-case form of the name 'doFooBar'" do
aspect = Aspect.new :around, :calls_to => :doWork, :type_and_descendents => Java::example.sorter.StringListSorter,
- :restricting_methods_to => [:exclude_ancestor_methods], :advice => make_advice
+ :restricting_methods_to => [:exclude_ancestor_methods], :advice => canned_advice
list_sorter = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
do_sort list_sorter, :doWork
log_should_contain_entries
@@ -278,7 +285,7 @@ def make_advice
it "should be matched when using the underscore form of the name 'do_foo_bar'" do
aspect = Aspect.new :around, :calls_to => :do_work, :type_and_descendents => Java::example.sorter.StringListSorter,
- :restricting_methods_to => [:exclude_ancestor_methods], :advice => make_advice
+ :restricting_methods_to => [:exclude_ancestor_methods], :advice => canned_advice
list_sorter = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
do_sort list_sorter
log_should_contain_entries
@@ -287,18 +294,18 @@ def make_advice
it "should advise 'doFooBar' separately from 'do_foo_bar', so that invoking 'do_foo_bar' will not invoke the advice!" do
aspect = Aspect.new :around, :calls_to => :doWork, :type_and_descendents => Java::example.sorter.StringListSorter,
- :restricting_methods_to => [:exclude_ancestor_methods], :advice => make_advice
+ :restricting_methods_to => [:exclude_ancestor_methods], :advice => canned_advice
list_sorter = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
do_sort list_sorter, :do_work
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
aspect.unadvise
end
it "should advise 'do_foo_bar' separately from 'doFooBar', so that invoking 'doFooBar' will not invoke the advice!" do
aspect = Aspect.new :around, :calls_to => :do_work, :type_and_descendents => Java::example.sorter.StringListSorter,
- :restricting_methods_to => [:exclude_ancestor_methods], :advice => make_advice
+ :restricting_methods_to => [:exclude_ancestor_methods], :advice => canned_advice
list_sorter = Java::example.sorter.StringListSorter.new(StringLengthListComparator.new)
do_sort list_sorter, :doWork
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
aspect.unadvise
end
end
@@ -379,20 +386,20 @@ def make_advice
describe "JDK classes" do
it "should be advisable by Aquarium aspects" do
- @aspect_log = ""
+ @@aspect_log = ""
aspect = Aspect.new :before, :calls_to => :add, :on_type => java.util.ArrayList do |jp, obj, *args|
- @aspect_log << "adding: #{args[0]}\n"
+ @@aspect_log << "adding: #{args[0]}\n"
end
list = java.util.ArrayList.new
list.add(1)
list.add(2)
- @aspect_log.should include("adding: 1")
- @aspect_log.should include("adding: 2")
+ @@aspect_log.should include("adding: 1")
+ @@aspect_log.should include("adding: 2")
aspect.unadvise
- @aspect_log = ""
+ @@aspect_log = ""
list.add(1)
list.add(2)
- @aspect_log.should be_empty
+ @@aspect_log.should be_empty
end
end
View
10 doc/aquarium/src/community.page
@@ -19,16 +19,16 @@ One easy way you can contribute is to join and participate in our [mailing lists
Please use the [RubyForge tracker] to submit bug reports and enhancement requests, rather than using the mailing lists. Discussion of issues on the mailing list is welcome, but the tracker is the best way to capture issues.
-It helps greatly if you fork the [Aquarium's GitHub repository] and commit changes (see below).
+It helps greatly if you fork the [Aquarium GitHub repository] and commit changes (see below).
### Bugs
We want to hear about any bugs that you find, but we can't address them
if we can't reproduce them. If you submit a Bug report, be sure to include:
-* The Aquarium version (either a versioned release or [Aquarium's GitHub repository] fork).
+* The Aquarium version (either a versioned release or [Aquarium GitHub repository] fork).
* Any other relevant software versions, your OS, <i>etc.</i>
-* A failing spec that demonstrates the failure. While code snippets alone are better than nothing, what we really prefer are new specs or modifications to Aquarium's own specs, committed on a [Aquarium's GitHub repository] fork.
+* A failing spec that demonstrates the failure. While code snippets alone are better than nothing, what we really prefer are new specs or modifications to Aquarium's own specs, committed on a [Aquarium GitHub repository] fork.
This will make us more likely to look at it quickly.
@@ -42,7 +42,7 @@ to develop yourself? Please submit it in a *Feature Request* to [RubyForge track
Interested in a new feature that you've already written or want to write?
Please submit a patch, but please follow these guidelines.
-* Patch using a fork of [Aquarium's GitHub repository].
+* Patch using a fork of [Aquarium GitHub repository].
* Include updated specs (as appropriate)!
* Include updated docs (as appropriate)!
* Run <code>rake website</code> on your patched source (it runs the specs and generates the docs).
@@ -72,7 +72,7 @@ Thanks to Brendan L., Matthew F., Mark V. and others for helpful feedback.
[mailing lists]:http://rubyforge.org/mail/?group&#095;id=4281
[RubyForge tracker]:http://rubyforge.org/tracker/?group&#095;id=4281
-[Aquarium's GitHub repository]: http://github.com/deanwampler/Aquarium
+[Aquarium GitHub repository]: http://github.com/deanwampler/Aquarium
[web]:http://polyglotprogramming.com
[twitter]:http://twitter.com/deanwampler
[blog]:http://blog.polyglotprogramming.com/
View
6 doc/aquarium/src/default.template
@@ -7,7 +7,7 @@
<meta name="description" content="Aquarium, {title: }, Aspect Oriented Programming for Ruby"/>
<meta name="keywords"
content="aspect-oriented programming, aspect-oriented software development, object-oriented programming, ruby, aop, aosd, software">
- <meta name="copyright" content="Copyright 2007-2009 Aquarium Development Team, All Rights Reserved">
+ <meta name="copyright" content="Copyright 2007-2012 Aquarium Development Team, All Rights Reserved">
<meta name="generator" content="webgen - http://webgen.rubyforge.org" />
<link rel="stylesheet" href="{relocatable: default.css}" type="text/css" media="screen,projection" />
<title>{title:}</title>
@@ -30,7 +30,7 @@
</div>
<div id="subcontent">
- <div class="small box">V0.4.4</strong>
+ <div class="small box">V0.5.0</strong>
<ul>
<li><code>gem install aquarium</code></li>
<li><code>gem update aquarium</code></li>
@@ -51,7 +51,7 @@
</div>
<div id="footer">
- <p>&copy; 2007-2009, <a href="{relocatable: /index.html}">Aquarium Development Team</a>, All Rights Reserved | Generated by <a href="http://webgen.rubyforge.org">webgen</a> | Design by <a href="http://andreasviklund.com">Andreas Viklund</a></p>
+ <p>&copy; 2007-2012, <a href="{relocatable: /index.html}">Aquarium Development Team</a>, All Rights Reserved | Generated by <a href="http://webgen.rubyforge.org">webgen</a> | Design by <a href="http://andreasviklund.com">Andreas Viklund</a></p>
</div>
</div>
View
4 doc/aquarium/src/documentation/API/aspects.page
@@ -84,7 +84,7 @@ Finally, <span class="keyword">Aquarium</span> supports removing <span class="ke
{coderay:: ruby}aspect.unadvise{coderay}
<p></p>
-Other examples can be found in the [Documentation].
+Other examples can be found in the [RDoc pages].
[DRY]:http://en.wikipedia.org/wiki/Don't_repeat_yourself
-[Documentation]:../documentation.html
+[RDoc pages]:http://aquarium.rubyforge.org/rdoc/
View
2  doc/aquarium/src/documentation/API/extensions.page
@@ -7,4 +7,4 @@ in_menu: true
Extensions to Ruby the core library. See [aquarium/extensions] for more information.
-[aquarium/extensions]:../../rdoc/files/lib/aquarium/extensions_rb.html
+[aquarium/extensions]:http://aquarium.rubyforge.org/rdoc/Aquarium/Extensions.html
View
6 doc/aquarium/src/documentation/API/extras.page
@@ -5,7 +5,7 @@ in_menu: true
---
## Extras
-Extras are tools that use <span class="keyword">Aquarium</span>, but are not imported automatically when requiring [aquarium.rb]. Instead, you have to require [aquarium/extras.rb] explicitly.
+Extras are tools that use <span class="keyword">Aquarium</span>, but are not imported automatically when requiring [aquarium.rb]. Instead, you have to require [aquarium_extras.rb] explicitly.
-[aquarium.rb]:../../rdoc/files/lib/aquarium_rb.html
-[aquarium/extras.rb]:../../rdoc/files/lib/aquarium/extras_rb.html
+[aquarium.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium.html
+[aquarium_extras.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium/Extras.html
View
2  doc/aquarium/src/documentation/API/finders.page
@@ -7,4 +7,4 @@ in_menu: true
Utilities for finding types, objects, methods, etc. in the current runtime. See [finders.rb].
-[finders.rb]:../../rdoc/files/lib/aquarium/finders_rb.html
+[finders.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium/Finders.html
View
12 doc/aquarium/src/documentation/API/index.page
@@ -14,17 +14,17 @@ Aquarium::Aspects contains the [Aquarium::Aspects::Aspect] class and supporting
[Aquarium::Utils] provides general-purpose utilities for manipulating Strings, Sets, Hashes, etc. as well as some generic types.
-[Aquarium::Extras] provides add-ons for <span class="keyword">Aquarium</span>, such as a <span class="keyword">Design by Contract</span> implementation. Note that these extras are <b>not</b> included when you require the general [aquarium.rb] file. You have to explicitly include [aquarium/extras] file to use them.
+[Aquarium::Extras] provides add-ons for <span class="keyword">Aquarium</span>, such as a <span class="keyword">Design by Contract</span> implementation. Note that these extras are <b>not</b> included when you require the general [aquarium.rb] file. You have to explicitly include [aquarium::extras.rb] file to use them.
More details are discussed in the [README].
-[Aquarium::Aspects::Aspect]:./aspects.html
+[Aquarium::Aspects::Aspect]:aspects.html
[Aquarium::Aspects::Pointcut]:join_points_and_pointcuts.html
[Aquarium::Aspects::JoinPoint]:join_points_and_pointcuts.html
[Aquarium::Finders]:finders.html
-[Aquarium::Extensions]:extensions.html
[Aquarium::Utils]:utils.html
[Aquarium::Extras]:extras.html
-[aquarium.rb]:../../rdoc/files/lib/aquarium_rb.html
-[aquarium/extras]:../../rdoc/files/lib/aquarium/extras_rb.html
-[README]:../../rdoc/files/README.html
+[aquarium.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium.html
+[aquarium::Extras.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium/Extras.html
+[Aquarium::Extensions]:http://aquarium.rubyforge.org/rdoc/Aquarium/Extensions.html
+[README]:http://aquarium.rubyforge.org/rdoc/README.html
View
4 doc/aquarium/src/documentation/API/join_points_and_pointcuts.page
@@ -9,5 +9,5 @@ in_menu: true
For now, look at the [join\_point.rb] and the [pointcut.rb] files for documentation and look at the <code>examples</code> directory in the distribution for usage examples.
-[join_point.rb]:../../rdoc/files/lib/aquarium/aspects/join_point_rb.html
-[pointcut.rb]:../../rdoc/files/lib/aquarium/aspects/pointcut_rb.html
+[join_point.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium/Aspects/JoinPoint.html
+[pointcut.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium/Aspects/Pointcut.html
View
2  doc/aquarium/src/documentation/API/utils.page
@@ -7,4 +7,4 @@ in_menu: true
Miscellaneous utilities. See [utils.rb].
-[utils.rb]:../../rdoc/files/lib/aquarium/utils_rb.html
+[utils.rb]:http://aquarium.rubyforge.org/rdoc/Aquarium/Utils.html
View
4 doc/aquarium/src/documentation/index.page
@@ -20,9 +20,9 @@ For more information on <span class="keyword">Aspect-Oriented Programming/Softwa
Finally, see the [RubyForge project page] and sign up for one of the [mailing lists].
[RDoc pages]:http://aquarium.rubyforge.org/rdoc/
-[README]:../rdoc/files/README.html
-[Examples]:../examples.html
+[README]:http://aquarium.rubyforge.org/rdoc/README.html
[Aquarium API]:API/index.html
+[Aquarium GitHub Page]:http://http://github.com/deanwampler/Aquarium
[Polyglot Programming]:http://blog.aspectprogramming.com/
[Aspect Programming]:http://aspectprogramming.com
[AOSD.net]:http://www.aosd.net
View
4 doc/aquarium/src/examples.page
@@ -74,5 +74,5 @@ AspectJ lets Java programmers add new methods and attributes to types. Ruby make
{coderay}
<p></p>
-[README]:rdoc/files/README.html
-[extras]:rdoc/files/lib/aquarium/extras&#095;rb.html
+[README]:http://aquarium.rubyforge.org/rdoc/README.html
+[extras]:http://aquarium.rubyforge.org/rdoc/Aquarium/Extras.html
View
17 doc/aquarium/src/index.page
@@ -13,9 +13,11 @@ sort_info: 1
### News
+* V0.5.0 (May 1, 2012): Now supports Ruby 1.9.3 and JRuby 1.6.7.
+
* V0.4.4 (Oct. 4, 2009): Moved the source repository from RubyForge SVN to [GitHub]. Upgraded to latest JRuby, RSpec, and Webgen.
-* New in V0.4.0: Preliminary support for advising Java classes in JRuby! See the discussion [here].
+* V0.4.0: Preliminary support for advising Java classes in JRuby! See the discussion on the [JRuby page].
See also the [RubyForge project home]
@@ -71,11 +73,10 @@ Install (or upgrade) with [RubyGems]:
See the [download] page for different options or go directly to the [RubyForge download] page.
-[API]: documentation/API/index.html
-[RubyForge project home]: http://rubyforge.org/projects/aquarium/.
-[RubyForge download]: http://rubyforge.org/frs/?group&#095;id=4281
-[GitHub]: http://github.com/deanwampler/Aquarium
-[RubyGems]: http://rubygems.org/
-[download]: download.html
-[here]:jruby.html
+[API]:documentation/API/index.html
+[RubyForge project home]:http://rubyforge.org/projects/aquarium/.
+[RubyForge download]:http://rubyforge.org/frs/?group&#095;id=4281
+[GitHub]:http://github.com/deanwampler/Aquarium
+[RubyGems]:http://rubygems.org/
+[JRuby page]:jruby.html
[Examples]:examples.html
View
6 doc/aquarium/src/install.page
@@ -18,8 +18,8 @@ gem update aquarium
or if you want an older version:
<pre>
-gem install aquarium -v 0.3.0
-gem update aquarium -v 0.3.0
+gem install aquarium -v 0.4.0
+gem update aquarium -v 0.4.0
</pre>
### Notes on Updating
@@ -38,4 +38,4 @@ Aquarium is now managed at [GitHub]. The older Subversion repository is now obso
[Rubyforge]:http://rubyforge.org/frs/?group&#095;id=4281
[GitHub]:http://github.com/deanwampler/Aquarium
-[README]:rdoc/files/README.html
+[README]:http://aquarium.rubyforge.org/rdoc/README.html
View
2  doc/aquarium/src/jruby.page
@@ -40,5 +40,5 @@ For more details, see the RSpec examples in the <code>jruby/spec</code> director
[AspectJ]:http://aspectj.org
[Spring Framework]:http://springframework.org/
-[README]:rdoc/files/README.html
+[README]:http://aquarium.rubyforge.org/rdoc/README.html
[Rubyforge bug report]: http://rubyforge.org/tracker/index.php?func=detail&aid=18325&group&#095;id=4281&atid=16494
Please sign in to comment.
Something went wrong with that request. Please try again.