in retire.rb [143:226]
def main()
retirees = get_json(CTTEE_RETIRED)['retired']
not_retired = ARGV - retirees.keys
if not_retired.size > 0
puts "The following projects are not recorded as retired: #{not_retired}"
end
(ARGV - not_retired).each do |pid|
puts "Processing #{pid}"
meta = retirees[pid]
bdates = get_board_date(meta['retired']).map{|d| Date.parse(d)}
bdates = bdates.first if bdates.size == 1
data = {
retirement_date: bdates,
attic_issue: 'ATTIC-nnn',
attic_date: nil,
attic_banner: true,
project_name: meta['display_name'],
project_description: meta['display_name'] + ' was a ' + meta['description'] + '.',
board_resolution: true,
board_reports: true,
downloads: true,
}
data.delete(:project_name) if data[:project_name] == pid.capitalize
if has_svn pid
data[:source_repositories] ||= []
data[:source_repositories] <<
{
type: 'Subversion'
}
end
has_git = get_json(GITREPOS)['projects'][pid]
if has_git
data[:source_repositories] ||= []
data[:source_repositories] <<
{
type: 'Git'
}
end
mlists = get_json(LISTSAO)['lists']["#{pid}.apache.org"]&.keys
if mlists
data[:mailing_lists] = mlists.sort_by {|l| l == 'dev' ? 'aaa' : l} if mlists.size > 0
else
$stderr.puts "No mailing lists found for #{pid}"
end
jiras = get_jiras pid
if jiras.size > 0
data[:issue_trackers] ||= []
tracker =
{
type: 'JIRA'
}
tracker[:keys] = jiras.sort if jiras.size > 1 or jiras.first != pid.upcase
data[:issue_trackers] << tracker
end
wikis = find_wikis pid
if wikis.size > 0
data[:wiki] = {
type: 'CWIKI'
}
data[:wiki][:keys] = wikis if wikis.size > 1 or wikis.first != pid.upcase
end
dir = ENV['OUTPUT'] || '_data/projects'
output = File.join(dir, "#{pid}.yaml")
puts "Creating #{output}"
content = YAML.safe_dump(data, permitted_classes: [Date], stringify_names: true, indentation: 4)
tmp = content.sub('project_description: ', "project_description: >-\n ")
File.write(output, tmp)
end
end