Index: head/www/gitlab-ce/Makefile =================================================================== --- head/www/gitlab-ce/Makefile (revision 500006) +++ head/www/gitlab-ce/Makefile (revision 500007) @@ -1,281 +1,283 @@ # Created by: Torsten Zuehlsdorff # $FreeBSD$ PORTNAME= gitlab-ce PORTVERSION= 11.10.0 PORTREVISION= 0 CATEGORIES= www devel MAINTAINER= mfechner@FreeBSD.org COMMENT= Web GUI for managing git repositories LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE # the rubygems of RUN_DEPENDS matches the order of the Gemfile # which makes maintaining this long list much easier! # only rubygem-pg and rubygem-mysql are defined later as RUN_DEPENDS # for the options MY_DEPENDS= git>=2.16.2:devel/git \ gitlab-shell>=9.0.0:devel/gitlab-shell \ gitlab-workhorse>=8.5.1:www/gitlab-workhorse \ gitaly>=1.33.0:devel/gitaly \ gitlab-pages>=1.5.0:www/gitlab-pages \ redis>=3.2.12:databases/redis \ yarn>=1.10.0:www/yarn \ rubygem-rails50>=5.0.7.2:www/rubygem-rails50 \ rubygem-rails-deprecated_sanitizer-rails50>=1.0.3:devel/rubygem-rails-deprecated_sanitizer-rails50 \ rubygem-nakayoshi_fork>=0.0.4:devel/rubygem-nakayoshi_fork \ rubygem-responders-rails50>=2.0:www/rubygem-responders-rails50 \ rubygem-sprockets3>=3.7:devel/rubygem-sprockets3 \ rubygem-gitlab-default_value_for>=3.1.1:devel/rubygem-gitlab-default_value_for \ rubygem-rugged>=0.28.0:devel/rubygem-rugged \ rubygem-grape-path-helpers>=1.0:devel/rubygem-grape-path-helpers \ rubygem-faraday>=0.12.0:www/rubygem-faraday \ rubygem-devise-rails50>=4.4:devel/rubygem-devise-rails50 \ rubygem-doorkeeper43>=4.3:security/rubygem-doorkeeper43 \ rubygem-doorkeeper-openid_connect>=1.5:security/rubygem-doorkeeper-openid_connect \ rubygem-omniauth>=1.8:security/rubygem-omniauth \ rubygem-omniauth-auth0>=2.0.0:net/rubygem-omniauth-auth0 \ rubygem-omniauth-azure-oauth2>=0.0.9:net/rubygem-omniauth-azure-oauth2 \ rubygem-omniauth-cas3>=1.1.4:security/rubygem-omniauth-cas3 \ rubygem-omniauth-facebook4>=4.0.0:net/rubygem-omniauth-facebook4 \ rubygem-omniauth-github>=1.3.0:net/rubygem-omniauth-github \ rubygem-omniauth-gitlab>=1.0.2:security/rubygem-omniauth-gitlab \ rubygem-omniauth-google-oauth2>=0.6.0:net/rubygem-omniauth-google-oauth2 \ rubygem-omniauth-kerberos>=0.3.0:net/rubygem-omniauth-kerberos \ rubygem-omniauth-oauth2-generic>=0.2.2:security/rubygem-omniauth-oauth2-generic \ rubygem-omniauth-saml>=1.10:security/rubygem-omniauth-saml \ rubygem-omniauth-shibboleth>=1.3.0:security/rubygem-omniauth-shibboleth \ rubygem-omniauth-twitter>=1.4:net/rubygem-omniauth-twitter \ rubygem-omniauth_crowd22>=2.2.0:devel/rubygem-omniauth_crowd22 \ rubygem-omniauth-authentiq>=0.3.3:net/rubygem-omniauth-authentiq \ rubygem-rack-oauth2>=1.9.3:security/rubygem-rack-oauth2 \ rubygem-jwt>=2.1.0:www/rubygem-jwt \ rubygem-recaptcha>=4.11:devel/rubygem-recaptcha \ rubygem-akismet>=2.0:devel/rubygem-akismet \ rubygem-devise-two-factor-rails50>=3.0.0:security/rubygem-devise-two-factor-rails50 \ rubygem-rqrcode-rails3>=0.1.7:www/rubygem-rqrcode-rails3 \ rubygem-attr_encrypted>=3.1.0:security/rubygem-attr_encrypted \ rubygem-u2f0>=0.2.1:net/rubygem-u2f0 \ rubygem-validates_hostname>=1.0.6:dns/rubygem-validates_hostname \ rubygem-rubyzip>=1.2.2:archivers/rubygem-rubyzip \ rubygem-browser>=2.5:www/rubygem-browser \ rubygem-gpgme>=2.0.18:security/rubygem-gpgme \ rubygem-gitlab_omniauth-ldap>=2.1.1:net/rubygem-gitlab_omniauth-ldap \ rubygem-net-ldap>=0.16.0:net/rubygem-net-ldap \ rubygem-grape11>=1.1:devel/rubygem-grape11 \ rubygem-grape-entity>=0.7.1:devel/rubygem-grape-entity \ rubygem-rack-cors>=1.0.0:www/rubygem-rack-cors \ rubygem-graphql>=1.8.0:devel/rubygem-graphql \ rubygem-graphiql-rails>=1.4.10:devel/rubygem-graphiql-rails \ rubygem-hashie-forbidden_attributes>=0:devel/rubygem-hashie-forbidden_attributes \ rubygem-kaminari-rails50>=1.0:www/rubygem-kaminari-rails50 \ rubygem-hamlit>=2.8.8:www/rubygem-hamlit \ rubygem-carrierwave>=1.3.0:www/rubygem-carrierwave \ rubygem-mini_magick>=0:graphics/rubygem-mini_magick \ rubygem-fog-aws>=3.3:net/rubygem-fog-aws \ rubygem-fog-core210>=2.1.0:devel/rubygem-fog-core210 \ rubygem-fog-google>=1.8:net/rubygem-fog-google \ rubygem-fog-local>=0.6:net/rubygem-fog-local \ rubygem-fog-openstack>=1.0:net/rubygem-fog-openstack \ rubygem-fog-rackspace>=0.1.1:net/rubygem-fog-rackspace \ rubygem-fog-aliyun>=0.3:net/rubygem-fog-aliyun \ rubygem-google-api-client>=0.23:devel/rubygem-google-api-client \ rubygem-unf>=0.1.4:textproc/rubygem-unf \ rubygem-seed-fu>=2.3.7:databases/rubygem-seed-fu \ rubygem-html-pipeline>=2.8:textproc/rubygem-html-pipeline \ rubygem-deckar01-task_list>=2.2.0:www/rubygem-deckar01-task_list \ rubygem-gitlab-markup>=1.7.0:textproc/rubygem-gitlab-markup \ rubygem-github-markup17>=1.7.0:textproc/rubygem-github-markup17 \ rubygem-commonmarker>=0.17:textproc/rubygem-commonmarker \ rubygem-redcloth>=4.3.2:www/rubygem-redcloth \ rubygem-rdoc>=6.0:devel/rubygem-rdoc \ rubygem-org-ruby>=0.9.12:textproc/rubygem-org-ruby \ rubygem-creole>=0.5.0:textproc/rubygem-creole \ rubygem-wikicloth081>=0.8.1:textproc/rubygem-wikicloth081 \ rubygem-asciidoctor>=1.5.8:textproc/rubygem-asciidoctor \ rubygem-asciidoctor-plantuml>=0.0.8:textproc/rubygem-asciidoctor-plantuml \ rubygem-rouge>=3.1:textproc/rubygem-rouge \ rubygem-truncato>=0.7.11:textproc/rubygem-truncato \ rubygem-bootstrap_form>=4.2.0:devel/rubygem-bootstrap_form \ rubygem-nokogiri>=1.10.1:textproc/rubygem-nokogiri \ rubygem-escape_utils>=1.1:textproc/rubygem-escape_utils \ rubygem-icalendar>=0:devel/rubygem-icalendar \ rubygem-diffy31>=3.1.0:textproc/rubygem-diffy31 \ rubygem-rack>=2.0.7:www/rubygem-rack \ rubygem-unicorn>=5.4.1:www/rubygem-unicorn \ rubygem-unicorn-worker-killer>=0.4.4:www/rubygem-unicorn-worker-killer \ rubygem-puma>=3.12:www/rubygem-puma \ rubygem-puma_worker_killer>=0:www/rubygem-puma_worker_killer \ rubygem-state_machines-activerecord05>=0.5.1:databases/rubygem-state_machines-activerecord05 \ rubygem-acts-as-taggable-on>=6.0:www/rubygem-acts-as-taggable-on \ rubygem-sidekiq>=5.2.1:devel/rubygem-sidekiq \ rubygem-sidekiq-cron>=1.0.0:devel/rubygem-sidekiq-cron \ rubygem-redis-namespace>=1.6.0:databases/rubygem-redis-namespace \ rubygem-gitlab-sidekiq-fetcher>=0.4.0:devel/rubygem-gitlab-sidekiq-fetcher \ rubygem-fugit>=1.1:devel/rubygem-fugit \ rubygem-httparty>=0.16.4:www/rubygem-httparty \ rubygem-rainbow>=3.0:devel/rubygem-rainbow \ rubygem-ruby-progressbar>=0:devel/rubygem-ruby-progressbar \ rubygem-settingslogic>=2.0.9:devel/rubygem-settingslogic \ rubygem-re2>=1.1.1:devel/rubygem-re2 \ rubygem-version_sorter>=2.2.4:textproc/rubygem-version_sorter \ rubygem-js_regex>=3.1.0:textproc/rubygem-js_regex \ rubygem-device_detector>=0:devel/rubygem-device_detector \ rubygem-redis-rails-rails50>=5.0.1:www/rubygem-redis-rails-rails50 \ rubygem-redis3>=3.2:databases/rubygem-redis3 \ rubygem-connection_pool>=2.0:net/rubygem-connection_pool \ rubygem-discordrb-webhooks-blackst0ne>=3.3.0:net-im/rubygem-discordrb-webhooks-blackst0ne \ rubygem-hipchat>=1.5.0:net-im/rubygem-hipchat \ rubygem-jira-ruby>=1.4:devel/rubygem-jira-ruby \ rubygem-flowdock>=0.7:www/rubygem-flowdock \ rubygem-slack-notifier1>=1.5.1:devel/rubygem-slack-notifier1 \ rubygem-hangouts-chat>=0.0.5:net/rubygem-hangouts-chat \ rubygem-asana>=0.8.1:www/rubygem-asana \ rubygem-ruby-fogbugz021>=0.2.1:devel/rubygem-ruby-fogbugz021 \ rubygem-kubeclient>=4.2.2:www/rubygem-kubeclient \ rubygem-sanitize>=4.6:textproc/rubygem-sanitize \ rubygem-babosa>=1.0.2:textproc/rubygem-babosa \ rubygem-loofah>=2.2:textproc/rubygem-loofah \ rubygem-licensee8>=8.9:devel/rubygem-licensee8 \ rubygem-rack-attack44>=4.4.1:www/rubygem-rack-attack44 \ rubygem-ace-rails-ap>=4.1.0:www/rubygem-ace-rails-ap \ rubygem-charlock_holmes>=0.7.5:textproc/rubygem-charlock_holmes \ rubygem-mimemagic>=0.3.2:misc/rubygem-mimemagic \ rubygem-fast_blank>=0:devel/rubygem-fast_blank \ rubygem-chronic>=0.10.2:devel/rubygem-chronic \ rubygem-chronic_duration>=0.10.6:devel/rubygem-chronic_duration \ rubygem-webpack-rails-rails50>=0.9.10:www/rubygem-webpack-rails-rails50 \ rubygem-rack-proxy>=0.6.0:www/rubygem-rack-proxy \ rubygem-sass-rails-rails50>=5.0.6:textproc/rubygem-sass-rails-rails50 \ rubygem-sass>=3.5.0:textproc/rubygem-sass \ rubygem-uglifier27>=2.7.2:www/rubygem-uglifier27 \ rubygem-addressable>=2.5.2:www/rubygem-addressable \ rubygem-font-awesome-rails-rails50>=4.7:devel/rubygem-font-awesome-rails-rails50 \ rubygem-gemojione>=3.3:graphics/rubygem-gemojione \ rubygem-gon-rails50>=6.2.0:www/rubygem-gon-rails50 \ rubygem-request_store>=1.3:devel/rubygem-request_store \ rubygem-virtus>=1.0.1:devel/rubygem-virtus \ rubygem-base32>=0.3.0:converters/rubygem-base32 \ rubygem-sentry-raven>=2.7:devel/rubygem-sentry-raven \ rubygem-premailer-rails19-rails50>=1.9.7:mail/rubygem-premailer-rails19-rails50 \ rubygem-ruby_parser>=3.8.4:devel/rubygem-ruby_parser \ rubygem-rails-i18n-rails50>=5.1.0:devel/rubygem-rails-i18n-rails50 \ rubygem-gettext_i18n_rails>=1.8.0:devel/rubygem-gettext_i18n_rails \ rubygem-gettext_i18n_rails_js-rails50>=1.3:devel/rubygem-gettext_i18n_rails_js-rails50 \ rubygem-gettext>=3.2.2:devel/rubygem-gettext \ rubygem-batch-loader12>=1.2.2:devel/rubygem-batch-loader12 \ rubygem-peek-rails50>=1.0.1:devel/rubygem-peek-rails50 \ rubygem-peek-gc-rails50>=0.0.2:devel/rubygem-peek-gc-rails50 \ rubygem-peek-rblineprof-rails50>=0.2.0:devel/rubygem-peek-rblineprof-rails50 \ rubygem-peek-redis-rails50>=1.2.0:devel/rubygem-peek-redis-rails50 \ + rubygem-method_source>=0.8:devel/rubygem-method_source \ + rubygem-influxdb>=0.2:databases/rubygem-influxdb \ rubygem-prometheus-client-mmap>=0.9.4:devel/rubygem-prometheus-client-mmap \ rubygem-opentracing04>=0.4.3:devel/rubygem-opentracing04 \ rubygem-jaeger-client>=0.10.0:devel/rubygem-jaeger-client \ rubygem-octokit>=4.9:net/rubygem-octokit \ rubygem-mail_room>=0.9.1:mail/rubygem-mail_room \ rubygem-email_reply_trimmer>=0.1:mail/rubygem-email_reply_trimmer \ rubygem-html2text>=0:textproc/rubygem-html2text \ rubygem-ruby-prof>=0.17.0:devel/rubygem-ruby-prof \ rubygem-rbtrace>=0.4:devel/rubygem-rbtrace \ rubygem-oauth2>=1.4.0:net/rubygem-oauth2 \ rubygem-health_check26-rails50>=2.6.0:devel/rubygem-health_check26-rails50 \ rubygem-vmstat>=2.3.0:sysutils/rubygem-vmstat \ rubygem-sys-filesystem>=1.1.6:sysutils/rubygem-sys-filesystem \ rubygem-net-ssh>=5.0:security/rubygem-net-ssh \ rubygem-sshkey>=2.0:security/rubygem-sshkey \ rubygem-ed25519>=1.2:security/rubygem-ed25519 \ rubygem-bcrypt_pbkdf>=1.0:security/rubygem-bcrypt_pbkdf \ rubygem-gitaly-proto>=1.19.0:net/rubygem-gitaly-proto \ rubygem-grpc>=1.15.0:net/rubygem-grpc \ rubygem-gitaly>=0.8.0:net/rubygem-gitaly \ rubygem-google-protobuf>=3.6:devel/rubygem-google-protobuf \ rubygem-toml-rb10>=1.0.0:www/rubygem-toml-rb10 \ rubygem-flipper013>=0.13.0:devel/rubygem-flipper013 \ rubygem-flipper-active_record013>=0.13.0:databases/rubygem-flipper-active_record013 \ rubygem-flipper-active_support_cache_store013>=0.13.0:devel/rubygem-flipper-active_support_cache_store013 \ rubygem-lograge-rails50>=0.5:www/rubygem-lograge-rails50 \ rubygem-grape_logging>=1.7:devel/rubygem-grape_logging BUILD_DEPENDS= gem:devel/ruby-gems \ ${MY_DEPENDS} RUN_DEPENDS= ${MY_DEPENDS} CONFLICTS_INSTALL= gitolite-* \ gitolite2-* \ gogs-* \ gitea-* \ ${PYTHON_PKGNAMEPREFIX}-gitosis-* OPTIONS_SINGLE= DATABASE OPTIONS_SINGLE_DATABASE= PGSQL MYSQL OPTIONS_DEFAULT= PGSQL PGSQL_DESC= Default PostgreSQL support (preferred) MYSQL_DESC= Optional MySQL support PGSQL_RUN_DEPENDS= rubygem-pg>=1.1.0:databases/rubygem-pg \ rubygem-peek-pg-rails50>=1.3.0:databases/rubygem-peek-pg-rails50 MYSQL_RUN_DEPENDS= rubygem-mysql2>=0.4.5:databases/rubygem-mysql2 \ rubygem-peek-mysql2-rails50>=1.2.0:databases/rubygem-peek-mysql2-rails50 USE_RUBY= yes USE_RC_SUBR= gitlab USE_GITLAB= yes GL_ACCOUNT= gitlab-org # Find the here: https://gitlab.com/gitlab-org/gitlab-ce/tags GL_COMMIT= 8a802d1c6b7ee660fbf701b9758ccff85f065e68 USERS= git GROUPS= git NO_ARCH= yes NO_BUILD= yes post-patch: ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config/gitlab.yml.example \ ${WRKSRC}/config/unicorn.rb.example \ ${WRKSRC}/lib/support/nginx/gitlab \ ${WRKSRC}/lib/support/nginx/gitlab-ssl post-patch-MYSQL-on: ${CP} ${WRKSRC}/config/database.yml.mysql ${WRKSRC}/config/database.yml.sample post-patch-MYSQL-off: ${REINPLACE_CMD} -e "/gem 'mysql2'/d" ${WRKSRC}/Gemfile ${REINPLACE_CMD} -e "/gem 'peek-mysql2'/d" ${WRKSRC}/Gemfile post-patch-PGSQL-on: ${CP} ${WRKSRC}/config/database.yml.postgresql ${WRKSRC}/config/database.yml.sample post-patch-PGSQL-off: ${REINPLACE_CMD} -e "/gem 'pg'/d" ${WRKSRC}/Gemfile ${REINPLACE_CMD} -e "/gem 'peek-pg'/d" ${WRKSRC}/Gemfile do-install: (cd ${WRKSRC} && ${RM} Gemfile.lock && bundle install --local) ${FIND} ${WRKSRC} -name '*.orig' -delete ${FIND} ${WRKSRC} -name '*.bak' -delete ${FIND} ${WRKSRC} -name '*.gitkeep' -delete ${FIND} ${WRKSRC} -name '*.gitignore' -delete ${FIND} ${WRKSRC} -name "Gemfile.lock" -delete ${MV} ${WRKSRC}/config/gitlab.yml.example ${WRKSRC}/config/gitlab.yml.sample ${MV} ${WRKSRC}/config/unicorn.rb.example ${WRKSRC}/config/unicorn.rb.sample ${MV} ${WRKSRC}/config/resque.yml.example ${WRKSRC}/config/resque.yml.sample ${MV} ${WRKSRC}/config/secrets.yml.example ${WRKSRC}/config/secrets.yml.sample ${MV} ${WRKSRC}/config/initializers/rack_attack.rb.example ${WRKSRC}/config/initializers/rack_attack.rb.sample ${MV} ${WRKSRC}/lib/support/nginx/gitlab ${WRKSRC}/lib/support/nginx/gitlab.sample ${MV} ${WRKSRC}/lib/support/nginx/gitlab-ssl ${WRKSRC}/lib/support/nginx/gitlab-ssl.sample ${MKDIR} ${STAGEDIR}/usr/local/git/repositories ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/public/assets ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/public/uploads ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/cache ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/sessions ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/backups ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/shared/tmp ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/shared/artifacts/tmp/work (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/www/${PORTNAME}) .include Index: head/www/gitlab-ce/files/patch-Gemfile =================================================================== --- head/www/gitlab-ce/files/patch-Gemfile (revision 500006) +++ head/www/gitlab-ce/files/patch-Gemfile (revision 500007) @@ -1,118 +1,108 @@ --- Gemfile.orig 2019-04-19 09:51:35 UTC +++ Gemfile @@ -15,7 +15,7 @@ gem 'sprockets', '~> 3.7.0' gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for' # Supported DBs -gem 'mysql2', '~> 0.4.10', group: :mysql +gem 'mysql2', '>= 0.4.10', group: :mysql gem 'pg', '~> 1.1', group: :postgres gem 'rugged', '~> 0.28' @@ -202,7 +202,7 @@ gem 'connection_pool', '~> 2.0' gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false # HipChat integration -gem 'hipchat', '~> 1.5.0' +gem 'hipchat', '~> 1.6.0' # JIRA integration gem 'jira-ruby', '~> 1.4' -@@ -293,9 +293,6 @@ gem 'peek-redis', '~> 1.2.0' - - # Metrics - group :metrics do -- gem 'method_source', '~> 0.8', require: false -- gem 'influxdb', '~> 0.2', require: false -- - # Prometheus - gem 'prometheus-client-mmap', '~> 0.9.4' - gem 'raindrops', '~> 0.18' -@@ -305,87 +302,6 @@ group :tracing do +@@ -305,87 +305,6 @@ group :tracing do # OpenTracing gem 'opentracing', '~> 0.4.3' gem 'jaeger-client', '~> 0.10.0' -end - -group :development do - gem 'foreman', '~> 0.84.0' - gem 'brakeman', '~> 4.2', require: false - - gem 'letter_opener_web', '~> 1.3.0' - gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false - - # Better errors handler - gem 'better_errors', '~> 2.5.0' - gem 'binding_of_caller', '~> 0.8.0' - - # thin instead webrick - gem 'thin', '~> 1.7.0' -end - -group :development, :test do - gem 'bootsnap', '~> 1.4' - gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET'] - gem 'pry-byebug', '~> 3.5.1', platform: :mri - gem 'pry-rails', '~> 0.3.4' - - gem 'awesome_print', require: false - gem 'fuubar', '~> 2.2.0' - - gem 'database_cleaner', '~> 1.7.0' - gem 'factory_bot_rails', '~> 4.8.2' - gem 'rspec-rails', '~> 3.7.0' - gem 'rspec-retry', '~> 0.4.5' - gem 'rspec_profiling', '~> 0.0.5' - gem 'rspec-set', '~> 0.1.3' - gem 'rspec-parameterized', require: false - - # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) - gem 'minitest', '~> 5.11.0' - - # Generate Fake data - gem 'ffaker', '~> 2.10' - - gem 'capybara', '~> 2.16.1' - gem 'capybara-screenshot', '~> 1.0.18' - gem 'selenium-webdriver', '~> 3.12' - - gem 'spring', '~> 2.0.0' - gem 'spring-commands-rspec', '~> 1.0.4' - - gem 'gitlab-styles', '~> 2.4', require: false - # Pin these dependencies, otherwise a new rule could break the CI pipelines - gem 'rubocop', '~> 0.54.0' - gem 'rubocop-rspec', '~> 1.22.1' - - gem 'scss_lint', '~> 0.56.0', require: false - gem 'haml_lint', '~> 0.28.0', require: false - gem 'simplecov', '~> 0.14.0', require: false - gem 'bundler-audit', '~> 0.5.0', require: false - - gem 'benchmark-ips', '~> 2.3.0', require: false - - gem 'license_finder', '~> 5.4', require: false - gem 'knapsack', '~> 1.17' - - gem 'activerecord_sane_schema_dumper', '1.0' - - gem 'stackprof', '~> 0.2.10', require: false - - gem 'simple_po_parser', '~> 1.1.2', require: false - - gem 'timecop', '~> 0.8.0' -end - -group :test do - gem 'shoulda-matchers', '~> 3.1.2', require: false - gem 'email_spec', '~> 2.2.0' - gem 'json-schema', '~> 2.8.0' - gem 'webmock', '~> 3.5.1' - gem 'rails-controller-testing' - gem 'sham_rack', '~> 1.3.6' - gem 'concurrent-ruby', '~> 1.1' - gem 'test-prof', '~> 0.2.5' - gem 'rspec_junit_formatter' end gem 'octokit', '~> 4.9'