Gemfile 7.22 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 'omniauth_crowd'
Valery Sizov's avatar
Valery Sizov committed
38
gem "rack-oauth2", "~> 1.0.5"
39

40
# Two-factor authentication
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
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"
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
74
gem "stamp", '~> 0.5.0'
randx's avatar
randx committed
75

Andrew8xx8's avatar
Andrew8xx8 committed
76
# Enumeration fields
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
83
gem "haml-rails", '~> 0.5.3'
randx's avatar
randx committed
84 85

# Files attachments
86
gem "carrierwave", '~> 0.9.0'
87

88
# Drag and Drop UI
89
gem 'dropzonejs-rails', '~> 0.7.1'
90

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

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

# Seed data
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'
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'
106
gem 'RedCloth',      '~> 4.2.9'
Robert Speicher's avatar
Robert Speicher committed
107
gem 'rdoc',          '~>3.6'
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
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
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
129 130
gem 'slim', '~> 2.0.2'
gem 'sinatra', '~> 1.4.4', require: nil
131
gem 'sidekiq', '3.3.0'
132
gem 'sidetiq', '~> 0.6.3'
randx's avatar
randx committed
133 134

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

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

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

randx's avatar
randx committed
144
# Misc
145 146

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

148
# Cache
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
Jared Szechy's avatar
Jared Szechy committed
170
gem 'ruby-fogbugz', '~> 0.2.1'
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
188
gem 'ace-rails-ap', '~> 2.0.1'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
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'
Robert Speicher's avatar
Robert Speicher committed
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', '3.0.1', 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'
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

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

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

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