@@ -61,9 +61,12 @@ async def _init_cache(self):
61
61
self .cache = await cache .Cache (self .cache_dir )
62
62
63
63
def _set_paths (self , args , env ):
64
- explicit_peru_file = args ['--file' ]
65
- explicit_sync_dir = args ['--sync-dir' ]
66
64
explicit_basename = args ['--file-basename' ]
65
+ explicit_peru_file = os .path .abspath (
66
+ args ['--file' ]) if args ['--file' ] else None
67
+ explicit_sync_dir = os .path .abspath (
68
+ args ['--sync-dir' ]) if args ['--sync-dir' ] else None
69
+
67
70
if explicit_peru_file and explicit_basename :
68
71
raise CommandLineError (
69
72
'Cannot use both --file and --file-basename at the same time.' )
@@ -77,15 +80,16 @@ def _set_paths(self, args, env):
77
80
basename = explicit_basename or parser .DEFAULT_PERU_FILE_NAME
78
81
self .peru_file = find_project_file (os .getcwd (), basename )
79
82
self .sync_dir = explicit_sync_dir
80
-
81
83
else :
82
84
basename = explicit_basename or parser .DEFAULT_PERU_FILE_NAME
83
85
self .peru_file = find_project_file (os .getcwd (), basename )
84
86
self .sync_dir = os .path .dirname (self .peru_file )
85
- self .state_dir = (args ['--state-dir' ]
86
- or os .path .join (self .sync_dir , '.peru' ))
87
- self .cache_dir = (args ['--cache-dir' ] or env .get ('PERU_CACHE_DIR' )
88
- or os .path .join (self .state_dir , 'cache' ))
87
+
88
+ self .state_dir = os .path .abspath (
89
+ args ['--state-dir' ]) if args ['--state-dir' ] else os .path .join (self .sync_dir , '.peru' )
90
+
91
+ self .cache_dir = os .path .abspath (
92
+ args ['--cache-dir' ]) if args ['--cache-dir' ] else os .path .join (self .state_dir , 'cache' )
89
93
90
94
def tmp_dir (self ):
91
95
dir = tempfile .TemporaryDirectory (dir = self ._tmp_root )
0 commit comments