mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-05 16:16:09 +00:00
commit c5a0d0f7394aa742fa336fff7e7c1d3049761868 Merge:8c4991ba3ef8ff8c8760Author: William Cheng <wing328hk@gmail.com> Date: Tue Aug 17 18:28:12 2021 +0800 Merge branch 'mustache-linting' of https://github.com/NathanBaulch/openapi-generator into NathanBaulch-mustache-linting commitf8ff8c8760Author: Nathan Baulch <nathan.baulch@gmail.com> Date: Thu Aug 5 14:12:47 2021 +1000 Reorder tags that handle missing values commitf5d8a33709Author: Nathan Baulch <nathan.baulch@gmail.com> Date: Thu Aug 5 14:08:59 2021 +1000 Use dot notation where possible commit493d14921eAuthor: Nathan Baulch <nathan.baulch@gmail.com> Date: Thu Aug 5 14:10:49 2021 +1000 Remove empty tags commit32480dc53fAuthor: Nathan Baulch <nathan.baulch@gmail.com> Date: Thu Aug 5 10:41:58 2021 +1000 Remove redundant sections commita8edabd722Author: Nathan Baulch <nathan.baulch@gmail.com> Date: Wed Aug 4 22:02:22 2021 +1000 Trim extra EOF new lines commite89bd7458eAuthor: Nathan Baulch <nathan.baulch@gmail.com> Date: Wed Aug 4 21:59:26 2021 +1000 Trim trailing whitespace
77 lines
1.5 KiB
Perl
77 lines
1.5 KiB
Perl
#!/usr/bin/perl
|
|
use FindBin;
|
|
use File::Spec;
|
|
use lib File::Spec->catdir($FindBin::Bin, '..', 'lib');
|
|
|
|
use Moose::Util qw(apply_all_roles);
|
|
use Getopt::Std;
|
|
|
|
my %options=();
|
|
getopts("wnphmHc:", \%options);
|
|
help if $options{h};
|
|
|
|
my $my_app = $options{c} || 'My::App';
|
|
|
|
if ($options{c}) {
|
|
eval <<LOAD;
|
|
use $my_app;
|
|
apply_all_roles($my_app, "WWW::OpenAPIClient::Role::AutoDoc");
|
|
LOAD
|
|
die $@ if $@;
|
|
}
|
|
else {
|
|
package My::App;
|
|
use Moose;
|
|
with ('WWW::OpenAPIClient::Role', 'WWW::OpenAPIClient::Role::AutoDoc');
|
|
}
|
|
|
|
package main;
|
|
|
|
my $opt;
|
|
$opt = 'wide' if $options{w};
|
|
$opt = 'narrow' if $options{n};
|
|
|
|
$opt = 'pod' if $options{p};
|
|
$opt = 'pod' if $options{H};
|
|
$opt = 'pod' if $options{m};
|
|
|
|
$opt ||= 'wide';
|
|
|
|
my $api = $my_app->new;
|
|
|
|
if ($options{H}) {
|
|
my $pod2html = "pod2html --backlink --css http://st.pimg.net/tucs/style.css?3";
|
|
open STDOUT, "| $pod2html" or die "Can't fork: $!";
|
|
$api->autodoc($opt);
|
|
close STDOUT or die "Can't close: $!";
|
|
}
|
|
elsif ($options{m}) {
|
|
my $pod2markdown = "pod2markdown --html-encode-chars 1";
|
|
open STDOUT, "| $pod2markdown" or die "Can't fork: $!";
|
|
$api->autodoc($opt);
|
|
close STDOUT or die "Can't close: $!";
|
|
}
|
|
else {
|
|
$api->autodoc($opt);
|
|
}
|
|
|
|
exit(0);
|
|
|
|
# --------------------
|
|
sub help {
|
|
print <<HELP;
|
|
Usage: autodoc [OPTION] [-c My::App::Class]
|
|
|
|
-w wide format (default)
|
|
-n narrow format
|
|
-p POD format
|
|
-H HTML format
|
|
-m Markdown format
|
|
-h print this help message
|
|
-c your application class
|
|
|
|
HELP
|
|
|
|
exit(0);
|
|
}
|