Read about our upcoming Code of Conduct on this issue

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

Douwe Maan's avatar
Douwe Maan committed
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"

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
20
# Supported DBs
Douwe Maan's avatar
Douwe Maan committed
21
22
gem "mysql2", '~> 0.3.16', group: :mysql
gem "pg", '~> 0.18.2', group: :postgres
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
23

karen Carias's avatar
karen Carias committed
24
# Authentication libraries
Robert Speicher's avatar
Robert Speicher committed
25
gem "devise", '~> 3.5.2'
Douwe Maan's avatar
Douwe Maan committed
26
gem "devise-async", '~> 0.9.0'
27
gem 'omniauth', "~> 1.2.2"
Douwe Maan's avatar
Douwe Maan committed
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'
Robert Speicher's avatar
Robert Speicher committed
35
gem 'omniauth-saml', '~> 1.4.0'
Douwe Maan's avatar
Douwe Maan committed
36
gem 'doorkeeper', '~> 2.1.3'
Valery Sizov's avatar
Valery Sizov committed
37
gem 'omniauth_crowd'
Valery Sizov's avatar
Valery Sizov committed
38
gem "rack-oauth2", "~> 1.0.5"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
39

40
# Two-factor authentication
41
gem 'devise-two-factor', '~> 2.0.0'
Douwe Maan's avatar
Douwe Maan committed
42
43
gem 'rqrcode-rails3', '~> 0.1.7'
gem 'attr_encrypted', '~> 1.3.4'
44

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

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
48
# Extracting information from a git repository
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
49
# Provide access to Gitlab::Git library
50
gem "gitlab_git", '~> 7.2.15'
51

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

57
# Git Wiki
Valery Sizov's avatar
Valery Sizov committed
58
gem 'gollum-lib', '~> 4.0.2'
59

60
# Language detection
Yorick Peterse's avatar
Yorick Peterse committed
61
62
63
# 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
64
# 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
65
gem "gitlab-linguist", "~> 3.0.1", require: "linguist"
66

randx's avatar
randx committed
67
# API
Jeroen van Baarsen's avatar
Jeroen van Baarsen committed
68
gem "grape", "~> 0.6.1"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
69
gem "grape-entity", "~> 0.4.2"
Douwe Maan's avatar
Douwe Maan committed
70
gem 'rack-cors', '~> 0.2.9', require: 'rack/cors'
randx's avatar
randx committed
71
72
73

# Format dates and times
# based on human-friendly examples
Douwe Maan's avatar
Douwe Maan committed
74
gem "stamp", '~> 0.5.0'
randx's avatar
randx committed
75

Andrew8xx8's avatar
Andrew8xx8 committed
76
# Enumeration fields
Douwe Maan's avatar
Douwe Maan committed
77
gem 'enumerize', '~> 0.7.0'
Andrew8xx8's avatar
Andrew8xx8 committed
78

randx's avatar
randx committed
79
# Pagination
80
gem "kaminari", "~> 0.16.3"
randx's avatar
randx committed
81
82

# HAML
Douwe Maan's avatar
Douwe Maan committed
83
gem "haml-rails", '~> 0.5.3'
randx's avatar
randx committed
84
85

# Files attachments
Douwe Maan's avatar
Douwe Maan committed
86
gem "carrierwave", '~> 0.9.0'
87

88
# Drag and Drop UI
Douwe Maan's avatar
Douwe Maan committed
89
gem 'dropzonejs-rails', '~> 0.7.1'
90

91
# for aws storage
92
gem "fog", "~> 1.25.0"
Douwe Maan's avatar
Douwe Maan committed
93
gem "unf", '~> 0.1.4'
randx's avatar
randx committed
94
95

# Authorization
Douwe Maan's avatar
Douwe Maan committed
96
gem "six", '~> 0.2.0'
randx's avatar
randx committed
97
98

# Seed data
Douwe Maan's avatar
Douwe Maan committed
99
gem "seed-fu", '~> 2.3.5'
randx's avatar
randx committed
100

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

skv-headless's avatar
skv-headless committed
113
114
115
# Diffs
gem 'diffy', '~> 3.0.3'

116
# Application server
117
group :unicorn do
Douwe Maan's avatar
Douwe Maan committed
118
119
  gem "unicorn", '~> 4.8.2'
  gem 'unicorn-worker-killer', '~> 0.4.2'
120
end
randx's avatar
randx committed
121

Andrew8xx8's avatar
Andrew8xx8 committed
122
# State machine
Douwe Maan's avatar
Douwe Maan committed
123
gem "state_machine", '~> 1.2.0'
124
125
# Run events after state machine commits
gem 'after_commit_queue'
Andrew8xx8's avatar
Andrew8xx8 committed
126

randx's avatar
randx committed
127
# Issue tags
Nihad Abbasov's avatar
Nihad Abbasov committed
128
gem 'acts-as-taggable-on', '~> 3.4'
randx's avatar
randx committed
129
130

# Background jobs
Douwe Maan's avatar
Douwe Maan committed
131
132
gem 'slim', '~> 2.0.2'
gem 'sinatra', '~> 1.4.4', require: nil
133
gem 'sidekiq', '3.3.0'
Douwe Maan's avatar
Douwe Maan committed
134
gem 'sidetiq', '~> 0.6.3'
randx's avatar
randx committed
135
136

# HTTP requests
Douwe Maan's avatar
Douwe Maan committed
137
gem "httparty", '~> 0.13.3'
randx's avatar
randx committed
138
139

# Colored output to console
Douwe Maan's avatar
Douwe Maan committed
140
gem "colored", '~> 1.2'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
141
gem "colorize", '~> 0.5.8'
randx's avatar
randx committed
142

Riyad Preukschas's avatar
Riyad Preukschas committed
143
# GitLab settings
Douwe Maan's avatar
Douwe Maan committed
144
gem 'settingslogic', '~> 2.0.9'
Aleksei Kvitinskii's avatar
Aleksei Kvitinskii committed
145

randx's avatar
randx committed
146
# Misc
Douwe Maan's avatar
Douwe Maan committed
147
148

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

150
# Cache
Douwe Maan's avatar
Douwe Maan committed
151
gem "redis-rails", '~> 4.0.0'
152

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

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

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

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

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

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

Jared Szechy's avatar
Jared Szechy committed
171
# FogBugz integration
Jared Szechy's avatar
Jared Szechy committed
172
gem 'ruby-fogbugz', '~> 0.2.1'
Jared Szechy's avatar
Jared Szechy committed
173

174
# d3
Robert Speicher's avatar
Robert Speicher committed
175
gem 'd3_rails', '~> 3.5.5'
176

177
178
179
#cal-heatmap
gem "cal-heatmap-rails", "~> 0.0.1"

180
181
182
# underscore-rails
gem "underscore-rails", "~> 1.4.4"

183
# Sanitize user input
184
gem "sanitize", '~> 2.0'
185

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

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
189
# Ace editor
Douwe Maan's avatar
Douwe Maan committed
190
gem 'ace-rails-ap', '~> 2.0.1'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
191

192
# Keyboard shortcuts
Douwe Maan's avatar
Douwe Maan committed
193
gem 'mousetrap-rails', '~> 1.4.6'
194

195
# Detect and convert string character encoding
Douwe Maan's avatar
Douwe Maan committed
196
gem 'charlock_holmes', '~> 0.6.9.4'
197

198
gem "sass-rails", '~> 4.0.5'
Douwe Maan's avatar
Douwe Maan committed
199
200
gem "coffee-rails", '~> 4.1.0'
gem "uglifier", '~> 2.3.2'
Robert Speicher's avatar
Robert Speicher committed
201
gem 'turbolinks', '~> 2.5.0'
Douwe Maan's avatar
Douwe Maan committed
202
gem 'jquery-turbolinks', '~> 2.0.1'
203

Douwe Maan's avatar
Douwe Maan committed
204
gem 'addressable',        '~> 2.3.8'
Robert Speicher's avatar
Robert Speicher committed
205
206
207
208
gem 'bootstrap-sass',     '~> 3.0'
gem 'font-awesome-rails', '~> 4.2'
gem 'gitlab_emoji',       '~> 0.1'
gem 'gon',                '~> 5.0.0'
Robert Speicher's avatar
Robert Speicher committed
209
gem 'jquery-atwho-rails', '~> 1.0.0'
Douwe Maan's avatar
Douwe Maan committed
210
211
212
213
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'
Robert Speicher's avatar
Robert Speicher committed
214
gem 'raphael-rails',      '~> 2.1.2'
Douwe Maan's avatar
Douwe Maan committed
215
gem 'request_store',      '~> 1.2.0'
Robert Speicher's avatar
Robert Speicher committed
216
gem 'select2-rails',      '~> 3.5.9'
Douwe Maan's avatar
Douwe Maan committed
217
gem 'virtus',             '~> 1.0.1'
gitlabhq's avatar
gitlabhq committed
218

Nihad Abbasov's avatar
Nihad Abbasov committed
219
group :development do
Douwe Maan's avatar
Douwe Maan committed
220
  gem "foreman"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
221
  gem 'brakeman', '3.0.1', require: false
Douwe Maan's avatar
Douwe Maan committed
222
223
224
225
226

  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
227
  gem 'rerun', '~> 0.10.0'
228

229
  # Better errors handler
Douwe Maan's avatar
Douwe Maan committed
230
231
  gem 'better_errors', '~> 1.0.1'
  gem 'binding_of_caller', '~> 0.7.2'
232
233

  # Docs generator
Douwe Maan's avatar
Douwe Maan committed
234
  gem "sdoc", '~> 0.3.20'
235
236

  # thin instead webrick
Douwe Maan's avatar
Douwe Maan committed
237
  gem 'thin', '~> 1.6.1'
gitlabhq's avatar
gitlabhq committed
238
239
240
end

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

Douwe Maan's avatar
Douwe Maan committed
244
245
246
  gem 'awesome_print', '~> 1.2.0'
  gem 'fuubar', '~> 2.0.0'

247
  gem 'database_cleaner', '~> 1.4.0'
Douwe Maan's avatar
Douwe Maan committed
248
  gem 'factory_girl_rails', '~> 4.3.0'
249
  gem 'rspec-rails',      '~> 3.3.0'
Douwe Maan's avatar
Douwe Maan committed
250
  gem 'spinach-rails', '~> 0.2.1'
randx's avatar
randx committed
251

252
  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
Douwe Maan's avatar
Douwe Maan committed
253
  gem 'minitest', '~> 5.7.0'
254

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

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

262
  gem 'teaspoon', '~> 1.0.0'
Douwe Maan's avatar
Douwe Maan committed
263
  gem 'teaspoon-jasmine', '~> 2.2.0'
264

Douwe Maan's avatar
Douwe Maan committed
265
266
  gem 'spring', '~> 1.3.6'
  gem 'spring-commands-rspec',    '~> 1.0.4'
267
268
  gem 'spring-commands-spinach',  '~> 1.0.0'
  gem 'spring-commands-teaspoon', '~> 0.0.2'
Douwe Maan's avatar
Douwe Maan committed
269
270
271
272

  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
273
274
275
end

group :test do
Robert Speicher's avatar
Robert Speicher committed
276
  gem 'shoulda-matchers', '~> 2.8.0', require: false
Robert Speicher's avatar
Robert Speicher committed
277
  gem 'email_spec', '~> 1.6.0'
278
  gem 'webmock', '~> 1.21.0'
Douwe Maan's avatar
Douwe Maan committed
279
  gem 'test_after_commit', '~> 0.2.2'
Jared Szechy's avatar
Jared Szechy committed
280
  gem 'sham_rack'
gitlabhq's avatar
gitlabhq committed
281
end
282
283

group :production do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
284
  gem "gitlab_meta", '7.0'
285
end
Jacob Vosmaer's avatar
Jacob Vosmaer committed
286

Douwe Maan's avatar
Douwe Maan committed
287
gem "newrelic_rpm", '~> 3.9.4.245'
Jacob Vosmaer's avatar
Jacob Vosmaer committed
288
gem 'newrelic-grape'
Valery Sizov's avatar
Valery Sizov committed
289

Douwe Maan's avatar
Douwe Maan committed
290
gem 'octokit', '~> 3.7.0'
Douwe Maan's avatar
Douwe Maan committed
291

Douwe Maan's avatar
Douwe Maan committed
292
gem "mail_room", "~> 0.5.2"
Douwe Maan's avatar
Douwe Maan committed
293

Douwe Maan's avatar
Douwe Maan committed
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
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'

# 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