Author: boisvert
Date: Sun Aug 29 05:15:51 2010
New Revision: 990492
URL: http://svn.apache.org/viewvc?rev=990492&view=rev
Log:
BUILDR-499 Java package caching through constants
e.g. (Java.java.lang.String cached as Java::Lang::String)
can shadow Ruby modules.
Modified:
buildr/trunk/CHANGELOG
buildr/trunk/lib/buildr/java/rjb.rb
Modified: buildr/trunk/CHANGELOG
URL:
http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=990492&r1=990491&r2=990492&view=diff
==============================================================================
--- buildr/trunk/CHANGELOG (original)
+++ buildr/trunk/CHANGELOG Sun Aug 29 05:15:51 2010
@@ -36,6 +36,9 @@
* Fixed: BUILDR-491 sftp download goes into infinite loop
* Fixed: BUILDR-498 Artifact download fails with "negative argument" if
terminal capabilities are undefined
+* Fixed: BUILDR-499 Java package caching through constants
+ e.g. (Java.java.lang.String cached as Java::Lang::String)
+ can shadow Ruby modules
1.4.1 (2010-07-07)
* Added: BUILDR-420 Support external compiler
Modified: buildr/trunk/lib/buildr/java/rjb.rb
URL:
http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/rjb.rb?rev=990492&r1=990491&r2=990492&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/java/rjb.rb (original)
+++ buildr/trunk/lib/buildr/java/rjb.rb Sun Aug 29 05:15:51 2010
@@ -134,12 +134,10 @@ module Java
private
def __package__(name) #:nodoc:
- const = name.split('.').map { |part| part.gsub(/^./) { |char|
char.upcase } }.join
- return const_get(const) if constants.include?(const) ||
constants.include?(const.to_sym)
- package = Module.new
- package.extend Package
- package.instance_variable_set :@name, name
- const_set(const, package)
+ Module.new.tap do |m|
+ m.extend Package
+ m.instance_variable_set :@name, name
+ end
end
end