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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. source 'https://rubygems.org'
  2. ruby '>= 3.0.0', '< 3.4.0'
  3. gem 'rails', '7.1.2'
  4. gem 'rouge', '~> 4.2.0'
  5. gem 'mini_mime', '~> 1.1.0'
  6. gem "actionpack-xml_parser"
  7. gem 'roadie-rails', '~> 3.1.0'
  8. gem 'marcel'
  9. gem 'mail', '~> 2.8.1'
  10. gem 'nokogiri', '~> 1.16.0'
  11. gem 'i18n', '~> 1.14.1'
  12. gem 'rbpdf', '~> 1.21.3'
  13. gem 'addressable'
  14. gem 'rubyzip', '~> 2.3.0'
  15. gem 'propshaft', '~> 0.8.0'
  16. # Ruby Standard Gems
  17. gem 'csv', '~> 3.2.8'
  18. gem 'net-imap', '~> 0.4.8'
  19. gem 'net-pop', '~> 0.1.2'
  20. gem 'net-smtp', '~> 0.4.0'
  21. # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
  22. gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
  23. # TOTP-based 2-factor authentication
  24. gem 'rotp', '>= 5.0.0'
  25. gem 'rqrcode'
  26. # HTML pipeline and sanitization
  27. gem "html-pipeline", "~> 2.13.2"
  28. gem "sanitize", "~> 6.0"
  29. # Optional gem for LDAP authentication
  30. group :ldap do
  31. gem 'net-ldap', '~> 0.17.0'
  32. end
  33. # Optional gem for exporting the gantt to a PNG file
  34. group :minimagick do
  35. gem 'mini_magick', '~> 4.12.0'
  36. end
  37. # Optional Markdown support
  38. group :markdown do
  39. gem 'redcarpet', '~> 3.6.0'
  40. end
  41. # Optional CommonMark support, not for JRuby
  42. group :common_mark do
  43. gem "commonmarker", '~> 0.23.8'
  44. gem 'deckar01-task_list', '2.3.2'
  45. end
  46. # Include database gems for the adapters found in the database
  47. # configuration file
  48. require 'erb'
  49. require 'yaml'
  50. database_file = File.join(File.dirname(__FILE__), "config/database.yml")
  51. if File.exist?(database_file)
  52. yaml_config = ERB.new(IO.read(database_file)).result
  53. database_config = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(yaml_config) : YAML.load(yaml_config)
  54. adapters = database_config.values.filter_map {|c| c['adapter']}.uniq
  55. if adapters.any?
  56. adapters.each do |adapter|
  57. case adapter
  58. when 'mysql2'
  59. gem 'mysql2', '~> 0.5.0'
  60. gem "with_advisory_lock"
  61. when /postgresql/
  62. gem 'pg', '~> 1.5.3'
  63. when /sqlite3/
  64. gem 'sqlite3', '~> 1.7.0'
  65. when /sqlserver/
  66. gem 'tiny_tds', '~> 2.1.2'
  67. gem 'activerecord-sqlserver-adapter', '~> 7.1.2'
  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, :test do
  79. gem 'debug'
  80. end
  81. group :development do
  82. gem 'listen', '~> 3.3'
  83. gem 'yard', require: false
  84. end
  85. group :test do
  86. gem "rails-dom-testing"
  87. gem 'mocha', '>= 2.0.1'
  88. gem 'simplecov', '~> 0.22.0', :require => false
  89. gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
  90. # For running system tests
  91. gem 'puma'
  92. gem "capybara", ">= 3.39"
  93. gem 'selenium-webdriver', '>= 4.11.0'
  94. # RuboCop
  95. gem 'rubocop', '~> 1.63.0', require: false
  96. gem 'rubocop-performance', '~> 1.21.0', require: false
  97. gem 'rubocop-rails', '~> 2.24.0', require: false
  98. end
  99. local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
  100. if File.exist?(local_gemfile)
  101. eval_gemfile local_gemfile
  102. end
  103. # Load plugins' Gemfiles
  104. Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
  105. eval_gemfile file
  106. end