@@ -, +, @@ --- api/v1/minifySwagger.pl | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100755 api/v1/minifySwagger.pl --- a/api/v1/minifySwagger.pl +++ a/api/v1/minifySwagger.pl @@ -0,0 +1,86 @@ +#!/usr/bin/perl + +# Copyright 2016 KohaSuomi +# +# This file is part of Koha. +# +# Koha 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; either version 3 of the License, or (at your option) any later +# version. +# +# Koha 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 Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use Modern::Perl; + +use Getopt::Long qw(:config no_ignore_case); + +my $help = 0; +my $verbose = 0; +my $swaggerFile = "swagger.json"; +my $swaggerMinifiedFile = "swagger.min.json"; +my $validate = 0; + +GetOptions( + 'h|help' => \$help, + 'v|verbose:i' => \$verbose, + 's|source:s' => \$swaggerFile, + 'd|destination:s' => \$swaggerMinifiedFile, + 'V|validate' => \$validate, +); + +my $usage = < 0) { + $ENV{SWAGGER2_DEBUG} = $verbose; +} + + +require Swagger2; #When you import the Swagger2-libraries, the environment variables are checked and cannot be altered anymore. So set verbosity first, then load libs. +my $swagger = Swagger2->new($swaggerFile); +$swagger = $swagger->expand; #Fetch all JSON-Schema references + +open(SWOUT, ">:encoding(UTF-8)", $swaggerMinifiedFile) or die "$0: Couldn't open the minified Swagger2 output file:\n $!"; +print SWOUT $swagger->to_string() if not($validate); +close(SWOUT); --