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