main

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