Look for a matching framework (OSX)
(String libraryName)
| 359 | |
| 360 | /** Look for a matching framework (OSX) */ |
| 361 | static String[] matchFramework(String libraryName) { |
| 362 | Set<String> paths = new LinkedHashSet<>(); |
| 363 | File framework = new File(libraryName); |
| 364 | if (framework.isAbsolute()) { |
| 365 | if (libraryName.contains(".framework")) { |
| 366 | if (framework.exists()) { |
| 367 | return new String[]{framework.getAbsolutePath()}; |
| 368 | } |
| 369 | paths.add(framework.getAbsolutePath()); |
| 370 | } |
| 371 | else { |
| 372 | framework = new File(new File(framework.getParentFile(), framework.getName() + ".framework"), framework.getName()); |
| 373 | if (framework.exists()) { |
| 374 | return new String[]{framework.getAbsolutePath()}; |
| 375 | } |
| 376 | paths.add(framework.getAbsolutePath()); |
| 377 | } |
| 378 | } |
| 379 | else { |
| 380 | final String[] PREFIXES = { System.getProperty("user.home"), "", "/System" }; |
| 381 | String suffix = !libraryName.contains(".framework") |
| 382 | ? libraryName + ".framework/" + libraryName : libraryName; |
| 383 | for (String prefix : PREFIXES) { |
| 384 | framework = new File(prefix + "/Library/Frameworks/" + suffix); |
| 385 | if (framework.exists()) { |
| 386 | return new String[]{framework.getAbsolutePath()}; |
| 387 | } |
| 388 | paths.add(framework.getAbsolutePath()); |
| 389 | } |
| 390 | } |
| 391 | return paths.toArray(new String[0]); |
| 392 | } |
| 393 | |
| 394 | private String getLibraryName(String libraryName) { |
| 395 | String simplified = libraryName; |