forked from archivesspace/archivesspace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
52 lines (47 loc) · 1.72 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# frozen_string_literal: true
# Rakefile for build / release supporting tasks
require 'date'
require 'git'
require 'json'
require 'yaml'
require_relative 'scripts/tasks/check'
require_relative 'scripts/tasks/release_notes'
task default: ['check:multiple_gem_versions']
namespace :check do
GEMS_PATH = File.join(__dir__, 'build', 'gems', 'gems', '*')
LOCALES_DIRS = [
File.join(__dir__, 'common', 'locales'),
File.join(__dir__, 'common', 'locales', 'enums'),
File.join(__dir__, 'frontend', 'config', 'locales'),
File.join(__dir__, 'frontend', 'config', 'locales', 'help'),
File.join(__dir__, 'public', 'config', 'locales')
]
# bundle exec rake check:locales
desc 'Check for missing keys in locale files compared to :en'
task :locales do
Check.run(Check::Locales.new(LOCALES_DIRS))
end
# bundle exec rake check:multiple_gem_versions
desc 'Check for multiple versions of a gem in the build directory'
task :multiple_gem_versions do
Check.run(Check::Gems.new(GEMS_PATH))
end
end
namespace :release_notes do
# Intended use:
# bundle exec rake release_notes:generate[$previous_version,$current_version]
# bundle exec rake release_notes:generate[v2.7.0,v2.7.1]
# To view in development release notes:
# bundle exec rake release_notes:generate[$current_version,master]
# bundle exec rake release_notes:generate[v2.7.1,master]
desc 'Generate a release notes formatted document between commits'
task :generate, [:since, :target] do |_t, args|
target = args.fetch(:target, 'master')
log = ReleaseNotes::GitLogParser.run(
path: __dir__,
since: args.fetch(:since, 'master'),
target: target
)
puts ReleaseNotes::Generator.new(version: target, log: log).process
end
end