diff --git a/Gemfile b/Gemfile index 6beca35d..d6f16446 100644 --- a/Gemfile +++ b/Gemfile @@ -26,6 +26,7 @@ gem 'sdoc', '~> 0.4.0', group: :doc gem 'bcrypt', '3.1.9' gem 'sqlite3', '1.3.9' gem 'nokogiri', '1.6.5' +gem 'RedCloth', '4.2.9' # --------------------------------------------------------- Dradis dependencies diff --git a/Gemfile.lock b/Gemfile.lock index e293f10e..2951d777 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -245,6 +245,7 @@ PLATFORMS ruby DEPENDENCIES + RedCloth (= 4.2.9) acts_as_tree (~> 1.6) bcrypt (= 3.1.9) builder diff --git a/packaging/rake_rules.rb b/packaging/rake_rules.rb index 5704444f..8f491d29 100644 --- a/packaging/rake_rules.rb +++ b/packaging/rake_rules.rb @@ -3,12 +3,13 @@ PACKAGE_NAME = "dradisframework" VERSION = "3.0.0" -TRAVELING_RUBY_VERSION = "20141215-2.1.5" +TRAVELING_RUBY_VERSION = "20150130-2.1.5" # Must match Gemfile: SQLITE3_VERSION = "1.3.9" NOKOGIRI_VERSION = "1.6.5" BCRYPT_VERSION = "3.1.9" +REDCLOTH_VERSION = "4.2.9" namespace :assets do namespace :precompile do @@ -30,7 +31,8 @@ "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86.tar.gz", "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-sqlite3-#{SQLITE3_VERSION}.tar.gz", "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-nokogiri-#{NOKOGIRI_VERSION}.tar.gz", - "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-bcrypt-#{BCRYPT_VERSION}.tar.gz" + "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-bcrypt-#{BCRYPT_VERSION}.tar.gz", + "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-RedCloth-#{REDCLOTH_VERSION}.tar.gz" ] do create_package("linux-x86") end @@ -41,7 +43,8 @@ "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", "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64-nokogiri-#{NOKOGIRI_VERSION}.tar.gz", - "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64-bcrypt-#{BCRYPT_VERSION}.tar.gz" + "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64-bcrypt-#{BCRYPT_VERSION}.tar.gz", + "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64-RedCloth-#{REDCLOTH_VERSION}.tar.gz" ] do create_package("linux-x86_64") end @@ -53,7 +56,8 @@ "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx.tar.gz", "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-sqlite3-#{SQLITE3_VERSION}.tar.gz", "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-nokogiri-#{NOKOGIRI_VERSION}.tar.gz", - "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-bcrypt-#{BCRYPT_VERSION}.tar.gz" + "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-bcrypt-#{BCRYPT_VERSION}.tar.gz", + "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-RedCloth-#{REDCLOTH_VERSION}.tar.gz" ] do create_package("osx") end @@ -137,6 +141,18 @@ download_native_extension("osx", "bcrypt-#{BCRYPT_VERSION}") end +file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86-RedCloth-#{REDCLOTH_VERSION}.tar.gz" do + download_native_extension("linux-x86", "RedCloth-#{REDCLOTH_VERSION}") +end + +file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64-RedCloth-#{REDCLOTH_VERSION}.tar.gz" do + download_native_extension("linux-x86_64", "RedCloth-#{REDCLOTH_VERSION}") +end + +file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx-RedCloth-#{REDCLOTH_VERSION}.tar.gz" do + download_native_extension("osx", "RedCloth-#{REDCLOTH_VERSION}") +end + def create_package(target) puts "\nCreating package #{ target }..." @@ -174,11 +190,6 @@ def create_package(target) sh "cp -r engines/core #{package_dir}/lib/vendor/engines" sh "cp -r engines/frontend #{package_dir}/lib/vendor/engines" - # Temporarily disable RedCloth - # TODO: Remove when RedCloth packages are available - File.write(f = "#{package_dir}/lib/vendor/engines/frontend/dradis_frontend.gemspec", File.read(f).gsub("s.add_dependency 'RedCloth'","# s.add_dependency 'RedCloth'")) - File.write("#{package_dir}/lib/vendor/engines/frontend/lib/redcloth.rb", "class RedCloth;def initialize(*args);end;end") - sh "mkdir #{package_dir}/lib/vendor/.bundle" sh "cp packaging/bundler-config #{package_dir}/lib/vendor/.bundle/config" sh "tar -xzf packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-#{target}-sqlite3-#{SQLITE3_VERSION}.tar.gz " +