Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

vistahigherlearning / logstash   deb

Repository URL to install this package:

/ opt / logstash / vendor / bundle / jruby / 1.9 / gems / jruby-openssl-0.8.7 / Rakefile

require 'rake'
require 'rake/testtask'
load File.dirname(__FILE__) + "/lib/shared/jopenssl/version.rb"

BC_JARS       = FileList["../../build_lib/bc*.jar"]
JOPENSSL_JAR  = 'lib/shared/jopenssl.jar'
GEM_FILE      = "pkg/jruby-openssl-#{Jopenssl::Version::VERSION}.gem"
GEM_SPEC_FILE = 'jruby-openssl.gemspec'

task :default => [:java_compile, :test]

def java_classpath_arg # myriad of ways to discover JRuby classpath
  begin
    cpath  = Java::java.lang.System.getProperty('java.class.path').split(File::PATH_SEPARATOR)
    cpath += Java::java.lang.System.getProperty('sun.boot.class.path').split(File::PATH_SEPARATOR)
    jruby_cpath = cpath.compact.join(File::PATH_SEPARATOR)
  rescue => e
  end
  unless jruby_cpath
    jruby_cpath = ENV['JRUBY_PARENT_CLASSPATH'] || ENV['JRUBY_HOME'] &&
      FileList["#{ENV['JRUBY_HOME']}/lib/*.jar"].join(File::PATH_SEPARATOR)
  end
  bc_jars = BC_JARS.join(File::PATH_SEPARATOR)
  jruby_cpath ? "-cp \"#{jruby_cpath.gsub('\\', '/')}#{File::PATH_SEPARATOR}#{bc_jars}\"" : "-cp \"#{bc_jars}\""
end

desc "Compile the native Java code and create the jopenssl jar file."
task file JOPENSSL_JAR do
  mkdir_p "pkg/classes"

  File.open("pkg/compile_options", "w") do |f|
    f << "-g -target 1.5 -source 1.5 -Xlint:unchecked -Xlint:deprecation -d pkg/classes"
  end

  File.open("pkg/compile_classpath", "w") do |f|
    f << java_classpath_arg
  end

  File.open("pkg/compile_sourcefiles", "w") do |f|
    f << FileList['../../src/org/jruby/ext/openssl/**/*.java'].join(' ')
  end

  sh "javac @pkg/compile_options @pkg/compile_classpath @pkg/compile_sourcefiles"
  sh "jar cf #{JOPENSSL_JAR} -C pkg/classes/ ."
  FileUtils.cp JOPENSSL_JAR, '../../lib/ruby/shared/jopenssl.jar'
end

task :more_clean do
  rm_f FileList[JOPENSSL_JAR]
end
task :clean => :more_clean

file GEM_FILE => [GEM_SPEC_FILE, JOPENSSL_JAR] do
  puts "Generating #{GEM_FILE}"
  `gem build #{GEM_SPEC_FILE}`
  FileUtils.mv "jruby-openssl-#{Jopenssl::Version::VERSION}.gem", GEM_FILE
end
task :package => GEM_FILE