Gemfile 7.22 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
Douwe Maan's avatar
Douwe Maan committed
25
26
gem "devise", '~> 3.2.4'
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
Douwe Maan's avatar
Douwe Maan committed
41
42
43
gem 'devise-two-factor', '~> 1.0.1'
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'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
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
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
80
gem "kaminari", "~> 0.15.1"
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'
Andrew8xx8's avatar
Andrew8xx8 committed
124

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

# Background jobs
Douwe Maan's avatar
Douwe Maan committed
129
130
gem 'slim', '~> 2.0.2'
gem 'sinatra', '~> 1.4.4', require: nil
Vinnie Okada's avatar
Vinnie Okada committed
131
gem 'sidekiq', '~> 3.3'
Douwe Maan's avatar
Douwe Maan committed
132
gem 'sidetiq', '~> 0.6.3'
randx's avatar
randx committed
133
134

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

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

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

randx's avatar
randx committed
144
# Misc
Douwe Maan's avatar
Douwe Maan committed
145
146

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

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

151
152
153
# Campfire integration
gem 'tinder', '~> 1.9.2'

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

157
# Flowdock integration
158
gem "gitlab-flowdock-git-hook", "~> 1.0.1"
159

160
161
162
# Gemnasium integration
gem "gemnasium-gitlab-service", "~> 0.2"

163
# Slack integration
164
gem "slack-notifier", "~> 1.0.0"
165

Jeremy's avatar
Jeremy committed
166
167
168
# Asana integration
gem 'asana', '~> 0.0.6'

Jared Szechy's avatar
Jared Szechy committed
169
# FogBugz integration
170
gem 'ruby-fogbugz', '~> 0.2.0'
Jared Szechy's avatar
Jared Szechy committed
171

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

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

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

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

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

Douwe Maan's avatar
Douwe Maan committed
202
gem 'addressable',        '~> 2.3.8'
Robert Speicher's avatar
Robert Speicher committed
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'
Robert Speicher's avatar
Robert Speicher committed
207
gem 'jquery-atwho-rails', '~> 1.0.0'
Douwe Maan's avatar
Douwe Maan committed
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'
Robert Speicher's avatar
Robert Speicher committed
212
gem 'raphael-rails',      '~> 2.1.2'
Douwe Maan's avatar
Douwe Maan committed
213
gem 'request_store',      '~> 1.2.0'
Robert Speicher's avatar
Robert Speicher committed
214
gem 'select2-rails',      '~> 3.5.9'
Douwe Maan's avatar
Douwe Maan committed
215
gem 'virtus',             '~> 1.0.1'
gitlabhq's avatar
gitlabhq committed
216

Nihad Abbasov's avatar
Nihad Abbasov committed
217
group :development do
Douwe Maan's avatar
Douwe Maan committed
218
  gem "foreman"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
219
  gem 'brakeman', '3.0.1', require: false
Douwe Maan's avatar
Douwe Maan committed
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
Douwe Maan's avatar
Douwe Maan committed
228
229
  gem 'better_errors', '~> 1.0.1'
  gem 'binding_of_caller', '~> 0.7.2'
230
231

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

  # thin instead webrick
Douwe Maan's avatar
Douwe Maan committed
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'

Douwe Maan's avatar
Douwe Maan committed
242
243
244
  gem 'awesome_print', '~> 1.2.0'
  gem 'fuubar', '~> 2.0.0'

245
  gem 'database_cleaner', '~> 1.4.0'
Douwe Maan's avatar
Douwe Maan committed
246
  gem 'factory_girl_rails', '~> 4.3.0'
247
  gem 'rspec-rails',      '~> 3.3.0'
Douwe Maan's avatar
Douwe Maan committed
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)
Douwe Maan's avatar
Douwe Maan committed
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'
Douwe Maan's avatar
Douwe Maan committed
261
  gem 'teaspoon-jasmine', '~> 2.2.0'
262

Douwe Maan's avatar
Douwe Maan committed
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'
Douwe Maan's avatar
Douwe Maan committed
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
Robert Speicher's avatar
Robert Speicher committed
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'
Douwe Maan's avatar
Douwe Maan committed
277
  gem 'test_after_commit', '~> 0.2.2'
Jared Szechy's avatar
Jared Szechy committed
278
  gem 'sham_rack'
gitlabhq's avatar
gitlabhq committed
279
end
280
281

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

Douwe Maan's avatar
Douwe Maan committed
285
gem "newrelic_rpm", '~> 3.9.4.245'
Valery Sizov's avatar
Valery Sizov committed
286

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

289
gem "mail_room", "~> 0.4.2"
Douwe Maan's avatar
Douwe Maan committed
290

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