File: Gemfile

package info (click to toggle)
redmine 6.0.5%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 20,952 kB
  • sloc: ruby: 116,216; javascript: 12,887; sh: 469; perl: 303; python: 179; makefile: 30
file content (139 lines) | stat: -rw-r--r-- 3,767 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
source 'https://rubygems.org'

ruby '>= 3.1.0', '< 3.4.0'

gem 'rails', '~> 7.2'
gem 'rouge', '~> 4.5'
gem 'mini_mime', '~> 1.1.0'
gem "actionpack-xml_parser"
gem 'roadie-rails', '~> 3.3.0'
gem 'marcel'
gem 'mail', '~> 2.8.1'
gem 'nokogiri', '~> 1.18'
gem 'i18n', '~> 1.14.1'
gem 'rbpdf', '~> 1.21.3'
gem 'addressable'
gem 'rubyzip', '~> 2.3.0'
gem 'propshaft', '~> 1.1.0'
gem 'rack', '>= 3.1.3'

#  Ruby Standard Gems
gem 'csv', '~> 3.2.2'
gem 'net-imap'
gem 'net-pop'
gem 'net-smtp'

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]

# TOTP-based 2-factor authentication
gem 'rotp', '>= 5.0.0'
gem 'rqrcode'

# HTML pipeline and sanitization
gem "html-pipeline", "~> 2.14.3"
gem "sanitize", ">= 6.0"

# Optional gem for LDAP authentication
group :ldap do
  gem 'net-ldap', '~> 0.19.0'
end

# Optional gem for exporting the gantt to a PNG file
group :minimagick do
  gem 'mini_magick', '~> 5.2.0'
end

# Optional CommonMark support, not for JRuby
group :common_mark do
  gem "commonmarker", '~> 0.23.8'
  gem 'deckar01-task_list', '~> 2.3.2'
end

# Include database gems for the adapters found in the database
# configuration file
seen_adapters = {}
Dir['/usr/share/redmine/{config,instances/*/config}/database.yml'].select do |f|
  File.readable?(f)
end.each do |database_file|
  database_config = File.read(database_file)

  # Requiring libraries in a Gemfile may cause Bundler warnings or
  # unexpected behavior, especially if multiple gem versions are available.
  # So, process database.yml through ERB only if it contains ERB syntax
  # in the adapter setting. See https://www.redmine.org/issues/41749.
  if database_config.match?(/^ *adapter: *<%=/)
    require 'erb'
    database_config = ERB.new(database_config).result
  end

  adapters = database_config.scan(/^ *adapter: *(.*)/).flatten.uniq
  if adapters.any?
    adapters.each do |adapter|
      next if seen_adapters[adapter]
      seen_adapters[adapter] = true
      case adapter.strip
      when /mysql2/
        gem 'mysql2', '~> 0.5.0'
        gem "with_advisory_lock"
      when /postgresql/
        gem 'pg', '~> 1.5.3'
      when /sqlite3/
        gem 'sqlite3', '~> 1.7.0'
      when /sqlserver/
        gem 'tiny_tds', '~> 2.1.2'
        gem 'activerecord-sqlserver-adapter', '~> 7.2.0'
      else
        warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
      end
    end
  else
    warn("No adapter found in config/database.yml, please configure it first")
  end
end

group :development, :test do
  gem 'debug'
end

# Remove the optional gems from the development section.
group :development do
  gem 'listen', '~> 3.3'
  #gem 'yard', require: false
  #gem 'svg_sprite', require: false
end

# TODO.  Work on enabling all these tests.
group :test do
  gem "rails-dom-testing"
  gem 'mocha', '>= 2.0.1'
  gem 'simplecov', '~> 0.22.0', :require => false
  gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
  # For running system tests
  gem 'puma'
  gem "capybara", ">= 3.39"
  gem 'selenium-webdriver', '>= 4.4.0'
  # Currently disable Rubocop in the Debian package.
  # RuboCop
  #gem 'rubocop', '~> 1.68.0', require: false
  #gem 'rubocop-performance', '~> 1.22.0', require: false
  #gem 'rubocop-rails', '~> 2.27.0', require: false
  #gem 'bundle-audit', require: false
end

local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
if File.exist?(local_gemfile)
  eval_gemfile local_gemfile
end

# Load plugins' Gemfiles
Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
  eval_gemfile file
end

# Load thin gem if available
begin
  require 'thin'
  gem 'thin'
rescue LoadError
end