Gemfile 5.7 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
def darwin_only(require_as)
  RUBY_PLATFORM.include?('darwin') && require_as
end

def linux_only(require_as)
  RUBY_PLATFORM.include?('linux') && require_as
end

Marin Jankovski's avatar
Marin Jankovski committed
11
gem "rails", "~> 4.1.0"
12

13 14 15
# Make links from text
gem 'rails_autolink', '~> 1.1'

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
16 17 18
# Default values for AR models
gem "default_value_for", "~> 3.0.0"

19
# Supported DBs
20 21
gem "mysql2", group: :mysql
gem "pg", group: :postgres
22 23

# Auth
Marin Jankovski's avatar
Marin Jankovski committed
24 25
gem "devise", '3.2.4'
gem "devise-async", '0.9.0'
26
gem 'omniauth', "~> 1.2.2"
Florian Unglaub's avatar
Florian Unglaub committed
27 28 29
gem 'omniauth-google-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-github'
30
gem 'omniauth-shibboleth'
31
gem 'omniauth-kerberos', group: :kerberos
32
gem 'omniauth-gitlab'
Douwe Maan's avatar
Douwe Maan committed
33
gem 'omniauth-bitbucket'
34
gem 'omniauth-saml'
Valery Sizov's avatar
Valery Sizov committed
35
gem 'doorkeeper', '2.1.3'
Valery Sizov's avatar
Valery Sizov committed
36
gem "rack-oauth2", "~> 1.0.5"
37

38 39 40
# Two-factor authentication
gem 'devise-two-factor'
gem 'rqrcode-rails3'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
41
gem 'attr_encrypted', '1.3.4'
42

43 44 45
# Browser detection
gem "browser"

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

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
50
# Ruby/Rack Git Smart-HTTP Server Handler
51
gem 'gitlab-grack', '~> 2.0.2', require: 'grack'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
52

53
# LDAP Auth
Douwe Maan's avatar
Douwe Maan committed
54
gem 'gitlab_omniauth-ldap', '1.2.1', require: "omniauth-ldap"
55

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

59
# Language detection
60 61 62 63
# Our 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 
# 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
64
gem "gitlab-linguist", "~> 3.0.1", require: "linguist"
65

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

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

Andrew8xx8's avatar
Andrew8xx8 committed
75 76 77
# Enumeration fields
gem 'enumerize'

randx's avatar
randx committed
78
# Pagination
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
79
gem "kaminari", "~> 0.15.1"
randx's avatar
randx committed
80 81

# HAML
82
gem "haml-rails"
randx's avatar
randx committed
83 84

# Files attachments
85
gem "carrierwave"
86

87 88 89
# Drag and Drop UI
gem 'dropzonejs-rails'

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

# Authorization
95
gem "six"
randx's avatar
randx committed
96 97

# Seed data
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
98
gem "seed-fu"
randx's avatar
randx committed
99

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

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

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

Andrew8xx8's avatar
Andrew8xx8 committed
121 122 123
# State machine
gem "state_machine"

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

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

# HTTP requests
134
gem "httparty"
randx's avatar
randx committed
135 136

# Colored output to console
137
gem "colored"
randx's avatar
randx committed
138

Riyad Preukschas's avatar
Riyad Preukschas committed
139
# GitLab settings
140
gem 'settingslogic'
Aleksei Kvitinskii's avatar
Aleksei Kvitinskii committed
141

randx's avatar
randx committed
142 143
# Misc
gem "foreman"
Robert Speicher's avatar
Robert Speicher committed
144
gem 'version_sorter'
randx's avatar
randx committed
145

146 147 148
# Cache
gem "redis-rails"

149 150 151
# Campfire integration
gem 'tinder', '~> 1.9.2'

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

155
# Flowdock integration
156
gem "gitlab-flowdock-git-hook", "~> 0.4.2"
157

158 159 160
# Gemnasium integration
gem "gemnasium-gitlab-service", "~> 0.2"

161
# Slack integration
162
gem "slack-notifier", "~> 1.0.0"
163

Jeremy's avatar
Jeremy committed
164 165 166
# Asana integration
gem 'asana', '~> 0.0.6'

167
# d3
Robert Speicher's avatar
Robert Speicher committed
168
gem 'd3_rails', '~> 3.5.5'
169

170 171 172
#cal-heatmap
gem "cal-heatmap-rails", "~> 0.0.1"

173 174 175
# underscore-rails
gem "underscore-rails", "~> 1.4.4"

176
# Sanitize user input
177
gem "sanitize", '~> 2.0'
178

Marin Jankovski's avatar
Marin Jankovski committed
179
# Protect against bruteforcing
180
gem "rack-attack", '~> 4.3.0'
Marin Jankovski's avatar
Marin Jankovski committed
181

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
182 183 184
# Ace editor
gem 'ace-rails-ap'

185
# Keyboard shortcuts
186 187
gem 'mousetrap-rails'

188 189 190
# Detect and convert string character encoding
gem 'charlock_holmes'

191
gem "sass-rails", '~> 4.0.2'
192 193
gem "coffee-rails"
gem "uglifier"
Robert Speicher's avatar
Robert Speicher committed
194
gem 'turbolinks', '~> 2.5.0'
195 196 197
gem 'jquery-turbolinks'

gem 'select2-rails'
198
gem 'jquery-atwho-rails', '~> 1.0.0'
199 200
gem "jquery-rails"
gem "jquery-ui-rails"
201
gem "jquery-scrollto-rails"
202
gem "raphael-rails", "~> 2.1.2"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
203
gem 'bootstrap-sass', '~> 3.0'
204
gem "font-awesome-rails", '~> 4.2'
205
gem "gitlab_emoji", "~> 0.1"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
206
gem "gon", '~> 5.0.0'
207
gem 'nprogress-rails'
208
gem 'request_store'
skv's avatar
skv committed
209
gem "virtus"
210
gem 'addressable'
gitlabhq's avatar
gitlabhq committed
211

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

220 221 222
  # Better errors handler
  gem 'better_errors'
  gem 'binding_of_caller'
223 224 225

  # Docs generator
  gem "sdoc"
226 227 228

  # thin instead webrick
  gem 'thin'
gitlabhq's avatar
gitlabhq committed
229 230 231
end

group :development, :test do
232
  gem 'coveralls', require: false
233
  gem 'rubocop', '0.28.0', require: false
234
  gem 'spinach-rails'
235
  gem "rspec-rails", '2.99'
236 237
  gem 'capybara', '~> 2.2.1'
  gem 'capybara-screenshot', '~> 1.0.0'
238
  gem "pry-rails"
239
  gem "awesome_print"
240
  gem "database_cleaner"
Robert Speicher's avatar
Robert Speicher committed
241
  gem 'factory_girl_rails'
randx's avatar
randx committed
242

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

246
  # Generate Fake data
Robert Speicher's avatar
Robert Speicher committed
247
  gem 'ffaker', '~> 2.0.0'
248

249
  # Guard
randx's avatar
randx committed
250
  gem 'guard-rspec'
Nihad Abbasov's avatar
Nihad Abbasov committed
251
  gem 'guard-spinach'
252 253

  # Notification
254 255 256
  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
  gem 'growl',      require: darwin_only('growl')
  gem 'rb-inotify', require: linux_only('rb-inotify')
257 258

  # PhantomJS driver for Capybara
259
  gem 'poltergeist', '~> 1.5.1'
Andrew8xx8's avatar
Andrew8xx8 committed
260

261 262
  gem 'teaspoon', '~> 1.0.0'
  gem 'teaspoon-jasmine'
263

264 265 266 267
  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'
268

269
  gem "byebug"
gitlabhq's avatar
gitlabhq committed
270 271 272
end

group :test do
273
  gem "simplecov", require: false
Robert Speicher's avatar
Robert Speicher committed
274
  gem "shoulda-matchers", "~> 2.7.0"
275
  gem 'email_spec'
276
  gem "webmock"
Alex Denisov's avatar
Alex Denisov committed
277
  gem 'test_after_commit'
gitlabhq's avatar
gitlabhq committed
278
end
279 280

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

gem "newrelic_rpm"
Valery Sizov's avatar
Valery Sizov committed
285 286

gem 'octokit', '3.7.0'
287
gem "rugments", "~> 1.0.0.beta7"