From 4af5e0541fe3dee884cf8f5a1f6201770254b9fa Mon Sep 17 00:00:00 2001 From: Richard Ipsum Date: Wed, 19 Aug 2015 15:34:01 +0000 Subject: Add pathname2distinfo util Change-Id: I89ea4bbb26cff27a6a2dcb71e3101e52b8f91002 --- baserockimport/exts/pathname2distinfo.pl | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 baserockimport/exts/pathname2distinfo.pl diff --git a/baserockimport/exts/pathname2distinfo.pl b/baserockimport/exts/pathname2distinfo.pl new file mode 100755 index 0000000..6282573 --- /dev/null +++ b/baserockimport/exts/pathname2distinfo.pl @@ -0,0 +1,46 @@ +#!/usr/bin/perl +# +# A helper utility, takes a Perl distribution pathname and outputs +# a JSON representation of the distribution data. +# +# Copyright © 2015 Codethink Limited +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use 5.020; +use strict; +use English; +use warnings; + +use CPAN::DistnameInfo; +use JSON; + +my $argc = @ARGV; + +unless ($argc == 1) { + say STDERR "usage: $PROGRAM_NAME "; + exit 1; +} + +my $pathname = $ARGV[0]; +my $dist_info = CPAN::DistnameInfo->new($pathname); + +unless (defined $dist_info) { + die "Couldn't construct DistInfo from pathname: $pathname"; +} + +my %h = $dist_info->properties; +my $json = encode_json(\%h); + +say $json; -- cgit v1.2.1