File-Create-Layout

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Test::Rinci" : "0.151"
         },
         "x_spec" : {
            "Rinci" : "v1.1.88"
         }
      },
      "runtime" : {
         "requires" : {
            "Exporter" : "5.57",
            "File::chdir" : "0",
            "File::chown" : "0",
            "JSON::MaybeXS" : "0",
            "Log::ger" : "0.027",
            "perl" : "5.010001",
            "strict" : "0",
            "warnings" : "0"
         }
      },
      "test" : {
         "requires" : {
            "File::Spec" : "0",

META.yml  view on Meta::CPAN

dynamic_config: 0
generated_by: 'Dist::Zilla version 6.009, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: File-Create-Layout
requires:
  Exporter: '5.57'
  File::chdir: '0'
  File::chown: '0'
  JSON::MaybeXS: '0'
  Log::ger: '0.027'
  perl: '5.010001'
  strict: '0'
  warnings: '0'
resources:
  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=File-Create-Layout
  homepage: https://metacpan.org/release/File-Create-Layout
  repository: git://github.com/perlancar/perl-File-Create-Layout.git
version: '0.060'

Makefile.PL  view on Meta::CPAN

  "CONFIGURE_REQUIRES" => {
    "ExtUtils::MakeMaker" => 0
  },
  "DISTNAME" => "File-Create-Layout",
  "LICENSE" => "perl",
  "MIN_PERL_VERSION" => "5.010001",
  "NAME" => "File::Create::Layout",
  "PREREQ_PM" => {
    "Exporter" => "5.57",
    "File::chdir" => 0,
    "File::chown" => 0,
    "JSON::MaybeXS" => 0,
    "Log::ger" => "0.027",
    "strict" => 0,
    "warnings" => 0
  },
  "TEST_REQUIRES" => {
    "File::Spec" => 0,
    "File::Temp" => 0,
    "IO::Handle" => 0,
    "IPC::Open3" => 0,

Makefile.PL  view on Meta::CPAN

    "TESTS" => "t/*.t"
  }
);


my %FallbackPrereqs = (
  "Exporter" => "5.57",
  "File::Spec" => 0,
  "File::Temp" => 0,
  "File::chdir" => 0,
  "File::chown" => 0,
  "IO::Handle" => 0,
  "IPC::Open3" => 0,
  "JSON::MaybeXS" => 0,
  "Log::ger" => "0.027",
  "Test::Exception" => 0,
  "Test::More" => "0.98",
  "strict" => 0,
  "warnings" => 0
);

dist.ini  view on Meta::CPAN

File::Temp=0
Test::Exception=0
Test::More=0.98

[Prereqs]
perl=5.010001
strict=0
warnings=0
Exporter=5.57
File::chdir=0
File::chown=0
JSON::MaybeXS=0
Log::ger=0.027

[Prereqs / DevelopX_spec]
-phase=develop
-relationship=x_spec
Rinci=1.1.88

lib/File/Create/Layout.pm  view on Meta::CPAN

Directory must already exist.

If unspecified, will simply create starting from current directory.

_
            schema => 'str*',
        },
    },
};
sub create_files_using_layout {
    require File::chown;

    my %args = @_;

    my $parse_res;
    eval { $parse_res = _parse_layout($args{layout}) };
    return [400, "Syntax error in layout: $@"] if $@;

    my $prefix = $args{prefix};
    local $CWD = $prefix // $CWD;
    $prefix //= ".";

lib/File/Create/Layout.pm  view on Meta::CPAN

            }
            if (defined $e->{perm}) {
                chmod($e->{perm}, $e->{name})
                    or return [500, "Can't chmod file $p/$e->{name}: $!"];
            }
        }

        if (defined($e->{user}) || defined($e->{group})) {
            my %opts;
            $opts{deref} = 0 if $e->{is_symlink};
            File::chown::chown(\%opts, $e->{user}, $e->{group}, $e->{name})
                  or return [500, "Can't chown file $p/$e->{name}: $!"];
        }

        $prev_level = $e->{level};
    }

    [200, "OK"];
}

$SPEC{check_layout} = {
    v => 1.1,



( run in 0.743 second using v1.01-cache-2.11-cpan-5511b514fd6 )