Gemfile 7.4 KB
Newer Older
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
1
source "https://rubygems.org"
gitlabhq's avatar
gitlabhq committed
2

3 4 5 6 7 8 9 10 11
def darwin_only(require_as)
  RUBY_PLATFORM.include?('darwin') && require_as
end

def linux_only(require_as)
  RUBY_PLATFORM.include?('linux') && require_as
end

gem 'rails', '4.1.12'
12

13 14 15 16
# Specify a sprockets version due to security issue
# See https://groups.google.com/forum/#!topic/rubyonrails-security/doAVp0YaTqY
gem 'sprockets', '~> 2.12.3'

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
17 18 19
# Default values for AR models
gem "default_value_for", "~> 3.0.0"

20
# Supported DBs
21 22
gem "mysql2", '~> 0.3.16', group: :mysql
gem "pg", '~> 0.18.2', group: :postgres
23

karen Carias's avatar
karen Carias committed
24
# Authentication libraries
25 26
gem "devise", '~> 3.2.4'
gem "devise-async", '~> 0.9.0'
27
gem 'omniauth', "~> 1.2.2"
28 29 30 31 32 33 34
gem 'omniauth-google-oauth2', '~> 0.2.5'
gem 'omniauth-twitter', '~> 1.0.1'
gem 'omniauth-github', '~> 1.1.1'
gem 'omniauth-shibboleth', '~> 1.1.1'
gem 'omniauth-kerberos', '~> 0.2.0', group: :kerberos
gem 'omniauth-gitlab', '~> 1.0.0'
gem 'omniauth-bitbucket', '~> 0.0.2'
35
gem 'omniauth-saml', '~> 1.4.0'
36
gem 'doorkeeper', '~> 2.1.3'
Valery Sizov's avatar
Valery Sizov committed
37
gem "rack-oauth2", "~> 1.0.5"
38

39
# Two-factor authentication
40 41 42
gem 'devise-two-factor', '~> 1.0.1'
gem 'rqrcode-rails3', '~> 0.1.7'
gem 'attr_encrypted', '~> 1.3.4'
43

44
# Browser detection
45
gem "browser", '~> 1.0.0'
46

47
# Extracting information from a git repository
48
# Provide access to Gitlab::Git library
49
gem "gitlab_git", '~> 7.2.14'
50

51
# Ruby/Rack Git Smart-HTTP Server Handler
52 53
# GitLab fork with a lot of changes (improved thread-safety, better memory usage etc)
# For full list of changes see https://github.com/SaitoWu/grack/compare/master...gitlabhq:master
54
gem 'gitlab-grack', '~> 2.0.2', require: 'grack'
55

56
# LDAP Auth
Yorick Peterse's avatar
Yorick Peterse committed
57
# GitLab fork with several improvements to original library. For full list of changes
58
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
59
gem 'gitlab_omniauth-ldap', '~> 1.2.1', require: "omniauth-ldap"
60

61
# Git Wiki
Valery Sizov's avatar
Valery Sizov committed
62
gem 'gollum-lib', '~> 4.0.2'
63

64
# Language detection
Yorick Peterse's avatar
Yorick Peterse committed
65 66 67
# GitLab fork of linguist does not require pygments/python dependency.
# New version of original gem also dropped pygments support but it has strict
# dependency to unstable rugged version. We have internal issue for replacing
68
# fork with original gem when we meet on same rugged version - https://dev.gitlab.org/gitlab/gitlabhq/issues/2052.
Valery Sizov's avatar
Valery Sizov committed
69
gem "gitlab-linguist", "~> 3.0.1", require: "linguist"
70

randx's avatar
randx committed
71
# API
72
gem "grape", "~> 0.6.1"
73
gem "grape-entity", "~> 0.4.2"
74
gem 'rack-cors', '~> 0.2.9', require: 'rack/cors'
randx's avatar
randx committed
75 76 77

# Format dates and times
# based on human-friendly examples
78
gem "stamp", '~> 0.5.0'
randx's avatar
randx committed
79

Andrew8xx8's avatar
Andrew8xx8 committed
80
# Enumeration fields
81
gem 'enumerize', '~> 0.7.0'
Andrew8xx8's avatar
Andrew8xx8 committed
82

randx's avatar
randx committed
83
# Pagination
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
84
gem "kaminari", "~> 0.15.1"
randx's avatar
randx committed
85 86

# HAML
87
gem "haml-rails", '~> 0.5.3'
randx's avatar
randx committed
88 89

# Files attachments
90
gem "carrierwave", '~> 0.9.0'
91

92
# Drag and Drop UI
93
gem 'dropzonejs-rails', '~> 0.7.1'
94

95
# for aws storage
96
gem "fog", "~> 1.25.0"
97
gem "unf", '~> 0.1.4'
randx's avatar
randx committed
98 99

# Authorization
100
gem "six", '~> 0.2.0'
randx's avatar
randx committed
101 102

# Seed data
103
gem "seed-fu", '~> 2.3.5'
randx's avatar
randx committed
104

Robert Speicher's avatar
Robert Speicher committed
105
# Markdown and HTML processing
106
gem 'html-pipeline', '~> 1.11.0'
107 108
gem 'task_list',     '~> 1.0.2', require: 'task_list/railtie'
gem 'github-markup', '~> 1.3.1'
109
gem 'redcarpet',     '~> 3.3.2'
110
gem 'RedCloth',      '~> 4.2.9'
Robert Speicher's avatar
Robert Speicher committed
111
gem 'rdoc',          '~>3.6'
112
gem 'org-ruby',      '~> 0.9.12'
Robert Speicher's avatar
Robert Speicher committed
113
gem 'creole',        '~>0.3.6'
Valery Sizov's avatar
Valery Sizov committed
114
gem 'wikicloth',     '0.8.1'
115
gem 'asciidoctor',   '~> 1.5.2'
randx's avatar
randx committed
116

skv-headless's avatar
skv-headless committed
117 118 119
# Diffs
gem 'diffy', '~> 3.0.3'

120
# Application server
121
group :unicorn do
122 123
  gem "unicorn", '~> 4.8.2'
  gem 'unicorn-worker-killer', '~> 0.4.2'
124
end
randx's avatar
randx committed
125

Andrew8xx8's avatar
Andrew8xx8 committed
126
# State machine
127
gem "state_machine", '~> 1.2.0'
Andrew8xx8's avatar
Andrew8xx8 committed
128

randx's avatar
randx committed
129
# Issue tags
130
gem 'acts-as-taggable-on', '~> 3.4'
randx's avatar
randx committed
131 132

# Background jobs
133 134
gem 'slim', '~> 2.0.2'
gem 'sinatra', '~> 1.4.4', require: nil
Vinnie Okada's avatar
Vinnie Okada committed
135
gem 'sidekiq', '~> 3.3'
136
gem 'sidetiq', '~> 0.6.3'
randx's avatar
randx committed
137 138

# HTTP requests
139
gem "httparty", '~> 0.13.3'
randx's avatar
randx committed
140 141

# Colored output to console
142
gem "colored", '~> 1.2'
randx's avatar
randx committed
143

Riyad Preukschas's avatar
Riyad Preukschas committed
144
# GitLab settings
145
gem 'settingslogic', '~> 2.0.9'
146

randx's avatar
randx committed
147
# Misc
148 149

gem 'version_sorter', '~> 2.0.0'
randx's avatar
randx committed
150

151
# Cache
152
gem "redis-rails", '~> 4.0.0'
153

154 155 156
# Campfire integration
gem 'tinder', '~> 1.9.2'

157
# HipChat integration
Chulki Lee's avatar
Chulki Lee committed
158
gem 'hipchat', '~> 1.5.0'
159

160
# Flowdock integration
161
gem "gitlab-flowdock-git-hook", "~> 1.0.1"
162

163 164 165
# Gemnasium integration
gem "gemnasium-gitlab-service", "~> 0.2"

166
# Slack integration
167
gem "slack-notifier", "~> 1.0.0"
168

Jeremy's avatar
Jeremy committed
169 170 171
# Asana integration
gem 'asana', '~> 0.0.6'

172
# d3
Robert Speicher's avatar
Robert Speicher committed
173
gem 'd3_rails', '~> 3.5.5'
174

175 176 177
#cal-heatmap
gem "cal-heatmap-rails", "~> 0.0.1"

178 179 180
# underscore-rails
gem "underscore-rails", "~> 1.4.4"

181
# Sanitize user input
182
gem "sanitize", '~> 2.0'
183

Marin Jankovski's avatar
Marin Jankovski committed
184
# Protect against bruteforcing
185
gem "rack-attack", '~> 4.3.0'
Marin Jankovski's avatar
Marin Jankovski committed
186

187
# Ace editor
188
gem 'ace-rails-ap', '~> 2.0.1'
189

190
# Keyboard shortcuts
191
gem 'mousetrap-rails', '~> 1.4.6'
192

193
# Detect and convert string character encoding
194
gem 'charlock_holmes', '~> 0.6.9.4'
195

196
gem "sass-rails", '~> 4.0.5'
197 198
gem "coffee-rails", '~> 4.1.0'
gem "uglifier", '~> 2.3.2'
199
gem 'turbolinks', '~> 2.5.0'
200
gem 'jquery-turbolinks', '~> 2.0.1'
201

202
gem 'addressable',        '~> 2.3.8'
203 204 205 206
gem 'bootstrap-sass',     '~> 3.0'
gem 'font-awesome-rails', '~> 4.2'
gem 'gitlab_emoji',       '~> 0.1'
gem 'gon',                '~> 5.0.0'
207
gem 'jquery-atwho-rails', '~> 1.0.0'
208 209 210 211
gem 'jquery-rails',       '~> 3.1.3'
gem 'jquery-scrollto-rails', '~> 1.4.3'
gem 'jquery-ui-rails',    '~> 4.2.1'
gem 'nprogress-rails',    '~> 0.1.2.3'
212
gem 'raphael-rails',      '~> 2.1.2'
213
gem 'request_store',      '~> 1.2.0'
214
gem 'select2-rails',      '~> 3.5.9'
215
gem 'virtus',             '~> 1.0.1'
gitlabhq's avatar
gitlabhq committed
216

Nihad Abbasov's avatar
Nihad Abbasov committed
217
group :development do
218
  gem "foreman"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
219
  gem 'brakeman', require: false
220 221 222 223 224

  gem "annotate", "~> 2.6.0"
  gem "letter_opener", '~> 1.1.2'
  gem 'quiet_assets', '~> 1.0.2'
  gem 'rack-mini-profiler', '~> 0.9.0', require: false
225
  gem 'rerun', '~> 0.10.0'
226

227
  # Better errors handler
228 229
  gem 'better_errors', '~> 1.0.1'
  gem 'binding_of_caller', '~> 0.7.2'
230 231

  # Docs generator
232
  gem "sdoc", '~> 0.3.20'
233 234

  # thin instead webrick
235
  gem 'thin', '~> 1.6.1'
gitlabhq's avatar
gitlabhq committed
236 237 238
end

group :development, :test do
Yorick Peterse's avatar
Yorick Peterse committed
239
  gem 'byebug', platform: :mri
Robert Speicher's avatar
Robert Speicher committed
240 241
  gem 'pry-rails'

242 243 244
  gem 'awesome_print', '~> 1.2.0'
  gem 'fuubar', '~> 2.0.0'

245
  gem 'database_cleaner', '~> 1.4.0'
246
  gem 'factory_girl_rails', '~> 4.3.0'
247
  gem 'rspec-rails',      '~> 3.3.0'
248
  gem 'spinach-rails', '~> 0.2.1'
randx's avatar
randx committed
249

250
  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
251
  gem 'minitest', '~> 5.7.0'
252

253
  # Generate Fake data
Robert Speicher's avatar
Robert Speicher committed
254
  gem 'ffaker', '~> 2.0.0'
255

Robert Speicher's avatar
Robert Speicher committed
256
  gem 'capybara',            '~> 2.4.0'
Robert Speicher's avatar
Robert Speicher committed
257 258
  gem 'capybara-screenshot', '~> 1.0.0'
  gem 'poltergeist',         '~> 1.6.0'
Andrew8xx8's avatar
Andrew8xx8 committed
259

260
  gem 'teaspoon', '~> 1.0.0'
261
  gem 'teaspoon-jasmine', '~> 2.2.0'
262

263 264
  gem 'spring', '~> 1.3.6'
  gem 'spring-commands-rspec',    '~> 1.0.4'
265 266
  gem 'spring-commands-spinach',  '~> 1.0.0'
  gem 'spring-commands-teaspoon', '~> 0.0.2'
267 268 269 270

  gem 'rubocop',  '~> 0.28.0',  require: false
  gem 'coveralls',  '~> 0.8.2', require: false
  gem 'simplecov', '~> 0.10.0', require: false
gitlabhq's avatar
gitlabhq committed
271 272 273
end

group :test do
274
  gem 'shoulda-matchers', '~> 2.8.0', require: false
Robert Speicher's avatar
Robert Speicher committed
275
  gem 'email_spec', '~> 1.6.0'
276
  gem 'webmock', '~> 1.21.0'
277
  gem 'test_after_commit', '~> 0.2.2'
gitlabhq's avatar
gitlabhq committed
278
end
279 280

group :production do
281
  gem "gitlab_meta", '7.0'
282
end
283

284
gem "newrelic_rpm", '~> 3.9.4.245'
Valery Sizov's avatar
Valery Sizov committed
285

286
gem 'octokit', '~> 3.7.0'
Douwe Maan's avatar
Douwe Maan committed
287

Douwe Maan's avatar
Douwe Maan committed
288
gem "mail_room", "~> 0.4.1"
Douwe Maan's avatar
Douwe Maan committed
289

290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314
gem 'email_reply_parser', '~> 0.5.8'

## CI
gem 'activerecord-deprecated_finders', '~> 1.0.3'
gem 'activerecord-session_store', '~> 0.1.0'
gem "nested_form", '~> 0.3.2'

# Scheduled
gem 'whenever', '~> 0.8.4', require: false

# OAuth
gem 'oauth2', '~> 1.0.0'

gem 'gitlab_ci_meta', '~> 4.0'

# Soft deletion
gem "paranoia", "~> 2.0"

group :development, :test do
  gem 'guard-rspec', '~> 4.2.0'

  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
  gem 'growl',      require: darwin_only('growl')
  gem 'rb-inotify', require: linux_only('rb-inotify')
end