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 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. source 'https://rubygems.org'
  2. ruby '>= 2.7.0', '< 3.3.0'
  3. gem 'rails', '6.1.7.2'
  4. gem 'rouge', '~> 4.0.0'
  5. gem 'request_store', '~> 1.5.0'
  6. gem 'mini_mime', '~> 1.1.0'
  7. gem "actionpack-xml_parser"
  8. gem 'roadie-rails', '~> 3.0.0'
  9. gem 'marcel'
  10. gem "mail", "~> 2.7.1"
  11. gem 'nokogiri', '~> 1.14.0'
  12. gem 'i18n', '~> 1.12.0'
  13. gem "rbpdf", "~> 1.20.0"
  14. gem 'addressable'
  15. gem 'rubyzip', '~> 2.3.0'
  16. # Ruby Standard Gems
  17. gem 'csv', '~> 3.2.6'
  18. gem 'net-imap', '~> 0.3.4'
  19. gem 'net-pop', '~> 0.1.2'
  20. gem 'net-smtp', '~> 0.3.3'
  21. gem 'rexml', require: false if Gem.ruby_version >= Gem::Version.new('3.0')
  22. # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
  23. gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
  24. # TOTP-based 2-factor authentication
  25. gem 'rotp', '>= 5.0.0'
  26. gem 'rqrcode'
  27. # HTML pipeline and sanitization
  28. gem "html-pipeline", "~> 2.13.2"
  29. gem "sanitize", "~> 6.0"
  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.12.0'
  37. end
  38. # Optional Markdown support
  39. group :markdown do
  40. gem 'redcarpet', '~> 3.6.0'
  41. end
  42. # Optional CommonMark support, not for JRuby
  43. group :common_mark do
  44. gem "commonmarker", '~> 0.23.6'
  45. gem 'deckar01-task_list', '2.3.2'
  46. end
  47. # Include database gems for the adapters found in the database
  48. # configuration file
  49. require 'erb'
  50. require 'yaml'
  51. database_file = File.join(File.dirname(__FILE__), "config/database.yml")
  52. if File.exist?(database_file)
  53. yaml_config = ERB.new(IO.read(database_file)).result
  54. database_config = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(yaml_config) : YAML.load(yaml_config)
  55. adapters = database_config.values.filter_map {|c| c['adapter']}.uniq
  56. if adapters.any?
  57. adapters.each do |adapter|
  58. case adapter
  59. when 'mysql2'
  60. gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
  61. when /postgresql/
  62. gem "pg", "~> 1.4.2", :platforms => [:mri, :mingw, :x64_mingw]
  63. when /sqlite3/
  64. gem 'sqlite3', '~> 1.6.0', :platforms => [:mri, :mingw, :x64_mingw]
  65. when /sqlserver/
  66. gem "tiny_tds", "~> 2.1.2", :platforms => [:mri, :mingw, :x64_mingw]
  67. gem "activerecord-sqlserver-adapter", "~> 6.1.0", :platforms => [:mri, :mingw, :x64_mingw]
  68. else
  69. warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
  70. end
  71. end
  72. else
  73. warn("No adapter found in config/database.yml, please configure it first")
  74. end
  75. else
  76. warn("Please configure your config/database.yml first")
  77. end
  78. group :development do
  79. gem 'listen', '~> 3.3'
  80. gem "yard"
  81. end
  82. group :test do
  83. gem "rails-dom-testing"
  84. gem 'mocha', '>= 1.4.0'
  85. gem 'simplecov', '~> 0.22.0', :require => false
  86. gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
  87. # For running system tests
  88. gem 'puma'
  89. gem 'capybara', '~> 3.38.0'
  90. gem "selenium-webdriver", "~> 3.142.7"
  91. gem 'webdrivers', '4.6.1', require: false
  92. # RuboCop
  93. gem 'rubocop', '~> 1.44.0'
  94. gem 'rubocop-performance', '~> 1.15.0'
  95. gem 'rubocop-rails', '~> 2.17.2'
  96. end
  97. local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
  98. if File.exist?(local_gemfile)
  99. eval_gemfile local_gemfile
  100. end
  101. # Load plugins' Gemfiles
  102. Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
  103. eval_gemfile file
  104. end