You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by as...@apache.org on 2009/02/27 09:57:33 UTC
svn commit: r748441 - in /buildr/trunk: Rakefile rakelib/setup.rake
Author: assaf
Date: Fri Feb 27 08:57:32 2009
New Revision: 748441
URL: http://svn.apache.org/viewvc?rev=748441&view=rev
Log:
Rakefile now determines JAVA_HOME. The gem_setup method now accepts version and source info (required for Github gems).
Modified:
buildr/trunk/Rakefile
buildr/trunk/rakelib/setup.rake
Modified: buildr/trunk/Rakefile
URL: http://svn.apache.org/viewvc/buildr/trunk/Rakefile?rev=748441&r1=748440&r2=748441&view=diff
==============================================================================
--- buildr/trunk/Rakefile (original)
+++ buildr/trunk/Rakefile Fri Feb 27 08:57:32 2009
@@ -14,10 +14,19 @@
# the License.
-require 'rake/gempackagetask'
+RakeFileUtils.verbose_flag = Rake.application.options.trace # Rake 0.8.3 is too chatty!
-RakeFileUtils.verbose_flag = Rake.application.options.trace
+# We need JAVA_HOME for most things (setup, spec, etc).
+unless ENV['JAVA_HOME']
+ if RUBY_PLATFORM[/java/]
+ ENV['JAVA_HOME'] = java.lang.System.getProperty('java.home')
+ elsif RUBY_PLATFORM[/darwin/]
+ ENV['JAVA_HOME'] = '/System/Library/Frameworks/JavaVM.framework/Home'
+ else
+ fail "Please set JAVA_HOME first (set JAVA_HOME=... or env JAVA_HOME=... rake ...)"
+ end
+end
def spec(platform = RUBY_PLATFORM[/java/] || 'ruby')
@@ -29,6 +38,13 @@
end
+require 'rake/gempackagetask'
+
+
+
+
+
+
desc 'Compile Java libraries used by Buildr'
task 'compile' do
puts 'Compiling Java libraries ...'
Modified: buildr/trunk/rakelib/setup.rake
URL: http://svn.apache.org/viewvc/buildr/trunk/rakelib/setup.rake?rev=748441&r1=748440&r2=748441&view=diff
==============================================================================
--- buildr/trunk/rakelib/setup.rake (original)
+++ buildr/trunk/rakelib/setup.rake Fri Feb 27 08:57:32 2009
@@ -24,13 +24,6 @@
Config::CONFIG['host_os'] =~ /windows|cygwin|bccwin|cygwin|djgpp|mingw|mswin|wince/i
end
-def set_java_home
- if !ENV['JAVA_HOME'] && RUBY_PLATFORM[/java/]
- ENV['JAVA_HOME'] = java.lang.System.getProperty('java.home')
- end
- fail "Please set JAVA_HOME first #{'(no need to run as sudo)' if ENV['USER'] == 'root'}" unless ENV['JAVA_HOME']
-end
-
def sudo_needed?
!( windows? || ENV['GEM_HOME'] )
end
@@ -54,18 +47,15 @@
sh *args.map{ |a| a.inspect }.join(' ')
end
-def install_gem(name, ver_requirement = ['> 0'])
- dep = Gem::Dependency.new(name, ver_requirement)
- @load_cache = true
+def install_gem(name, options = {}) # ver_requirement = ['> 0'])
+ dep = Gem::Dependency.new(name, options[:version] || '>0')
if Gem::SourceIndex.from_installed_gems.search(dep).empty?
- spec = Gem::SourceInfoCache.search(dep, true, @load_cache).last
- fail "#{dep} not found in local or remote repository!" unless spec
- puts "Installing #{spec.full_name} ..."
- args = ['install']
- args.push '--install-dir', ENV['GEM_HOME'] if ENV['GEM_HOME']
- args.push spec.name, '-v', spec.version.to_s
+ puts "Installing #{name} ..."
+ args = 'install', name
+ args << '--version' << options[:version] if options[:version]
+ args << '--source' << options[:source] if options[:source]
+ args << '--install-dir' << ENV['GEM_HOME'] if ENV['GEM_HOME']
gem_run *args
- @load_cache = false # Just update the Gem cache once
end
end
@@ -73,7 +63,6 @@
desc "If you're building from sources, run this task first to setup the necessary dependencies."
missing = spec.dependencies.select { |dep| Gem::SourceIndex.from_installed_gems.search(dep).empty? }
task 'setup' do
- set_java_home
missing.each do |dep|
install_gem dep.name, dep.version_requirements
end