main
 1# frozen_string_literal: true
 2
 3class Package
 4  INCLUDED_FILES = [
 5    ".ruby-version",
 6    "BUILD",
 7    "Dockerfile",
 8    "Gemfile*",
 9    "Procfile",
10    "Rakefile",
11    "app/**/*",
12    "bin/*",
13    "config.ru",
14    "config/**/*",
15    "db/**/*",
16    "lib/**/*",
17    "public/**/*",
18    "public/.well-known/*",
19    "vendor/cache/**/*"
20  ].freeze
21
22  EXCLUDED_FILES = [
23    "bin/*",
24    "config/database.yml",
25    "db/*.sqlite3",
26    /public\/packs-test/,
27  ].freeze
28
29  def self.execute
30    require 'rake/packagetask'
31
32    build = `git rev-parse --short HEAD`.strip
33    IO.write("./BUILD", build)
34    name = Rails.application.class.name.split(':')[0].downcase
35    Rake::PackageTask.new(name, build) do |package|
36      package.need_tar_gz = true
37      package.package_files.add INCLUDED_FILES
38      package.package_files.exclude EXCLUDED_FILES
39    end
40    Rake::Task['repackage'].invoke
41  end
42end