[ 
https://issues.apache.org/jira/browse/LUCY-26?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marvin Humphrey updated LUCY-26:
--------------------------------

    Attachment: bp_hierarchy.diff

Boilerplater::Hierarchy is used to manipulate groups of .bp files and the
classes defined within them en masse:

{code:none}
my $hierarchy = Boilerplater::Hierarchy->new(
    source => '/path/to/bp/source/dir',
    dest   => '/path/to/output/dir',
);

# Parse every file in the hierarchy.
$hierarchy->build;

# Note which files need to be compiled; propagate the "modified" property from
# parent nodes to all children, forcing children to be recompiled if their
# parent was updated.
my $somebody_is_modified = $hierarchy->propagate_modified;

if ($somebody_is_modified) {
    for my $file ( $hierarchy->files ) {
        generate_code($file) if $file->get_modified;
    }
}
{code}


> Boilerplater::Hierarchy
> -----------------------
>
>                 Key: LUCY-26
>                 URL: https://issues.apache.org/jira/browse/LUCY-26
>             Project: Lucy
>          Issue Type: Sub-task
>          Components: Boilerplater
>            Reporter: Marvin Humphrey
>            Assignee: Marvin Humphrey
>         Attachments: bp_hierarchy.diff
>
>
> Add Boilerplater::Hierarchy, an abstraction which represents a class 
> hierarchy.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to