Gemfile 5.04 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.1.3"
Florian Unglaub's avatar
Florian Unglaub committed
27 28 29
gem 'omniauth-google-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-github'
30
gem 'omniauth-shibboleth'
Valery Sizov's avatar
Valery Sizov committed
31
gem 'omniauth-kerberos'
32
gem 'omniauth-gitlab'
Douwe Maan's avatar
Douwe Maan committed
33
gem 'omniauth-bitbucket'
Valery Sizov's avatar
Valery Sizov committed
34
gem 'doorkeeper', '2.1.3'
Valery Sizov's avatar
Valery Sizov committed
35
gem "rack-oauth2", "~> 1.0.5"
36

37 38 39
# Browser detection
gem "browser"

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

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
44
# Ruby/Rack Git Smart-HTTP Server Handler
45
gem 'gitlab-grack', '~> 2.0.0.rc2', require: 'grack'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
46

47
# LDAP Auth
Douwe Maan's avatar
Douwe Maan committed
48
gem 'gitlab_omniauth-ldap', '1.2.1', require: "omniauth-ldap"
49

50
# Git Wiki
Valery Sizov's avatar
Valery Sizov committed
51
gem 'gollum-lib', '~> 4.0.2'
52

53
# Language detection
Valery Sizov's avatar
Valery Sizov committed
54
gem "gitlab-linguist", "~> 3.0.1", require: "linguist"
55

randx's avatar
randx committed
56
# API
Jeroen van Baarsen's avatar
Jeroen van Baarsen committed
57
gem "grape", "~> 0.6.1"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
58
gem "grape-entity", "~> 0.4.2"
59
gem 'rack-cors', require: 'rack/cors'
randx's avatar
randx committed
60 61 62

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

Andrew8xx8's avatar
Andrew8xx8 committed
65 66 67
# Enumeration fields
gem 'enumerize'

randx's avatar
randx committed
68
# Pagination
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
69
gem "kaminari", "~> 0.15.1"
randx's avatar
randx committed
70 71

# HAML
72
gem "haml-rails"
randx's avatar
randx committed
73 74

# Files attachments
75
gem "carrierwave"
76

77 78 79
# Drag and Drop UI
gem 'dropzonejs-rails'

80
# for aws storage
81 82
gem "fog", "~> 1.14"
gem "unf"
randx's avatar
randx committed
83 84

# Authorization
85
gem "six"
randx's avatar
randx committed
86 87

# Seed data
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
88
gem "seed-fu"
randx's avatar
randx committed
89

90
# Markup pipeline for GitLab
91
gem 'html-pipeline-gitlab', '~> 0.1'
92

randx's avatar
randx committed
93
# Markdown to HTML
94
gem "github-markup"
Robert Schilling's avatar
Robert Schilling committed
95 96

# Required markup gems by github-markdown
97
gem 'redcarpet', '~> 3.2.3'
Robert Schilling's avatar
Robert Schilling committed
98 99
gem 'RedCloth'
gem 'rdoc', '~>3.6'
Chulki Lee's avatar
Chulki Lee committed
100
gem 'org-ruby', '= 0.9.12'
Robert Schilling's avatar
Robert Schilling committed
101 102 103
gem 'creole', '~>0.3.6'
gem 'wikicloth', '=0.8.1'
gem 'asciidoctor', '= 0.1.4'
randx's avatar
randx committed
104

skv-headless's avatar
skv-headless committed
105 106 107
# Diffs
gem 'diffy', '~> 3.0.3'

108
# Application server
109 110 111 112
group :unicorn do
  gem "unicorn", '~> 4.6.3'
  gem 'unicorn-worker-killer'
end
randx's avatar
randx committed
113

Andrew8xx8's avatar
Andrew8xx8 committed
114 115 116
# State machine
gem "state_machine"

randx's avatar
randx committed
117
# Issue tags
Nihad Abbasov's avatar
Nihad Abbasov committed
118
gem 'acts-as-taggable-on', '~> 3.4'
randx's avatar
randx committed
119 120

# Background jobs
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
121
gem 'slim'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
122
gem 'sinatra', require: nil
Vinnie Okada's avatar
Vinnie Okada committed
123
gem 'sidekiq', '~> 3.3'
Vinnie Okada's avatar
Vinnie Okada committed
124
gem 'sidetiq', '0.6.3'
randx's avatar
randx committed
125 126

# HTTP requests
127
gem "httparty"
randx's avatar
randx committed
128 129

# Colored output to console
130
gem "colored"
randx's avatar
randx committed
131

Riyad Preukschas's avatar
Riyad Preukschas committed
132
# GitLab settings
133
gem 'settingslogic'
Aleksei Kvitinskii's avatar
Aleksei Kvitinskii committed
134

randx's avatar
randx committed
135 136
# Misc
gem "foreman"
Robert Speicher's avatar
Robert Speicher committed
137
gem 'version_sorter'
randx's avatar
randx committed
138

139 140 141
# Cache
gem "redis-rails"

142 143 144
# Campfire integration
gem 'tinder', '~> 1.9.2'

145
# HipChat integration
146
gem "hipchat", "~> 1.4.0"
147

148
# Flowdock integration
149
gem "gitlab-flowdock-git-hook", "~> 0.4.2"
150

151 152 153
# Gemnasium integration
gem "gemnasium-gitlab-service", "~> 0.2"

154
# Slack integration
155
gem "slack-notifier", "~> 1.0.0"
156

Jeremy's avatar
Jeremy committed
157 158 159
# Asana integration
gem 'asana', '~> 0.0.6'

160 161 162
# d3
gem "d3_rails", "~> 3.1.4"

163 164 165
#cal-heatmap
gem "cal-heatmap-rails", "~> 0.0.1"

166 167 168
# underscore-rails
gem "underscore-rails", "~> 1.4.4"

169
# Sanitize user input
170
gem "sanitize", '~> 2.0'
171

Marin Jankovski's avatar
Marin Jankovski committed
172 173 174
# Protect against bruteforcing
gem "rack-attack"

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
175 176 177
# Ace editor
gem 'ace-rails-ap'

178
# Keyboard shortcuts
179 180
gem 'mousetrap-rails'

181 182 183
# Detect and convert string character encoding
gem 'charlock_holmes'

184
gem "sass-rails", '~> 4.0.2'
185 186 187 188 189 190
gem "coffee-rails"
gem "uglifier"
gem 'turbolinks'
gem 'jquery-turbolinks'

gem 'select2-rails'
191
gem 'jquery-atwho-rails', "~> 0.3.3"
192 193
gem "jquery-rails"
gem "jquery-ui-rails"
194
gem "jquery-scrollto-rails"
195
gem "raphael-rails", "~> 2.1.2"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
196
gem 'bootstrap-sass', '~> 3.0'
197
gem "font-awesome-rails", '~> 4.2'
198
gem "gitlab_emoji", "~> 0.1"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
199
gem "gon", '~> 5.0.0'
200
gem 'nprogress-rails'
201
gem 'request_store'
skv's avatar
skv committed
202
gem "virtus"
203
gem 'addressable'
gitlabhq's avatar
gitlabhq committed
204

Nihad Abbasov's avatar
Nihad Abbasov committed
205
group :development do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
206
  gem 'brakeman', require: false
207
  gem "annotate", "~> 2.6.0.beta2"
208
  gem "letter_opener"
Riyad Preukschas's avatar
Riyad Preukschas committed
209
  gem 'quiet_assets', '~> 1.0.1'
210
  gem 'rack-mini-profiler', require: false
211

212 213 214
  # Better errors handler
  gem 'better_errors'
  gem 'binding_of_caller'
215 216 217

  # Docs generator
  gem "sdoc"
218 219 220

  # thin instead webrick
  gem 'thin'
gitlabhq's avatar
gitlabhq committed
221 222 223
end

group :development, :test do
224
  gem 'coveralls', require: false
225
  gem 'rubocop', '0.28.0', require: false
226
  # gem 'rails-dev-tweaks'
227
  gem 'spinach-rails'
228
  gem "rspec-rails", '2.99'
229
  gem "capybara", '~> 2.2.1'
230
  gem "pry-rails"
231
  gem "awesome_print"
232
  gem "database_cleaner"
233
  gem "launchy"
Robert Speicher's avatar
Robert Speicher committed
234
  gem 'factory_girl_rails'
randx's avatar
randx committed
235

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

239 240 241
  # Generate Fake data
  gem "ffaker"

242
  # Guard
randx's avatar
randx committed
243
  gem 'guard-rspec'
Nihad Abbasov's avatar
Nihad Abbasov committed
244
  gem 'guard-spinach'
245 246

  # Notification
247 248 249
  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
  gem 'growl',      require: darwin_only('growl')
  gem 'rb-inotify', require: linux_only('rb-inotify')
250 251

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

Marin Jankovski's avatar
Marin Jankovski committed
254
  gem 'jasmine', '2.0.2'
255

256
  gem "spring", '~> 1.3.1'
Jeroen van Baarsen's avatar
Jeroen van Baarsen committed
257
  gem "spring-commands-rspec", '1.0.4'
258
  gem "spring-commands-spinach", '1.0.0'
259 260
  
  gem "byebug"
gitlabhq's avatar
gitlabhq committed
261 262 263
end

group :test do
264
  gem "simplecov", require: false
Robert Speicher's avatar
Robert Speicher committed
265
  gem "shoulda-matchers", "~> 2.7.0"
266
  gem 'email_spec'
267
  gem "webmock"
Alex Denisov's avatar
Alex Denisov committed
268
  gem 'test_after_commit'
gitlabhq's avatar
gitlabhq committed
269
end
270 271

group :production do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
272
  gem "gitlab_meta", '7.0'
273
end
Jacob Vosmaer's avatar
Jacob Vosmaer committed
274 275

gem "newrelic_rpm"
Valery Sizov's avatar
Valery Sizov committed
276 277

gem 'octokit', '3.7.0'
278
gem "rugments"