Description of an git target
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | descriptor | = | git_descriptor%default | 
                 Kind of the git target  | 
        |
| character(len=:), | public, | allocatable | :: | object | 
                 Additional descriptor of the git object  | 
        ||
| character(len=:), | public, | allocatable | :: | url | 
                 Target URL of the git repository  | 
        
Fetch and checkout in local directory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(git_target_t), | intent(in) | :: | self | 
 Instance of the git target  | 
        ||
| character(len=*), | intent(in) | :: | local_path | 
 Local path to checkout in  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
 Error  | 
        
Dump dependency to toml table
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(srcfile_t), | intent(inout) | :: | self | 
                 Instance of the serializable object  | 
        ||
| type(toml_table), | intent(inout) | :: | table | 
                 Data structure  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
                 Error handling  | 
        
Write serializable object to file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self | 
                 Instance of the dependency tree  | 
        ||
| character(len=*), | intent(in) | :: | file | 
                 File name  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
                 Error handling  | 
        |
| logical, | intent(in), | optional | :: | json | 
                 Optional JSON format  | 
        
Write serializable object to a formatted Fortran unit
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self | 
                 Instance of the dependency tree  | 
        ||
| integer, | intent(in) | :: | unit | 
                 Formatted unit  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
                 Error handling  | 
        |
| logical, | intent(in), | optional | :: | json | 
                 Optional JSON format requested?  | 
        
Dump dependency to toml table
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(git_target_t), | intent(inout) | :: | self | 
 Instance of the serializable object  | 
        ||
| type(toml_table), | intent(inout) | :: | table | 
 Data structure  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
 Error handling  | 
        
Show information on instance
Show information on git target
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(git_target_t), | intent(in) | :: | self | 
 Instance of the git target  | 
        ||
| integer, | intent(in) | :: | unit | 
 Unit for IO  | 
        ||
| integer, | intent(in), | optional | :: | verbosity | 
 Verbosity of the printout  | 
        
Read dependency from toml table (no checks made at this stage)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(srcfile_t), | intent(inout) | :: | self | 
                 Instance of the serializable object  | 
        ||
| type(toml_table), | intent(inout) | :: | table | 
                 Data structure  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
                 Error handling  | 
        
Read dependency tree from file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self | 
                 Instance of the dependency tree  | 
        ||
| character(len=*), | intent(in) | :: | file | 
                 File name  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
                 Error handling  | 
        |
| logical, | intent(in), | optional | :: | json | 
                 Optional JSON format  | 
        
Read dependency tree from file init JSON interpreter Read object from TOML table
use default TOML parser
Read object from TOML table
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self | 
                 Instance of the dependency tree  | 
        ||
| integer, | intent(in) | :: | unit | 
                 File name  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
                 Error handling  | 
        |
| logical, | intent(in), | optional | :: | json | 
                 Optional JSON format  | 
        
Read dependency from toml table (no checks made at this stage)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(git_target_t), | intent(inout) | :: | self | 
 Instance of the serializable object  | 
        ||
| type(toml_table), | intent(inout) | :: | table | 
 Data structure  | 
        ||
| type(error_t), | intent(out), | allocatable | :: | error | 
 Error handling  | 
        
Check that two source files are equal All checks passed!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(srcfile_t), | intent(in) | :: | this | |||
| class(serializable_t), | intent(in) | :: | that | 
Serialization interface
Check that two git targets are equal All checks passed!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(git_target_t), | intent(in) | :: | this | |||
| class(serializable_t), | intent(in) | :: | that | 
Test load/write roundtrip
Test serialization of a serializable object Dump to scratch file Load from scratch file Check same
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self | |||
| character(len=*), | intent(in) | :: | message | |||
| type(error_t), | intent(out), | allocatable | :: | error | 
type, extends(serializable_t) :: git_target_t !> Kind of the git target integer :: descriptor = git_descriptor%default !> Target URL of the git repository character(len=:), allocatable :: url !> Additional descriptor of the git object character(len=:), allocatable :: object contains !> Fetch and checkout in local directory procedure :: checkout !> Show information on instance procedure :: info !> Serialization interface procedure :: serializable_is_same => git_is_same procedure :: dump_to_toml procedure :: load_from_toml end type git_target_t