@@ -232,7 +232,10 @@ private static void generateLaunchers(List<Map.Entry<String, Path>> dependencies
232232 String .join (File .pathSeparator , classpath ),
233233 "com.oracle.graal.python.shell.GraalPythonMain" );
234234 try {
235- Files .createDirectories (launcher .getParent ());
235+ Path parent = launcher .getParent ();
236+ if (parent != null ) {
237+ Files .createDirectories (parent );
238+ }
236239 Files .writeString (launcher , script );
237240 var perms = Files .getPosixFilePermissions (launcher );
238241 perms .addAll (List .of (PosixFilePermission .OWNER_EXECUTE , PosixFilePermission .GROUP_EXECUTE , PosixFilePermission .OTHERS_EXECUTE ));
@@ -280,9 +283,13 @@ private static void ensureVenv(Path venv, List<Map.Entry<String, Path>> dependen
280283 return ;
281284 }
282285 Path venvDirectory = venv .toAbsolutePath ();
283- generateLaunchers (dependencies , venvDirectory .getParent ().toString ());
284- runLauncher (venvDirectory .getParent ().toString (), "-m" , "venv" , venvDirectory .toString (), "--without-pip" );
285- runVenvBin (venvDirectory , "graalpy" , List .of ("-I" , "-m" , "ensurepip" ));
286+ Path parent = venv .getParent ();
287+ if (parent != null ) {
288+ String parentString = parent .toString ();
289+ generateLaunchers (dependencies , parentString );
290+ runLauncher (parentString , "-m" , "venv" , venvDirectory .toString (), "--without-pip" );
291+ runVenvBin (venvDirectory , "graalpy" , List .of ("-I" , "-m" , "ensurepip" ));
292+ }
286293 }
287294
288295 private static void runLauncher (String projectPath , String ... args ) {
@@ -408,9 +415,15 @@ private static Collection<Path> resolveProjectDependencies(List<Map.Entry<String
408415
409416 private static void getGraalPyArtifact (List <Map .Entry <String , Path >> dependencies , String aid ) {
410417 var projectArtifacts = resolveProjectDependencies (dependencies );
418+ Path parent ;
419+ Path fileName ;
411420 for (var a : projectArtifacts ) {
412- if (a .getParent ().toString ().contains (GRAALPY_GROUP ) && a .getFileName ().toString ().contains (aid )) {
413- return ;
421+ parent = a .getParent ();
422+ if (parent != null ) {
423+ fileName = a .getFileName ();
424+ if (fileName != null && parent .toString ().contains (GRAALPY_GROUP ) && fileName .toString ().contains (aid )) {
425+ return ;
426+ }
414427 }
415428 }
416429 throw new RuntimeException (String .format ("Missing GraalPy dependency %s:%s. Please add it to your pom" , GRAALPY_GROUP , aid ));
0 commit comments