@@ -451,7 +451,6 @@ subroutine resolve_dependency(self, dependency, root, error)
451
451
character (len= :), allocatable :: manifest, proj_dir, revision
452
452
type (fpm_global_settings) :: global_settings
453
453
logical :: fetch
454
- type (downloader_t) :: downloader
455
454
456
455
if (dependency% done) return
457
456
@@ -469,7 +468,7 @@ subroutine resolve_dependency(self, dependency, root, error)
469
468
else
470
469
call get_global_settings(global_settings, error)
471
470
if (allocated (error)) return
472
- call dependency% get_from_registry(proj_dir, global_settings, error, downloader )
471
+ call dependency% get_from_registry(proj_dir, global_settings, error)
473
472
if (allocated (error)) return
474
473
end if
475
474
@@ -499,7 +498,7 @@ end subroutine resolve_dependency
499
498
! > Get a dependency from the registry. Whether the dependency is fetched
500
499
! > from a local, a custom remote or the official registry is determined
501
500
! > by the global configuration settings.
502
- subroutine get_from_registry (self , target_dir , global_settings , error , downloader )
501
+ subroutine get_from_registry (self , target_dir , global_settings , error , downloader_ )
503
502
504
503
! > Instance of the dependency configuration.
505
504
class(dependency_node_t), intent (in ) :: self
@@ -514,12 +513,19 @@ subroutine get_from_registry(self, target_dir, global_settings, error, downloade
514
513
type (error_t), allocatable , intent (out ) :: error
515
514
516
515
! > Downloader instance.
517
- class(downloader_t), optional , intent (in ) :: downloader
516
+ class(downloader_t), optional , intent (in ) :: downloader_
518
517
519
518
character (:), allocatable :: cache_path, target_url, tmp_file, tmp_path
520
519
type (version_t) :: version
521
520
integer :: stat, unit
522
521
type (json_object) :: json
522
+ class(downloader_t), allocatable :: downloader
523
+
524
+ if (present (downloader_)) then
525
+ downloader = downloader_
526
+ else
527
+ allocate (downloader)
528
+ end if
523
529
524
530
! Use local registry if it was specified in the global config file.
525
531
if (allocated (global_settings% registry_settings% path)) then
0 commit comments