Gemfile 4.67 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'
31

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
32
# Extracting information from a git repository
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
33
# Provide access to Gitlab::Git library
34
gem "gitlab_git", '7.0.0.rc12'
35

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
36
# Ruby/Rack Git Smart-HTTP Server Handler
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
37
gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
38

39
# LDAP Auth
40
gem 'gitlab_omniauth-ldap', '1.2.0', require: "omniauth-ldap"
41

42
# Git Wiki
43
gem 'gollum-lib', '~> 3.0.0'
44

45
# Language detection
46
gem "gitlab-linguist", "~> 3.0.0", require: "linguist"
47

randx's avatar
randx committed
48
# API
Jeroen van Baarsen's avatar
Jeroen van Baarsen committed
49
gem "grape", "~> 0.6.1"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
50
gem "grape-entity", "~> 0.4.2"
51
gem 'rack-cors', require: 'rack/cors'
randx's avatar
randx committed
52 53 54

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

Andrew8xx8's avatar
Andrew8xx8 committed
57 58 59
# Enumeration fields
gem 'enumerize'

randx's avatar
randx committed
60
# Pagination
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
61
gem "kaminari", "~> 0.15.1"
randx's avatar
randx committed
62 63

# HAML
64
gem "haml-rails"
randx's avatar
randx committed
65 66

# Files attachments
67
gem "carrierwave"
68

69 70 71
# Drag and Drop UI
gem 'dropzonejs-rails'

72
# for aws storage
73 74
gem "fog", "~> 1.14"
gem "unf"
randx's avatar
randx committed
75 76

# Authorization
77
gem "six"
randx's avatar
randx committed
78 79

# Seed data
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
80
gem "seed-fu"
randx's avatar
randx committed
81

82 83 84
# Markup pipeline for GitLab
gem 'html-pipeline-gitlab', '~> 0.1.0'

randx's avatar
randx committed
85
# Markdown to HTML
86
gem "github-markup"
Robert Schilling's avatar
Robert Schilling committed
87 88

# Required markup gems by github-markdown
Andrew Kumanyaev's avatar
Andrew Kumanyaev committed
89
gem 'redcarpet', '~> 3.1.2'
Robert Schilling's avatar
Robert Schilling committed
90 91
gem 'RedCloth'
gem 'rdoc', '~>3.6'
Robert Schilling's avatar
Robert Schilling committed
92
gem 'org-ruby', '= 0.9.9'
Robert Schilling's avatar
Robert Schilling committed
93 94 95
gem 'creole', '~>0.3.6'
gem 'wikicloth', '=0.8.1'
gem 'asciidoctor', '= 0.1.4'
randx's avatar
randx committed
96

skv-headless's avatar
skv-headless committed
97 98 99
# Diffs
gem 'diffy', '~> 3.0.3'

100
# Application server
101 102 103 104
group :unicorn do
  gem "unicorn", '~> 4.6.3'
  gem 'unicorn-worker-killer'
end
randx's avatar
randx committed
105

Andrew8xx8's avatar
Andrew8xx8 committed
106 107 108
# State machine
gem "state_machine"

randx's avatar
randx committed
109
# Issue tags
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
110
gem "acts-as-taggable-on"
randx's avatar
randx committed
111 112

# Background jobs
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
113
gem 'slim'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
114
gem 'sinatra', require: nil
Jacob Vosmaer's avatar
Jacob Vosmaer committed
115
gem 'sidekiq', '2.17.8'
randx's avatar
randx committed
116 117

# HTTP requests
118
gem "httparty"
randx's avatar
randx committed
119 120

# Colored output to console
121
gem "colored"
randx's avatar
randx committed
122

Riyad Preukschas's avatar
Riyad Preukschas committed
123
# GitLab settings
124
gem 'settingslogic'
Aleksei Kvitinskii's avatar
Aleksei Kvitinskii committed
125

randx's avatar
randx committed
126 127
# Misc
gem "foreman"
Robert Speicher's avatar
Robert Speicher committed
128
gem 'version_sorter'
randx's avatar
randx committed
129

130 131 132
# Cache
gem "redis-rails"

133 134 135
# Campfire integration
gem 'tinder', '~> 1.9.2'

136
# HipChat integration
137
gem "hipchat", "~> 1.4.0"
138

139
# Flowdock integration
140
gem "gitlab-flowdock-git-hook", "~> 0.4.2"
141

142 143 144
# Gemnasium integration
gem "gemnasium-gitlab-service", "~> 0.2"

145
# Slack integration
146
gem "slack-notifier", "~> 1.0.0"
147

148 149 150 151 152 153
# d3
gem "d3_rails", "~> 3.1.4"

# underscore-rails
gem "underscore-rails", "~> 1.4.4"

154
# Sanitize user input
155
gem "sanitize", '~> 2.0'
156

Marin Jankovski's avatar
Marin Jankovski committed
157 158 159
# Protect against bruteforcing
gem "rack-attack"

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
160 161 162
# Ace editor
gem 'ace-rails-ap'

163
# Keyboard shortcuts
164 165
gem 'mousetrap-rails'

Job van der Voort's avatar
Job van der Voort committed
166 167 168
# Semantic UI Sass for Sidebar
gem 'semantic-ui-sass', '~> 0.16.1.0'

169
gem "sass-rails", '~> 4.0.2'
170 171 172 173 174 175 176
gem "coffee-rails"
gem "uglifier"
gem "therubyracer"
gem 'turbolinks'
gem 'jquery-turbolinks'

gem 'select2-rails'
177
gem 'jquery-atwho-rails', "~> 0.3.3"
178 179
gem "jquery-rails"
gem "jquery-ui-rails"
180
gem "jquery-scrollto-rails"
181
gem "raphael-rails", "~> 2.1.2"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
182
gem 'bootstrap-sass', '~> 3.0'
183
gem "font-awesome-rails", '~> 4.2'
Marin Jankovski's avatar
Marin Jankovski committed
184
gem "gitlab_emoji", "~> 0.0.1.1"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
185
gem "gon", '~> 5.0.0'
186
gem 'nprogress-rails'
187
gem 'request_store'
skv's avatar
skv committed
188
gem "virtus"
189
gem 'addressable'
gitlabhq's avatar
gitlabhq committed
190

Nihad Abbasov's avatar
Nihad Abbasov committed
191
group :development do
192
  gem "annotate", "~> 2.6.0.beta2"
193
  gem "letter_opener"
Riyad Preukschas's avatar
Riyad Preukschas committed
194
  gem 'quiet_assets', '~> 1.0.1'
195
  gem 'rack-mini-profiler', require: false
196

197 198 199
  # Better errors handler
  gem 'better_errors'
  gem 'binding_of_caller'
200

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
201 202
  gem 'rails_best_practices'

203 204
  # Docs generator
  gem "sdoc"
205 206 207

  # thin instead webrick
  gem 'thin'
gitlabhq's avatar
gitlabhq committed
208 209 210
end

group :development, :test do
211
  gem 'coveralls', require: false
212
  # gem 'rails-dev-tweaks'
213 214
  gem 'spinach-rails'
  gem "rspec-rails"
215
  gem "capybara", '~> 2.2.1'
Saito's avatar
Saito committed
216
  gem "pry"
217
  gem "awesome_print"
218
  gem "database_cleaner"
219
  gem "launchy"
Robert Speicher's avatar
Robert Speicher committed
220
  gem 'factory_girl_rails'
randx's avatar
randx committed
221

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

225 226 227
  # Generate Fake data
  gem "ffaker"

228
  # Guard
randx's avatar
randx committed
229
  gem 'guard-rspec'
Nihad Abbasov's avatar
Nihad Abbasov committed
230
  gem 'guard-spinach'
231 232

  # Notification
233 234 235
  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
  gem 'growl',      require: darwin_only('growl')
  gem 'rb-inotify', require: linux_only('rb-inotify')
236 237

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

Marin Jankovski's avatar
Marin Jankovski committed
240
  gem 'jasmine', '2.0.2'
241

242
  gem "spring", '1.1.3'
243 244
  gem "spring-commands-rspec", '1.0.1'
  gem "spring-commands-spinach", '1.0.0'
gitlabhq's avatar
gitlabhq committed
245 246 247
end

group :test do
248
  gem "simplecov", require: false
249
  gem "shoulda-matchers", "~> 2.1.0"
250
  gem 'email_spec'
251
  gem "webmock"
Alex Denisov's avatar
Alex Denisov committed
252
  gem 'test_after_commit'
gitlabhq's avatar
gitlabhq committed
253
end
254 255

group :production do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
256
  gem "gitlab_meta", '7.0'
257
end
Jacob Vosmaer's avatar
Jacob Vosmaer committed
258 259

gem "newrelic_rpm"