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

3
gem 'rails', '4.1.11'
4

5 6 7 8
# 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
9 10 11
# Default values for AR models
gem "default_value_for", "~> 3.0.0"

12
# Supported DBs
13 14
gem "mysql2", group: :mysql
gem "pg", group: :postgres
15

karen Carias's avatar
karen Carias committed
16
# Authentication libraries
Marin Jankovski's avatar
Marin Jankovski committed
17 18
gem "devise", '3.2.4'
gem "devise-async", '0.9.0'
19
gem 'omniauth', "~> 1.2.2"
Florian Unglaub's avatar
Florian Unglaub committed
20 21 22
gem 'omniauth-google-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-github'
23
gem 'omniauth-shibboleth'
24
gem 'omniauth-kerberos', group: :kerberos
Valery Sizov's avatar
Valery Sizov committed
25
gem 'omniauth-gitlab'
Douwe Maan's avatar
Douwe Maan committed
26
gem 'omniauth-bitbucket'
27
gem 'omniauth-saml'
Valery Sizov's avatar
Valery Sizov committed
28
gem 'doorkeeper', '2.1.3'
Valery Sizov's avatar
Valery Sizov committed
29
gem "rack-oauth2", "~> 1.0.5"
30

31 32 33
# Two-factor authentication
gem 'devise-two-factor'
gem 'rqrcode-rails3'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
34
gem 'attr_encrypted', '1.3.4'
35

36
# Browser detection
37
gem "browser", '~> 0.8.0'
38

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
39
# Extracting information from a git repository
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
40
# Provide access to Gitlab::Git library
Jacob Vosmaer's avatar
Jacob Vosmaer committed
41
gem "gitlab_git", '~> 7.2.5'
42

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
43
# Ruby/Rack Git Smart-HTTP Server Handler
44 45
# 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
46
gem 'gitlab-grack', '~> 2.0.2', require: 'grack'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
47

48
# LDAP Auth
49 50
# GitLab fork with several improvements to original library. For full list of changes 
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
Douwe Maan's avatar
Douwe Maan committed
51
gem 'gitlab_omniauth-ldap', '1.2.1', require: "omniauth-ldap"
52

53
# Git Wiki
Valery Sizov's avatar
Valery Sizov committed
54
gem 'gollum-lib', '~> 4.0.2'
55

56
# Language detection
57
# GitLab fork of linguist does not require pygments/python dependency. 
58 59 60
# New version of original gem also dropped pygments support but it has strict 
# dependency to unstable rugged version. We have internal issue for replacing 
# 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
61
gem "gitlab-linguist", "~> 3.0.1", require: "linguist"
62

randx's avatar
randx committed
63
# API
Jeroen van Baarsen's avatar
Jeroen van Baarsen committed
64
gem "grape", "~> 0.6.1"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
65
gem "grape-entity", "~> 0.4.2"
66
gem 'rack-cors', require: 'rack/cors'
randx's avatar
randx committed
67 68 69

# Format dates and times
# based on human-friendly examples
70
gem "stamp"
randx's avatar
randx committed
71

Andrew8xx8's avatar
Andrew8xx8 committed
72 73 74
# Enumeration fields
gem 'enumerize'

randx's avatar
randx committed
75
# Pagination
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
76
gem "kaminari", "~> 0.15.1"
randx's avatar
randx committed
77 78

# HAML
79
gem "haml-rails"
randx's avatar
randx committed
80 81

# Files attachments
82
gem "carrierwave"
83

84 85 86
# Drag and Drop UI
gem 'dropzonejs-rails'

87
# for aws storage
88
gem "fog", "~> 1.25.0"
89
gem "unf"
randx's avatar
randx committed
90 91

# Authorization
92
gem "six"
randx's avatar
randx committed
93 94

# Seed data
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
95
gem "seed-fu"
randx's avatar
randx committed
96

Robert Speicher's avatar
Robert Speicher committed
97
# Markdown and HTML processing
98
gem 'html-pipeline', '~> 1.11.0'
99
gem 'task_list',     '1.0.2', require: 'task_list/railtie'
Robert Speicher's avatar
Robert Speicher committed
100
gem 'github-markup'
Robert Speicher's avatar
Robert Speicher committed
101
gem 'redcarpet',     '~> 3.3.2'
Robert Schilling's avatar
Robert Schilling committed
102
gem 'RedCloth'
Robert Speicher's avatar
Robert Speicher committed
103 104 105 106
gem 'rdoc',          '~>3.6'
gem 'org-ruby',      '= 0.9.12'
gem 'creole',        '~>0.3.6'
gem 'wikicloth',     '=0.8.1'
107
gem 'asciidoctor',   '~> 1.5.2'
randx's avatar
randx committed
108

skv-headless's avatar
skv-headless committed
109 110 111
# Diffs
gem 'diffy', '~> 3.0.3'

112
# Application server
113 114 115 116
group :unicorn do
  gem "unicorn", '~> 4.6.3'
  gem 'unicorn-worker-killer'
end
randx's avatar
randx committed
117

Andrew8xx8's avatar
Andrew8xx8 committed
118 119 120
# State machine
gem "state_machine"

randx's avatar
randx committed
121
# Issue tags
Nihad Abbasov's avatar
Nihad Abbasov committed
122
gem 'acts-as-taggable-on', '~> 3.4'
randx's avatar
randx committed
123 124

# Background jobs
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
125
gem 'slim'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
126
gem 'sinatra', require: nil
Vinnie Okada's avatar
Vinnie Okada committed
127
gem 'sidekiq', '~> 3.3'
Vinnie Okada's avatar
Vinnie Okada committed
128
gem 'sidetiq', '0.6.3'
randx's avatar
randx committed
129 130

# HTTP requests
131
gem "httparty"
randx's avatar
randx committed
132 133

# Colored output to console
134
gem "colored"
randx's avatar
randx committed
135

Riyad Preukschas's avatar
Riyad Preukschas committed
136
# GitLab settings
137
gem 'settingslogic'
Aleksei Kvitinskii's avatar
Aleksei Kvitinskii committed
138

randx's avatar
randx committed
139 140
# Misc
gem "foreman"
Robert Speicher's avatar
Robert Speicher committed
141
gem 'version_sorter'
randx's avatar
randx committed
142

143 144 145
# Cache
gem "redis-rails"

146 147 148
# Campfire integration
gem 'tinder', '~> 1.9.2'

149
# HipChat integration
Chulki Lee's avatar
Chulki Lee committed
150
gem 'hipchat', '~> 1.5.0'
151

152
# Flowdock integration
153
gem "gitlab-flowdock-git-hook", "~> 0.4.2"
154

155 156 157
# Gemnasium integration
gem "gemnasium-gitlab-service", "~> 0.2"

158
# Slack integration
159
gem "slack-notifier", "~> 1.0.0"
160

Jeremy's avatar
Jeremy committed
161 162 163
# Asana integration
gem 'asana', '~> 0.0.6'

164
# d3
Robert Speicher's avatar
Robert Speicher committed
165
gem 'd3_rails', '~> 3.5.5'
166

167 168 169
#cal-heatmap
gem "cal-heatmap-rails", "~> 0.0.1"

170 171 172
# underscore-rails
gem "underscore-rails", "~> 1.4.4"

173
# Sanitize user input
174
gem "sanitize", '~> 2.0'
175

Marin Jankovski's avatar
Marin Jankovski committed
176
# Protect against bruteforcing
177
gem "rack-attack", '~> 4.3.0'
Marin Jankovski's avatar
Marin Jankovski committed
178

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
179 180 181
# Ace editor
gem 'ace-rails-ap'

182
# Keyboard shortcuts
183 184
gem 'mousetrap-rails'

185 186 187
# Detect and convert string character encoding
gem 'charlock_holmes'

188
gem "sass-rails", '~> 4.0.5'
189 190
gem "coffee-rails"
gem "uglifier"
Robert Speicher's avatar
Robert Speicher committed
191
gem 'turbolinks', '~> 2.5.0'
192 193
gem 'jquery-turbolinks'

194 195 196 197 198
gem 'addressable'
gem 'bootstrap-sass',     '~> 3.0'
gem 'font-awesome-rails', '~> 4.2'
gem 'gitlab_emoji',       '~> 0.1'
gem 'gon',                '~> 5.0.0'
199
gem 'jquery-atwho-rails', '~> 1.0.0'
200
gem 'jquery-rails',       '3.1.3'
201 202
gem 'jquery-scrollto-rails'
gem 'jquery-ui-rails'
203
gem 'nprogress-rails'
204
gem 'raphael-rails',      '~> 2.1.2'
205
gem 'request_store'
206
gem 'select2-rails',      '~> 3.5.9'
207
gem 'virtus'
gitlabhq's avatar
gitlabhq committed
208

Nihad Abbasov's avatar
Nihad Abbasov committed
209
group :development do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
210
  gem 'brakeman', require: false
211
  gem "annotate", "~> 2.6.0.beta2"
212
  gem "letter_opener"
Riyad Preukschas's avatar
Riyad Preukschas committed
213
  gem 'quiet_assets', '~> 1.0.1'
214
  gem 'rack-mini-profiler', require: false
215
  gem 'rerun', '~> 0.10.0'
216

217 218 219
  # Better errors handler
  gem 'better_errors'
  gem 'binding_of_caller'
220 221 222

  # Docs generator
  gem "sdoc"
223 224 225

  # thin instead webrick
  gem 'thin'
gitlabhq's avatar
gitlabhq committed
226 227 228
end

group :development, :test do
Robert Speicher's avatar
Robert Speicher committed
229 230
  gem 'awesome_print'
  gem 'byebug'
Robert Speicher's avatar
Robert Speicher committed
231
  gem 'fuubar', '~> 2.0.0'
Robert Speicher's avatar
Robert Speicher committed
232 233
  gem 'pry-rails'

234
  gem 'coveralls', require: false
235
  gem 'database_cleaner', '~> 1.4.0'
Robert Speicher's avatar
Robert Speicher committed
236 237
  gem 'factory_girl_rails'
  gem 'rspec-rails', '~> 3.3.0'
238
  gem 'rubocop', '0.28.0', require: false
239
  gem 'spinach-rails'
randx's avatar
randx committed
240

241 242 243 244 245 246
  # rest-client is a coveralls dependency and not used directly in GitLab, but
  # we specify a version here to pick up some security fixes.
  # See https://github.com/rest-client/rest-client/issues/369
  # and http://www.osvdb.org/show/osvdb/117461
  gem 'rest-client', '~> 1.8.0'

247
  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
Marin Jankovski's avatar
Marin Jankovski committed
248
  gem 'minitest', '~> 5.3.0'
249

250
  # Generate Fake data
Robert Speicher's avatar
Robert Speicher committed
251
  gem 'ffaker', '~> 2.0.0'
252

Robert Speicher's avatar
Robert Speicher committed
253 254 255
  gem 'capybara',            '~> 2.3.0'
  gem 'capybara-screenshot', '~> 1.0.0'
  gem 'poltergeist',         '~> 1.6.0'
Andrew8xx8's avatar
Andrew8xx8 committed
256

257 258
  gem 'teaspoon', '~> 1.0.0'
  gem 'teaspoon-jasmine'
259

260 261 262 263
  gem 'spring', '~> 1.3.1'
  gem 'spring-commands-rspec',    '~> 1.0.0'
  gem 'spring-commands-spinach',  '~> 1.0.0'
  gem 'spring-commands-teaspoon', '~> 0.0.2'
gitlabhq's avatar
gitlabhq committed
264 265 266
end

group :test do
267
  gem 'simplecov', require: false
268
  gem 'shoulda-matchers', '~> 2.8.0', require: false
Robert Speicher's avatar
Robert Speicher committed
269
  gem 'email_spec', '~> 1.6.0'
270
  gem 'webmock', '~> 1.21.0'
Alex Denisov's avatar
Alex Denisov committed
271
  gem 'test_after_commit'
gitlabhq's avatar
gitlabhq committed
272
end
273 274

group :production do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
275
  gem "gitlab_meta", '7.0'
276
end
Jacob Vosmaer's avatar
Jacob Vosmaer committed
277 278

gem "newrelic_rpm"
Valery Sizov's avatar
Valery Sizov committed
279 280

gem 'octokit', '3.7.0'
281
gem "rugments", "~> 1.0.0.beta8"