NAME
App::hopen::Asset - record representing a file to be produced
SYNOPSIS
An asset is something to be produced, e.g., a file on disk or something else that could be a target in a Makefile.
ATTRIBUTES
target
TODO: should on-disk targets be required to be BasedPath instances?
The name of the asset. Must be one of:
A Path::Class instance, representing a file or directory on disk
An App::hopen::Util::BasedPath instance, representing a file or directory on disk
Something that stringifies to a non-disk target (e.g., a goal). Anything in this category will be stored as its stringified value, NOT as its original value.
No default, so don't call $obj->target
until you've assigned a target!
made_by
The App::hopen::G::Cmd (or subclass) instance that produced this asset. Used to distinguish assets from different sources.
name
An optional asset name. If you don't specify one, a unique one will be generated automatically.
METHODS
isdisk
Returns truthy if the "target" is an on-disk entity, i.e., a directory or file.
BUILD
Enforces the requirement for target
and made_by
.