File Coverage

blib/lib/SBOM/CycloneDX/Enum/LifecyclePhase.pm
Criterion Covered Total %
statement 20 20 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 27 28 96.4


line stmt bran cond sub pod time code
1             package SBOM::CycloneDX::Enum::LifecyclePhase;
2              
3 16     16   304 use 5.010001;
  16         67  
4 16     16   92 use strict;
  16         36  
  16         460  
5 16     16   78 use warnings;
  16         34  
  16         789  
6 16     16   86 use utf8;
  16         33  
  16         122  
7              
8 16     16   691 use Exporter 'import';
  16         29  
  16         3383  
9             our (@EXPORT_OK, %EXPORT_TAGS, %ENUM);
10              
11             BEGIN {
12              
13 16     16   213 %ENUM = (
14             DESIGN => 'design',
15             PRE_BUILD => 'pre-build',
16             BUILD => 'build',
17             POST_BUILD => 'post-build',
18             OPERATIONS => 'operations',
19             DISCOVERY => 'discovery',
20             DECOMMISSION => 'decommission',
21             );
22              
23 16         99 require constant;
24 16         1569 constant->import(\%ENUM);
25              
26 16         138 @EXPORT_OK = sort keys %ENUM;
27 16         1757 %EXPORT_TAGS = (all => \@EXPORT_OK);
28              
29             }
30              
31 3     3 0 23 sub values { sort values %ENUM }
32              
33              
34             1;
35              
36             =encoding utf-8
37              
38             =head1 NAME
39              
40             SBOM::CycloneDX::Enum::LifecyclePhase - Lifecycle Phase
41              
42             =head1 SYNOPSIS
43              
44             use SBOM::CycloneDX::Enum qw(LIFECYCLE_PHASE);
45              
46             say LIFECYCLE_PHASE->DESIGN;
47              
48              
49             use SBOM::CycloneDX::Enum::LifecyclePhase;
50              
51             say SBOM::CycloneDX::Enum::LifecyclePhase->BUILD;
52              
53              
54             use SBOM::CycloneDX::Enum::LifecyclePhase qw(:all);
55              
56             say DECOMMISSION;
57              
58              
59             =head1 DESCRIPTION
60              
61             L is ENUM package used by L.
62              
63             A pre-defined phase in the product lifecycle.
64              
65              
66             =head1 CONSTANTS
67              
68             =over
69              
70             =item * C, BOM produced early in the development lifecycle
71             containing an inventory of components and services that are proposed or
72             planned to be used. The inventory may need to be procured, retrieved, or
73             resourced prior to use.
74              
75             =item * C, BOM consisting of information obtained prior to a
76             build process and may contain source files and development artifacts and
77             manifests. The inventory may need to be resolved and retrieved prior to
78             use.
79              
80             =item * C, BOM consisting of information obtained during a build
81             process where component inventory is available for use. The precise
82             versions of resolved components are usually available at this time as well
83             as the provenance of where the components were retrieved from.
84              
85             =item * C, BOM consisting of information obtained after a build
86             process has completed and the resulting components(s) are available for
87             further analysis. Built components may exist as the result of a CI/CD
88             process, may have been installed or deployed to a system or device, and may
89             need to be retrieved or extracted from the system or device.
90              
91             =item * C, BOM produced that represents inventory that is
92             running and operational. This may include staging or production
93             environments and will generally encompass multiple SBOMs describing the
94             applications and operating system, along with HBOMs describing the hardware
95             that makes up the system. Operations Bill of Materials (OBOM) can provide
96             full-stack inventory of runtime environments, configurations, and
97             additional dependencies.
98              
99             =item * C, BOM consisting of information observed through
100             network discovery providing point-in-time enumeration of embedded,
101             on-premise, and cloud-native services such as server applications,
102             connected devices, microservices, and serverless functions.
103              
104             =item * C, BOM containing inventory that will be, or has been
105             retired from operations.
106              
107             =back
108              
109             =head1 SUPPORT
110              
111             =head2 Bugs / Feature Requests
112              
113             Please report any bugs or feature requests through the issue tracker
114             at L.
115             You will be notified automatically of any progress on your issue.
116              
117             =head2 Source Code
118              
119             This is open source software. The code repository is available for
120             public review and contribution under the terms of the license.
121              
122             L
123              
124             git clone https://github.com/giterlizzi/perl-SBOM-CycloneDX.git
125              
126              
127             =head1 AUTHOR
128              
129             =over 4
130              
131             =item * Giuseppe Di Terlizzi
132              
133             =back
134              
135              
136             =head1 LICENSE AND COPYRIGHT
137              
138             This software is copyright (c) 2025-2026 by Giuseppe Di Terlizzi.
139              
140             This is free software; you can redistribute it and/or modify it under
141             the same terms as the Perl 5 programming language system itself.
142              
143             =cut