Gemfile 3.88 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

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
11
gem "rails", "3.2.15"
gitlabhq's avatar
gitlabhq committed
12

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

# Auth
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
18
gem "devise", '~> 2.2'
19
gem "devise-async"
20
gem 'omniauth', "~> 1.1.3"
Florian Unglaub's avatar
Florian Unglaub committed
21 22 23
gem 'omniauth-google-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-github'
24

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
25
# Extracting information from a git repository
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
26
# Provide access to Gitlab::Git library
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
27
gem "gitlab_git", "~> 3.1.0"
28

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
29
# Ruby/Rack Git Smart-HTTP Server Handler
30
gem 'gitlab-grack', '~> 1.0.1', require: 'grack'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
31

32
# LDAP Auth
33
gem 'gitlab_omniauth-ldap', '1.0.3', require: "omniauth-ldap"
34

35
# Syntax highlighter
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
36
gem "gitlab-pygments.rb", '~> 0.5.4', require: 'pygments.rb'
37

38
# Git Wiki
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
39
gem "gitlab-gollum-lib", "~> 1.0.2", require: 'gollum-lib'
40

41
# Language detection
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
42
gem "gitlab-linguist", "~> 2.9.5", require: "linguist"
43

randx's avatar
randx committed
44
# API
45 46
gem "grape", "~> 0.4.1"
gem "grape-entity", "~> 0.3.0"
randx's avatar
randx committed
47 48 49

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

Andrew8xx8's avatar
Andrew8xx8 committed
52 53 54
# Enumeration fields
gem 'enumerize'

randx's avatar
randx committed
55
# Pagination
Riyad Preukschas's avatar
Riyad Preukschas committed
56
gem "kaminari", "~> 0.14.1"
randx's avatar
randx committed
57 58

# HAML
59
gem "haml-rails"
randx's avatar
randx committed
60 61

# Files attachments
62
gem "carrierwave"
63

64
# for aws storage
65
gem "fog", "~> 1.3.1", group: :aws
randx's avatar
randx committed
66 67

# Authorization
68
gem "six"
randx's avatar
randx committed
69 70

# Seed data
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
71
gem "seed-fu"
randx's avatar
randx committed
72 73

# Markdown to HTML
Riyad Preukschas's avatar
Riyad Preukschas committed
74
gem "redcarpet",     "~> 2.2.2"
75
gem "github-markup", "~> 0.7.4", require: 'github/markup'
randx's avatar
randx committed
76

Manuel Mendez's avatar
Manuel Mendez committed
77 78 79
# Asciidoc to HTML
gem  "asciidoctor"

80
# Application server
81
gem "unicorn", '~> 4.6.3', group: :unicorn
randx's avatar
randx committed
82

Andrew8xx8's avatar
Andrew8xx8 committed
83 84 85
# State machine
gem "state_machine"

randx's avatar
randx committed
86
# Issue tags
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
87
gem "acts-as-taggable-on"
randx's avatar
randx committed
88 89

# Background jobs
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
90
gem 'slim'
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
91
gem 'sinatra', require: nil
92
gem 'sidekiq'
randx's avatar
randx committed
93 94

# HTTP requests
95
gem "httparty"
randx's avatar
randx committed
96 97

# Colored output to console
98
gem "colored"
randx's avatar
randx committed
99

Riyad Preukschas's avatar
Riyad Preukschas committed
100
# GitLab settings
101
gem 'settingslogic'
Aleksei Kvitinskii's avatar
Aleksei Kvitinskii committed
102

randx's avatar
randx committed
103 104 105
# Misc
gem "foreman"

106 107 108
# Cache
gem "redis-rails"

109 110 111
# Campfire integration
gem 'tinder', '~> 1.9.2'

112 113 114
# HipChat integration
gem "hipchat", "~> 0.9.0"

115
# Flowdock integration
116
gem "gitlab-flowdock-git-hook", "~> 0.4.2"
117

118 119 120 121 122 123
# d3
gem "d3_rails", "~> 3.1.4"

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

124 125 126
# Sanitize user input
gem "sanitize"

Marin Jankovski's avatar
Marin Jankovski committed
127 128 129
# Protect against bruteforcing
gem "rack-attack"

gitlabhq's avatar
gitlabhq committed
130
group :assets do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
131 132 133
  gem "sass-rails"
  gem "coffee-rails"
  gem "uglifier"
Nihad Abbasov's avatar
Nihad Abbasov committed
134
  gem "therubyracer"
135 136
  gem 'turbolinks'
  gem 'jquery-turbolinks'
137

138
  gem 'chosen-rails',     "1.0.0"
139
  gem 'select2-rails'
140
  gem 'jquery-atwho-rails', "0.3.0"
Riyad Preukschas's avatar
Riyad Preukschas committed
141 142 143
  gem "jquery-rails",     "2.1.3"
  gem "jquery-ui-rails",  "2.0.2"
  gem "modernizr",        "2.6.2"
144
  gem "raphael-rails", "~> 2.1.2"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
145
  gem 'bootstrap-sass'
146
  gem "font-awesome-rails"
Riyad Preukschas's avatar
Riyad Preukschas committed
147
  gem "gemoji", "~> 1.2.1", require: 'emoji/railtie'
148
  gem "gon"
gitlabhq's avatar
gitlabhq committed
149 150
end

Nihad Abbasov's avatar
Nihad Abbasov committed
151
group :development do
152
  gem "annotate", "~> 2.6.0.beta2"
153
  gem "letter_opener"
Riyad Preukschas's avatar
Riyad Preukschas committed
154
  gem 'quiet_assets', '~> 1.0.1'
randx's avatar
randx committed
155
  gem 'rack-mini-profiler'
156

157 158 159
  # Better errors handler
  gem 'better_errors'
  gem 'binding_of_caller'
160

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
161 162
  gem 'rails_best_practices'

163 164
  # Docs generator
  gem "sdoc"
165 166 167

  # thin instead webrick
  gem 'thin'
gitlabhq's avatar
gitlabhq committed
168 169 170
end

group :development, :test do
171
  gem 'coveralls', require: false
172
  gem 'rails-dev-tweaks'
173 174 175
  gem 'spinach-rails'
  gem "rspec-rails"
  gem "capybara"
Saito's avatar
Saito committed
176
  gem "pry"
177
  gem "awesome_print"
178
  gem "database_cleaner"
179
  gem "launchy"
Robert Speicher's avatar
Robert Speicher committed
180
  gem 'factory_girl_rails'
randx's avatar
randx committed
181

182
  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
183
  gem 'minitest', '~> 4.7.0'
184

185 186 187
  # Generate Fake data
  gem "ffaker"

188
  # Guard
randx's avatar
randx committed
189
  gem 'guard-rspec'
Nihad Abbasov's avatar
Nihad Abbasov committed
190
  gem 'guard-spinach'
191 192

  # Notification
193 194 195
  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
  gem 'growl',      require: darwin_only('growl')
  gem 'rb-inotify', require: linux_only('rb-inotify')
196 197

  # PhantomJS driver for Capybara
198
  gem 'poltergeist', '~> 1.4.1'
Andrew8xx8's avatar
Andrew8xx8 committed
199 200

  gem 'spork', '~> 1.0rc'
201
  gem 'jasmine'
gitlabhq's avatar
gitlabhq committed
202 203 204
end

group :test do
205
  gem "simplecov", require: false
206
  gem "shoulda-matchers", "~> 2.1.0"
207
  gem 'email_spec'
208
  gem "webmock"
Alex Denisov's avatar
Alex Denisov committed
209
  gem 'test_after_commit'
gitlabhq's avatar
gitlabhq committed
210
end
211 212

group :production do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
213
  gem "gitlab_meta", '6.0'
214
end