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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. source 'https://rubygems.org'
  2. ruby '>= 3.0.0', '< 3.4.0'
  3. gem 'rails', '7.1.2'
  4. gem 'rouge', '~> 4.2'
  5. gem 'mini_mime', '~> 1.1.0'
  6. gem "actionpack-xml_parser"
  7. gem 'roadie-rails', '~> 3.2.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. gem 'rack', '>= 3.1.3'
  17. # Ruby Standard Gems
  18. gem 'csv', '~> 3.2.8'
  19. gem 'net-imap', '~> 0.4.8'
  20. gem 'net-pop', '~> 0.1.2'
  21. gem 'net-smtp', '~> 0.4.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.8'
  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'
  61. gem "with_advisory_lock"
  62. when /postgresql/
  63. gem 'pg', '~> 1.5.3'
  64. when /sqlite3/
  65. gem 'sqlite3', '~> 1.7.0'
  66. when /sqlserver/
  67. gem 'tiny_tds', '~> 2.1.2'
  68. gem 'activerecord-sqlserver-adapter', '~> 7.1.2'
  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, :test do
  80. gem 'debug'
  81. end
  82. group :development do
  83. gem 'listen', '~> 3.3'
  84. gem 'yard', require: false
  85. end
  86. group :test do
  87. gem "rails-dom-testing"
  88. gem 'mocha', '>= 2.0.1'
  89. gem 'simplecov', '~> 0.22.0', :require => false
  90. gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
  91. # For running system tests
  92. gem 'puma'
  93. gem "capybara", ">= 3.39"
  94. gem 'selenium-webdriver', '>= 4.11.0'
  95. # RuboCop
  96. gem 'rubocop', '~> 1.64.0', require: false
  97. gem 'rubocop-performance', '~> 1.21.0', require: false
  98. gem 'rubocop-rails', '~> 2.25.0', require: false
  99. end
  100. local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
  101. if File.exist?(local_gemfile)
  102. eval_gemfile local_gemfile
  103. end
  104. # Load plugins' Gemfiles
  105. Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
  106. eval_gemfile file
  107. end