This is an automated email from the ASF dual-hosted git repository. rubys pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 27e591b rough in a script to modify PMC chairs 27e591b is described below commit 27e591b9d6350d89bd3c3aca058ff57e7070d342 Author: Sam Ruby AuthorDate: Sat Jan 6 08:40:42 2018 -0500 rough in a script to modify PMC chairs --- Rakefile | 9 +++++++-- tools/modify_pmcchairs.rb | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/Rakefile b/Rakefile index 0e4d07e..badaf2b 100644 --- a/Rakefile +++ b/Rakefile @@ -7,7 +7,7 @@ Gem::PackageTask.new(spec) do |pkg| end # update gems and restart applications as needed -task :update do +task :update, [:command] do |task, args| # locate system ruby sysruby = File.realpath(`which ruby`.chomp) sysruby = "#{File.dirname(sysruby)}/%s#{sysruby[/ruby([.\d]*)$/, 1]}" @@ -33,7 +33,7 @@ task :update do end bundler = 'bundle' unless File.exist?(bundler) - system "#{bundler} update" + system "#{bundler} #{args.command || 'update'}" end end @@ -62,6 +62,11 @@ task :update do File.utime new_baseline, new_baseline, update_file end +# pristine version of update +task :pristine do + Rake::Task[:update].invoke('pristine') +end + task :config do $LOAD_PATH.unshift File.expand_path('../lib', __FILE__) require 'whimsy/asf/config' diff --git a/tools/modify_pmcchairs.rb b/tools/modify_pmcchairs.rb new file mode 100755 index 0000000..96f3cc1 --- /dev/null +++ b/tools/modify_pmcchairs.rb @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby +$LOAD_PATH.unshift File.realpath(File.expand_path('../../lib', __FILE__)) + +# +# add/remove people from PMC Chairs +# + +require 'whimsy/asf' + +# extract action to be performed +action = ARGV.delete('--add') || ARGV.delete("--rm") + +# map arguments provided to people +people = ARGV.map {|id| ASF::Person[id]} + +# validate ids +ARGV.zip(people).map do |id, person| + unless person + STDERR.puts "invalid id: #{id}" + exit 1 + end +end + +# get the list from LDAP to be updated +chairs = ASF::Service.find('pmc-chairs') + +# execute the action +if action == '--add' and not people.empty? + ASF::LDAP.bind { chairs.add(people) } +elsif action == '-rm' and not people.empty? + ASF::LDAP.bind { chairs.remove(people) } +else + STDERR.puts "Usage: #{$PROGRAM_NAME} (--add|--rm) list..." +end -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].