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.4KB

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