Gemfile 7.31 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
Robert Speicher's avatar
Robert Speicher committed
25
gem "devise", '~> 3.5.2'
26
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
gem 'devise-two-factor', '~> 2.0.0'
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
Douwe Maan's avatar
Douwe Maan committed
50
gem "gitlab_git", '~> 7.2.17'
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
80
gem "kaminari", "~> 0.16.3"
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'
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
131 132
gem 'slim', '~> 2.0.2'
gem 'sinatra', '~> 1.4.4', require: nil
133
gem 'sidekiq', '3.3.0'
134
gem 'sidetiq', '~> 0.6.3'
randx's avatar
randx committed
135 136

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

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

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

randx's avatar
randx committed
146
# Misc
147 148

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

150
# Cache
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
190
gem 'ace-rails-ap', '~> 2.0.1'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
191

192
# Keyboard shortcuts
193
gem 'mousetrap-rails', '~> 1.4.6'
194

195
# Detect and convert string character encoding
196
gem 'charlock_holmes', '~> 0.6.9.4'
197

198
gem "sass-rails", '~> 4.0.5'
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'
202
gem 'jquery-turbolinks', '~> 2.0.1'
203

204
gem 'addressable',        '~> 2.3.8'
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'
209
gem 'jquery-atwho-rails', '~> 1.0.0'
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'
214
gem 'raphael-rails',      '~> 2.1.2'
215
gem 'request_store',      '~> 1.2.0'
216
gem 'select2-rails',      '~> 3.5.9'
217
gem 'virtus',             '~> 1.0.1'
gitlabhq's avatar
gitlabhq committed
218

Nihad Abbasov's avatar
Nihad Abbasov committed
219
group :development do
220
  gem "foreman"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
221
  gem 'brakeman', '3.0.1', require: false
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
230 231
  gem 'better_errors', '~> 1.0.1'
  gem 'binding_of_caller', '~> 0.7.2'
232 233

  # Docs generator
234
  gem "sdoc", '~> 0.3.20'
235 236

  # thin instead webrick
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'

244 245 246
  gem 'awesome_print', '~> 1.2.0'
  gem 'fuubar', '~> 2.0.0'

247
  gem 'database_cleaner', '~> 1.4.0'
248
  gem 'factory_girl_rails', '~> 4.3.0'
249
  gem 'rspec-rails',      '~> 3.3.0'
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)
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'
263
  gem 'teaspoon-jasmine', '~> 2.2.0'
264

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'
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
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'
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

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

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

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