You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Gemfile 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. source 'https://rubygems.org'
  2. ruby '>= 2.5.0', '< 3.2.0'
  3. gem 'bundler', '>= 1.12.0'
  4. gem 'rails', '6.1.7.2'
  5. gem 'globalid', '~> 0.4.2' if Gem.ruby_version < Gem::Version.new('2.6.0')
  6. gem 'rouge', '~> 3.28.0'
  7. gem 'request_store', '~> 1.5.0'
  8. gem 'mini_mime', '~> 1.1.0'
  9. gem "actionpack-xml_parser"
  10. gem 'roadie-rails', (Gem.ruby_version < Gem::Version.new('2.6.0') ? '~> 2.2.0' : '~> 3.0.0')
  11. gem 'marcel'
  12. gem "mail", "~> 2.7.1"
  13. gem 'csv', '~> 3.2.0'
  14. gem 'nokogiri', (Gem.ruby_version < Gem::Version.new('2.6.0') ? '~> 1.12.5' : '~> 1.13.10')
  15. gem "rexml", require: false if Gem.ruby_version >= Gem::Version.new('3.0')
  16. gem 'i18n', '~> 1.10.0'
  17. gem 'rbpdf', '~> 1.21.0'
  18. gem 'addressable'
  19. gem 'rubyzip', '~> 2.3.0'
  20. gem 'net-smtp', '~> 0.3.0'
  21. gem 'net-imap', '~> 0.2.2'
  22. gem 'net-pop', '~> 0.1.1'
  23. # Rails 6.1.6.1 does not work with Pysch 3.0.2, which is installed by default with Ruby 2.5. See https://github.com/rails/rails/issues/45590
  24. gem 'psych', '>= 3.1.0' if Gem.ruby_version < Gem::Version.new('2.6.0')
  25. # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
  26. gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
  27. # TOTP-based 2-factor authentication
  28. gem 'rotp', '>= 5.0.0'
  29. gem 'rqrcode'
  30. # Optional gem for LDAP authentication
  31. group :ldap do
  32. gem 'net-ldap', '~> 0.17.0'
  33. end
  34. # Optional gem for exporting the gantt to a PNG file
  35. group :minimagick do
  36. gem 'mini_magick', '~> 4.11.0'
  37. end
  38. # Optional Markdown support, not for JRuby
  39. # ToDo: Remove common_mark group when common_mark is decoupled from markdown. See defect (#36892) for more details.
  40. gem 'redcarpet', '~> 3.5.1', groups: [:markdown, :common_mark]
  41. # Optional CommonMark support, not for JRuby
  42. group :common_mark do
  43. gem "html-pipeline", "~> 2.13.2"
  44. gem "commonmarker", (Gem.ruby_version < Gem::Version.new('2.6.0') ? '0.21.0' : '~> 0.23.8')
  45. gem "sanitize", "~> 6.0"
  46. gem 'deckar01-task_list', '2.3.2'
  47. end
  48. # Include database gems for the adapters found in the database
  49. # configuration file
  50. require 'erb'
  51. require 'yaml'
  52. database_file = File.join(File.dirname(__FILE__), "config/database.yml")
  53. if File.exist?(database_file)
  54. yaml_config = ERB.new(IO.read(database_file)).result
  55. database_config = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(yaml_config) : YAML.load(yaml_config)
  56. adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
  57. if adapters.any?
  58. adapters.each do |adapter|
  59. case adapter
  60. when 'mysql2'
  61. gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
  62. when /postgresql/
  63. gem "pg", "~> 1.2.2", :platforms => [:mri, :mingw, :x64_mingw]
  64. when /sqlite3/
  65. gem "sqlite3", "~> 1.4.0", :platforms => [:mri, :mingw, :x64_mingw]
  66. when /sqlserver/
  67. gem "tiny_tds", "~> 2.1.2", :platforms => [:mri, :mingw, :x64_mingw]
  68. gem "activerecord-sqlserver-adapter", "~> 6.1.0", :platforms => [:mri, :mingw, :x64_mingw]
  69. else
  70. warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
  71. end
  72. end
  73. else
  74. warn("No adapter found in config/database.yml, please configure it first")
  75. end
  76. else
  77. warn("Please configure your config/database.yml first")
  78. end
  79. group :development do
  80. gem 'listen', '~> 3.3'
  81. gem "yard"
  82. end
  83. group :test do
  84. gem "rails-dom-testing"
  85. gem 'mocha', (Gem.ruby_version < Gem::Version.new('2.7.0') ? ['>= 1.4.0', '< 2.0.0'] : '>= 1.4.0')
  86. gem 'simplecov', '~> 0.21.2', :require => false
  87. gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
  88. # For running system tests
  89. gem 'puma', (Gem.ruby_version < Gem::Version.new('2.7') ? '< 6.0.0' : '>= 0')
  90. gem 'capybara', (if Gem.ruby_version < Gem::Version.new('2.6')
  91. '~> 3.35.3'
  92. elsif Gem.ruby_version < Gem::Version.new('2.7')
  93. '~> 3.36.0'
  94. else
  95. '~> 3.38.0'
  96. end)
  97. gem "selenium-webdriver", "~> 3.142.7"
  98. gem 'webdrivers', '4.6.1', require: false
  99. # RuboCop
  100. gem 'rubocop', '~> 1.26.0'
  101. gem 'rubocop-performance', '~> 1.13.0'
  102. gem 'rubocop-rails', '~> 2.14.0'
  103. end
  104. local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
  105. if File.exist?(local_gemfile)
  106. eval_gemfile local_gemfile
  107. end
  108. # Load plugins' Gemfiles
  109. Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
  110. eval_gemfile file
  111. end