#!/usr/bin/env rake2.3
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require_relative 'config/application'

OBSApi::Application.load_tasks

require(File.join(File.dirname(__FILE__), 'config', 'boot'))

require 'workers/update_issues'
task(updateissues: :environment) { Delayed::Job.enqueue UpdateIssuesJob.new }

task(updatepackagemeta: :environment) { UpdatePackageMetaJob.new.perform }

# write directly to backend, for initial bootup in obsapisetup
task(writeconfiguration: :environment) { ::Configuration.first.write_to_backend }

require 'workers/import_requests'
task(importrequests: :environment) { ImportRequestsDelayedJob.new.perform }

require(File.join(File.dirname(__FILE__), 'app/jobs/application_job.rb'))
require(File.join(File.dirname(__FILE__), 'app/jobs/consistency_check.rb'))
task(check_project: :environment) { ConsistencyCheckJob.new.check_project }
task(fix_project: :environment) { ConsistencyCheckJob.new.fix_project }

unless Rails.env.production?
  require 'rubocop/rake_task'

  RuboCop::RakeTask.new(:rubocop) do |task|
    task.options = ['-D', '-F', '--fail-level', 'convention']
  end
end

if Rails.env.test?
  require 'single_test/tasks'
end
