Skip to content
This repository has been archived by the owner on Jan 24, 2022. It is now read-only.

Commit

Permalink
Remove unused packaging logic
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonathan Claudius committed May 20, 2021
1 parent a87fa44 commit 870c20c
Showing 1 changed file with 1 addition and 156 deletions.
157 changes: 1 addition & 156 deletions Rakefile
Expand Up @@ -17,159 +17,4 @@ desc "Run all specs in spec directory"
RSpec::Core::RakeTask.new(:spec)

PACKAGE_NAME = "ssh_scan"
VERSION = SSHScan::VERSION
TRAVELING_RUBY_VERSION = "20150210-2.1.5"
SQLITE3_VERSION = "1.3.9" # Must match Gemfile

desc "Package your app"
task :package => [
'package:linux:x86',
'package:linux:x86_64',
'package:osx',
'package:win32'
]

namespace :package do
namespace :linux do
desc "Package your app for Linux x86"
task :x86 => [:bundle_install,
"packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86.tar.gz",
"packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-sqlite3\
-#{SQLITE3_VERSION}.tar.gz"
] do
create_package("linux-x86")
end

desc "Package your app for Linux x86_64"
task :x86_64 => [:bundle_install,
"packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64.tar.gz",
"packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64-sqlite3\
-#{SQLITE3_VERSION}.tar.gz"
] do
create_package("linux-x86_64")
end
end

desc "Package your app for OS X"
task :osx => [:bundle_install,
"packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx.tar.gz",
"packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-sqlite3\
-#{SQLITE3_VERSION}.tar.gz"
] do
create_package("osx")
end

desc "Package your app for Windows x86"
task :win32 => [:bundle_install, "packaging/traveling-ruby\
-#{TRAVELING_RUBY_VERSION}-win32.tar.gz"] do
create_package("win32", :windows)
end

desc "Install gems to local directory"
task :bundle_install do
if RUBY_VERSION !~ /^2\.3\./
abort "You can only 'bundle install' using Ruby 2.3, because \
that's what Traveling Ruby uses."
end
sh "rm -rf packaging/tmp"
sh "mkdir packaging/tmp"
sh "mkdir packaging/tmp/lib"
sh "mkdir packaging/tmp/bin"
sh "cp -R lib/* packaging/tmp/lib"
sh "cp -R bin/* packaging/tmp/bin"
sh "cp Gemfile Gemfile.lock #{PACKAGE_NAME}.gemspec packaging/tmp/"
Bundler.with_clean_env do
sh "cd packaging/tmp && env BUNDLE_IGNORE_CONFIG=1 bundle install \
--path ../vendor --without development"
end
sh "rm -rf packaging/tmp"
sh "rm -f packaging/vendor/*/*/cache/*"
sh "rm -rf packaging/vendor/ruby/*/extensions"
sh "find packaging/vendor/ruby/*/gems -name '*.so' | xargs rm -f"
sh "find packaging/vendor/ruby/*/gems -name '*.bundle' | xargs rm -f"
sh "find packaging/vendor/ruby/*/gems -name '*.o' | xargs rm -f"
end
end

file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86.tar.gz" do
download_runtime("linux-x86")
end

file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64.tar.gz" do
download_runtime("linux-x86_64")
end

file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx.tar.gz" do
download_runtime("osx")
end

file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-win32.tar.gz" do
download_runtime("win32")
end

file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-sqlite3\
-#{SQLITE3_VERSION}.tar.gz" do
download_native_extension("linux-x86", "sqlite3-#{SQLITE3_VERSION}")
end

file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64-sqlite3\
-#{SQLITE3_VERSION}.tar.gz" do
download_native_extension("linux-x86_64", "sqlite3-#{SQLITE3_VERSION}")
end

file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-sqlite3\
-#{SQLITE3_VERSION}.tar.gz" do
download_native_extension("osx", "sqlite3-#{SQLITE3_VERSION}")
end

def create_package(target, os_type = :unix)
package_dir = "#{PACKAGE_NAME}-#{VERSION}-#{target}"
sh "rm -rf #{package_dir}"
sh "mkdir #{package_dir}"
sh "mkdir -p #{package_dir}/lib/app"
sh "cp bin/#{PACKAGE_NAME} #{package_dir}/lib/app/"
sh "mkdir #{package_dir}/lib/ruby"
sh "tar -xzf packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-#{target}\
.tar.gz -C #{package_dir}/lib/ruby"
if os_type == :unix
sh "cp packaging/wrapper.sh #{package_dir}/#{PACKAGE_NAME}"
else
sh "cp packaging/wrapper.bat #{package_dir}/#{PACKAGE_NAME}.bat"
end

sh "cp -R lib/* #{package_dir}/lib/"
sh "cp -pR packaging/vendor #{package_dir}/lib/"
sh "cp Gemfile Gemfile.lock #{PACKAGE_NAME}.gemspec #{package_dir}/lib/vendor/"
sh "mkdir #{package_dir}/lib/vendor/.bundle"
sh "cp packaging/bundler-config #{package_dir}/lib/vendor/.bundle/config"
if os_type == :unix
sh "tar -xzf packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-#{target}-\
sqlite3-#{SQLITE3_VERSION}.tar.gz " +
"-C #{package_dir}/lib/vendor/ruby"
else
sh "tar -xzf packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-#{target}\
.tar.gz " + "-C #{package_dir}/lib/vendor/ruby"
end
if !ENV['DIR_ONLY']
if os_type == :unix
sh "tar -czf #{package_dir}.tar.gz #{package_dir}"
else
sh "zip -9r #{package_dir}.zip #{package_dir}"
end

sh "rm -rf #{package_dir}"
end
end

def download_runtime(target)
sh "cd packaging && curl -L -O --fail " +
"https://d6r77u77i8pq3.cloudfront.net/releases/traveling-ruby-\
#{TRAVELING_RUBY_VERSION}-#{target}.tar.gz"
end

def download_native_extension(target, gem_name_and_version)
sh "curl -L --fail -o packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}\
-#{target}-#{gem_name_and_version}.tar.gz " +
"https://d6r77u77i8pq3.cloudfront.net/releases/traveling-ruby-gems-\
#{TRAVELING_RUBY_VERSION}-#{target}/#{gem_name_and_version}.tar.gz"
end
VERSION = SSHScan::VERSION

0 comments on commit 870c20c

Please sign in to comment.