Sha256: b19a015cced765d9bf0e02d78507ff6fc664c3015f838c6d18282e7b88b37ae8

Contents?: true

Size: 1017 Bytes

Versions: 3

Compression:

Stored size: 1017 Bytes

Contents

#!/usr/bin/env ruby

require 's3repo'
require 'mercenary'

def find(pattern, limits)
  Dir.glob(pattern).select { |x| !limits || limits.include?(File.dirname(x)) }
end

Mercenary.program(:s3repo) do |p|
  p.version S3Repo::VERSION
  p.description 'Package management tool for Archlinux repos'
  p.syntax 's3repo <subcommand> [args]'

  p.command(:build) do |c|
    c.syntax 'build [package...]'
    c.description 'Build package files from PKGBUILDs'

    c.action do |args, _|
      S3Repo.new.build_packages find('*/PKGBUILD', args), ENV['MAKEPKG_FLAGS']
    end
  end

  p.command(:upload) do |c|
    c.syntax 'upload [package...]'
    c.description 'Upload packages to repo'

    c.action do |args, _|
      S3Repo.new.add_packages find('*/*.pkg.tar.xz', args)
    end
  end

  p.command(:remove) do |c|
    c.syntax 'remove [package...]'
    c.description 'Remove packages from repo DB'

    c.action do |args, _|
      S3Repo.new.remove_packages args
    end
  end

  p.action do
    puts p
    exit 1
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
s3repo-0.3.2 bin/s3repo
s3repo-0.3.1 bin/s3repo
s3repo-0.3.0 bin/s3repo