Build progress object
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(console_t), | public | :: | console |
Console object for updating console lines |
|||
integer, | public | :: | n_complete |
Number of completed targets |
|||
integer, | public | :: | n_target |
Total number of targets scheduled |
|||
integer, | public, | allocatable | :: | output_lines(:) |
Store needed when updating previous console lines |
||
logical, | public | :: | plain_mode | = | .true. |
‘Plain’ output (no colors or updating) |
|
type(build_target_ptr), | public, | pointer | :: | target_queue(:) |
Queue of scheduled build targets |
Constructor for build_progress_t
Initialise a new build progress object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(build_target_ptr), | intent(in), | target | :: | target_queue(:) |
The queue of scheduled targets |
|
logical, | intent(in), | optional | :: | plain_mode |
Enable ‘plain’ output for progress object |
Progress object to initialise
Output ‘compiling’ status for build target
Output ‘compiling’ status for build target and overall percentage progress
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(build_progress_t), | intent(inout) | :: | progress |
Progress object |
||
integer, | intent(in) | :: | queue_index |
Index of build target in the target queue |
Output ‘complete’ status for build target
Output ‘complete’ status for build target and update overall percentage progress
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(build_progress_t), | intent(inout) | :: | progress |
Progress object |
||
integer, | intent(in) | :: | queue_index |
Index of build target in the target queue |
||
integer, | intent(in) | :: | build_stat |
Build status flag |
Output finished status for whole package
Output finished status for whole package
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(build_progress_t), | intent(inout) | :: | progress |
type build_progress_t !> Console object for updating console lines type(console_t) :: console !> Number of completed targets integer :: n_complete !> Total number of targets scheduled integer :: n_target !> 'Plain' output (no colors or updating) logical :: plain_mode = .true. !> Store needed when updating previous console lines integer, allocatable :: output_lines(:) !> Queue of scheduled build targets type(build_target_ptr), pointer :: target_queue(:) contains !> Output 'compiling' status for build target procedure :: compiling_status => output_status_compiling !> Output 'complete' status for build target procedure :: completed_status => output_status_complete !> Output finished status for whole package procedure :: success => output_progress_success end type build_progress_t