2021-06-01 12:20:20 +00:00
|
|
|
# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
|
|
|
|
|
2021-10-03 22:41:13 +00:00
|
|
|
source 'https://gems.sutty.nl'
|
2012-04-10 13:31:21 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# core - base
|
2021-10-03 22:41:13 +00:00
|
|
|
ruby '2.7.3'
|
2021-09-28 06:58:38 +00:00
|
|
|
gem 'rails', '~> 6.0.0'
|
2012-04-10 13:31:21 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# core - rails additions
|
2018-09-04 11:37:51 +00:00
|
|
|
gem 'activerecord-import'
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'activerecord-session_store'
|
2019-07-04 11:16:55 +00:00
|
|
|
gem 'bootsnap', require: false
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'composite_primary_keys'
|
2012-04-10 13:31:21 +00:00
|
|
|
gem 'json'
|
2017-11-23 08:09:44 +00:00
|
|
|
|
|
|
|
# core - application servers
|
2021-05-19 07:58:30 +00:00
|
|
|
gem 'puma', '~> 4', group: :puma
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'unicorn', group: :unicorn
|
2012-04-10 13:31:21 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# core - supported ORMs
|
2017-01-07 12:22:58 +00:00
|
|
|
gem 'activerecord-nulldb-adapter', group: :nulldb
|
2021-06-24 07:05:39 +00:00
|
|
|
gem 'mysql2', group: :mysql
|
2019-03-27 09:01:36 +00:00
|
|
|
gem 'pg', '0.21.0', group: :postgres
|
2016-08-30 10:00:04 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# core - asynchrous task execution
|
|
|
|
gem 'daemons'
|
|
|
|
gem 'delayed_job_active_record'
|
|
|
|
|
|
|
|
# core - websocket
|
|
|
|
gem 'em-websocket'
|
|
|
|
gem 'eventmachine'
|
2021-06-30 12:04:59 +00:00
|
|
|
gem 'hiredis', require: false
|
2021-06-30 08:24:58 +00:00
|
|
|
gem 'redis', require: false
|
2017-11-23 08:09:44 +00:00
|
|
|
|
|
|
|
# core - password security
|
2019-06-27 11:51:29 +00:00
|
|
|
gem 'argon2'
|
2017-11-23 08:09:44 +00:00
|
|
|
|
2019-06-04 03:40:48 +00:00
|
|
|
# core - state machine
|
|
|
|
gem 'aasm'
|
|
|
|
|
2020-03-19 09:39:51 +00:00
|
|
|
# core - authorization
|
|
|
|
gem 'pundit'
|
|
|
|
|
2020-06-02 11:01:16 +00:00
|
|
|
# core - image processing
|
|
|
|
gem 'rszr', '0.5.2'
|
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# performance - Memcached
|
2021-07-05 13:38:40 +00:00
|
|
|
gem 'dalli', require: false
|
2017-11-23 08:09:44 +00:00
|
|
|
|
2021-07-12 09:46:57 +00:00
|
|
|
# Only load gems for asset compilation if they are needed to avoid
|
|
|
|
# having unneeded runtime dependencies like NodeJS.
|
|
|
|
group :assets do
|
|
|
|
# asset handling - javascript execution for e.g. linux
|
|
|
|
gem 'execjs', require: false
|
2018-11-26 09:30:21 +00:00
|
|
|
|
2021-07-12 09:46:57 +00:00
|
|
|
# asset handling - coffee-script
|
|
|
|
gem 'coffee-rails', require: false
|
2018-11-26 09:30:21 +00:00
|
|
|
|
2021-07-12 09:46:57 +00:00
|
|
|
# asset handling - frontend templating
|
|
|
|
gem 'eco', require: false
|
2018-11-26 09:30:21 +00:00
|
|
|
|
2021-07-12 09:46:57 +00:00
|
|
|
# asset handling - SASS
|
|
|
|
gem 'sassc-rails', require: false
|
2012-04-10 13:31:21 +00:00
|
|
|
|
2021-07-12 09:46:57 +00:00
|
|
|
# asset handling - pipeline
|
|
|
|
gem 'sprockets', '~> 3.7.2', require: false
|
|
|
|
gem 'uglifier', require: false
|
2015-05-28 08:39:15 +00:00
|
|
|
|
2021-07-12 09:46:57 +00:00
|
|
|
gem 'autoprefixer-rails', require: false
|
|
|
|
end
|
2021-05-07 08:08:38 +00:00
|
|
|
|
2021-07-01 05:30:14 +00:00
|
|
|
# Don't use mini_racer any more for asset compilation.
|
|
|
|
# Instead, use an external node.js binary.
|
|
|
|
group :mini_racer, optional: true do
|
2021-05-07 08:08:38 +00:00
|
|
|
gem 'libv8'
|
2021-07-01 11:23:52 +00:00
|
|
|
gem 'mini_racer', '0.2.9' # Newer versions require libv8-node instead which does not compile on older platforms.
|
2021-05-07 08:08:38 +00:00
|
|
|
end
|
2017-11-23 08:09:44 +00:00
|
|
|
|
|
|
|
# authentication - provider
|
2016-11-01 16:16:04 +00:00
|
|
|
gem 'doorkeeper'
|
2016-07-26 22:02:28 +00:00
|
|
|
gem 'oauth2'
|
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# authentication - third party
|
2019-07-08 15:18:14 +00:00
|
|
|
gem 'omniauth-rails_csrf_protection'
|
|
|
|
|
|
|
|
# authentication - third party providers
|
2012-11-07 12:30:27 +00:00
|
|
|
gem 'omniauth-facebook'
|
2016-07-26 22:02:28 +00:00
|
|
|
gem 'omniauth-github'
|
|
|
|
gem 'omniauth-gitlab'
|
2012-04-29 21:28:45 +00:00
|
|
|
gem 'omniauth-google-oauth2'
|
2016-07-26 22:02:28 +00:00
|
|
|
gem 'omniauth-linkedin-oauth2'
|
2017-07-13 15:08:53 +00:00
|
|
|
gem 'omniauth-microsoft-office365'
|
2019-09-16 13:03:21 +00:00
|
|
|
gem 'omniauth-saml'
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'omniauth-twitter'
|
2017-09-26 14:41:55 +00:00
|
|
|
gem 'omniauth-weibo-oauth2'
|
2012-04-10 14:06:46 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# channels
|
2020-05-28 13:28:07 +00:00
|
|
|
gem 'gmail_xoauth'
|
2012-04-29 21:28:45 +00:00
|
|
|
gem 'koala'
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'telegramAPI'
|
2021-07-01 13:21:03 +00:00
|
|
|
gem 'twitter'
|
2012-04-10 14:06:46 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# channels - email additions
|
|
|
|
gem 'htmlentities'
|
2019-03-27 12:02:56 +00:00
|
|
|
gem 'mail', git: 'https://github.com/zammad-deps/mail', branch: '2-7-stable'
|
2012-04-29 21:28:45 +00:00
|
|
|
gem 'mime-types'
|
2018-05-31 11:53:50 +00:00
|
|
|
gem 'rchardet', '>= 1.8.0'
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'valid_email2'
|
2012-04-10 14:06:46 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# feature - business hours
|
2015-09-10 19:09:50 +00:00
|
|
|
gem 'biz'
|
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# feature - signature diffing
|
|
|
|
gem 'diffy'
|
2012-04-14 11:30:41 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# feature - excel output
|
2021-07-05 13:38:40 +00:00
|
|
|
gem 'writeexcel', require: false
|
2013-02-07 21:24:03 +00:00
|
|
|
|
2021-09-02 07:24:58 +00:00
|
|
|
# feature - csv import/export
|
|
|
|
gem 'csv', require: false
|
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# feature - device logging
|
|
|
|
gem 'browser'
|
2017-01-27 08:17:03 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# feature - iCal export
|
2015-04-13 09:52:32 +00:00
|
|
|
gem 'icalendar'
|
2017-08-24 16:59:53 +00:00
|
|
|
gem 'icalendar-recurrence'
|
2014-05-12 08:03:48 +00:00
|
|
|
|
2018-05-28 06:42:04 +00:00
|
|
|
# feature - phone number formatting
|
|
|
|
gem 'telephone_number'
|
|
|
|
|
2018-10-16 08:45:15 +00:00
|
|
|
# feature - SMS
|
2021-08-16 14:52:36 +00:00
|
|
|
gem 'messagebird-rest'
|
2021-07-05 13:38:40 +00:00
|
|
|
gem 'twilio-ruby', require: false
|
2018-10-16 08:45:15 +00:00
|
|
|
|
2019-06-04 03:40:48 +00:00
|
|
|
# feature - ordering
|
|
|
|
gem 'acts_as_list'
|
|
|
|
|
2016-04-15 21:56:10 +00:00
|
|
|
# integrations
|
2021-07-05 13:38:40 +00:00
|
|
|
gem 'clearbit', require: false
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'net-ldap'
|
2021-07-05 13:38:40 +00:00
|
|
|
gem 'slack-notifier', require: false
|
|
|
|
gem 'zendesk_api', require: false
|
2016-04-15 21:56:10 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# integrations - exchange
|
2021-07-05 13:38:40 +00:00
|
|
|
gem 'autodiscover', git: 'https://github.com/zammad-deps/autodiscover', require: false
|
|
|
|
gem 'viewpoint', require: false
|
2015-10-07 18:42:29 +00:00
|
|
|
|
2020-06-02 11:01:16 +00:00
|
|
|
# integrations - S/MIME
|
|
|
|
gem 'openssl'
|
2019-02-14 05:42:41 +00:00
|
|
|
|
2015-04-13 09:52:32 +00:00
|
|
|
# Gems used only for develop/test and not required
|
2013-01-23 07:28:03 +00:00
|
|
|
# in production environments by default.
|
|
|
|
group :development, :test do
|
|
|
|
|
2018-10-01 20:00:26 +00:00
|
|
|
# app boottime improvement
|
|
|
|
gem 'spring'
|
|
|
|
gem 'spring-commands-rspec'
|
|
|
|
gem 'spring-commands-testunit'
|
|
|
|
|
2018-05-11 08:48:07 +00:00
|
|
|
# debugging
|
2018-06-24 16:56:30 +00:00
|
|
|
gem 'byebug'
|
2018-05-11 08:48:07 +00:00
|
|
|
gem 'pry-rails'
|
|
|
|
gem 'pry-remote'
|
2018-06-25 10:28:31 +00:00
|
|
|
gem 'pry-rescue'
|
|
|
|
gem 'pry-stack_explorer'
|
2018-05-11 08:48:07 +00:00
|
|
|
|
2017-11-23 08:09:44 +00:00
|
|
|
# test frameworks
|
2019-06-04 03:40:48 +00:00
|
|
|
gem 'rails-controller-testing'
|
2017-01-27 15:01:18 +00:00
|
|
|
gem 'rspec-rails'
|
2019-06-04 03:40:48 +00:00
|
|
|
gem 'shoulda-matchers'
|
2015-04-30 17:14:51 +00:00
|
|
|
gem 'test-unit'
|
2017-11-23 08:09:44 +00:00
|
|
|
|
2020-03-19 09:39:51 +00:00
|
|
|
# for testing Pundit authorisation policies in RSpec
|
|
|
|
gem 'pundit-matchers'
|
|
|
|
|
2015-05-01 11:53:35 +00:00
|
|
|
# code coverage
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'coveralls', require: false
|
2015-05-01 11:53:35 +00:00
|
|
|
gem 'simplecov'
|
|
|
|
gem 'simplecov-rcov'
|
2012-11-12 18:29:22 +00:00
|
|
|
|
2015-05-01 11:53:35 +00:00
|
|
|
# UI tests w/ Selenium
|
2019-05-28 16:57:15 +00:00
|
|
|
gem 'capybara'
|
2018-03-28 05:33:41 +00:00
|
|
|
gem 'selenium-webdriver'
|
2013-01-23 07:28:03 +00:00
|
|
|
|
2015-05-01 11:53:35 +00:00
|
|
|
# livereload on template changes (html, js, css)
|
2016-08-03 19:25:00 +00:00
|
|
|
gem 'guard', require: false
|
2015-09-29 13:00:30 +00:00
|
|
|
gem 'guard-livereload', require: false
|
2018-06-27 16:44:15 +00:00
|
|
|
gem 'rack-livereload', require: false
|
2015-09-29 13:00:30 +00:00
|
|
|
gem 'rb-fsevent', require: false
|
2015-04-27 13:34:28 +00:00
|
|
|
|
2017-03-22 08:49:40 +00:00
|
|
|
# auto symlinking
|
|
|
|
gem 'guard-symlink', require: false
|
|
|
|
|
2015-05-01 11:53:35 +00:00
|
|
|
# code QA
|
2021-07-20 13:31:46 +00:00
|
|
|
gem 'brakeman', require: false
|
2017-11-23 08:09:44 +00:00
|
|
|
gem 'coffeelint'
|
2021-07-06 12:42:00 +00:00
|
|
|
gem 'overcommit'
|
2015-05-01 11:53:35 +00:00
|
|
|
gem 'rubocop'
|
2021-07-01 11:23:52 +00:00
|
|
|
gem 'rubocop-faker'
|
2021-10-01 09:56:09 +00:00
|
|
|
gem 'rubocop-inflector'
|
2019-04-07 12:27:45 +00:00
|
|
|
gem 'rubocop-performance'
|
2019-09-02 11:52:11 +00:00
|
|
|
gem 'rubocop-rails'
|
2020-11-24 16:20:57 +00:00
|
|
|
gem 'rubocop-rspec'
|
2016-11-07 16:53:13 +00:00
|
|
|
|
|
|
|
# changelog generation
|
|
|
|
gem 'github_changelog_generator'
|
2017-01-20 08:40:43 +00:00
|
|
|
|
2018-12-05 05:31:13 +00:00
|
|
|
# generate random test data
|
2017-11-21 21:50:03 +00:00
|
|
|
gem 'factory_bot_rails'
|
2018-12-05 05:31:13 +00:00
|
|
|
gem 'faker'
|
2017-03-01 15:10:15 +00:00
|
|
|
|
|
|
|
# mock http calls
|
|
|
|
gem 'webmock'
|
2018-08-29 06:54:14 +00:00
|
|
|
|
2018-09-04 09:49:44 +00:00
|
|
|
# record and replay TCP/HTTP transactions
|
2021-08-11 11:41:15 +00:00
|
|
|
gem 'tcr'
|
2018-09-04 09:49:44 +00:00
|
|
|
gem 'vcr'
|
2019-07-26 14:33:26 +00:00
|
|
|
|
|
|
|
# handle deprecations in core and addons
|
|
|
|
gem 'deprecation_toolkit'
|
2020-08-13 09:17:14 +00:00
|
|
|
|
|
|
|
# image comparison in tests
|
|
|
|
gem 'chunky_png'
|
2021-02-25 17:46:39 +00:00
|
|
|
|
|
|
|
# refresh ENVs in CI environment
|
|
|
|
gem 'dotenv', require: false
|
2021-07-05 13:38:40 +00:00
|
|
|
|
|
|
|
# Slack helper for testing
|
|
|
|
gem 'slack-ruby-client', require: false
|
2013-01-23 07:28:03 +00:00
|
|
|
end
|
2013-02-26 21:23:25 +00:00
|
|
|
|
2018-05-11 11:00:25 +00:00
|
|
|
# Want to extend Zammad with additional gems?
|
|
|
|
# ZAMMAD USERS: Specify them in Gemfile.local
|
|
|
|
# (That way, you can customize the Gemfile
|
|
|
|
# without having your changes overwritten during upgrades.)
|
|
|
|
# ZAMMAD DEVS: Consult the internal wiki
|
|
|
|
# (or else risk pushing unwanted changes to Gemfile.lock!)
|
2018-07-09 06:01:25 +00:00
|
|
|
# https://git.znuny.com/zammad/zammad/wikis/Tips#user-content-customizing-the-gemfile
|
2018-05-11 11:00:25 +00:00
|
|
|
eval_gemfile 'Gemfile.local' if File.exist?('Gemfile.local')
|