static void CreateSymlinksFor( PackageManager.PackageInfo[] packages, int localPackagesCount, DirectoryInfo rootPath ) { var links = new DirectoryInfo[localPackagesCount]; var targets = new DirectoryInfo[localPackagesCount]; for (int i = 0; i < localPackagesCount; ++i) { var package = packages[i]; Assert.AreEqual(PackageSource.Local, package.source); links[i] = new DirectoryInfo(Path.GetFullPath(Path.Combine(rootPath.FullName, package.assetPath))); targets[i] = new DirectoryInfo(package.resolvedPath); } if (!links.AreSymbolicLinks()) { if (!SymbolicLinkUtilities.CreateSymbolicLinks(links, targets)) { throw new Exception("Failed to create packages symlinks in ProjectFolder/Library/ShaderAnalysis/PackageSymlinks/Packages/*. Please check if you have sufficient privileges to create symlinks or manually create the symlinks for each package."); } } }
static void CreateSymlinksFor( PackageManager.PackageInfo[] packages, int localPackagesCount, DirectoryInfo rootPath ) { var links = new DirectoryInfo[localPackagesCount]; var targets = new DirectoryInfo[localPackagesCount]; for (int i = 0; i < localPackagesCount; ++i) { var package = packages[i]; Assert.AreEqual(PackageSource.Local, package.source); links[i] = new DirectoryInfo(Path.GetFullPath(Path.Combine(rootPath.FullName, package.assetPath))); targets[i] = new DirectoryInfo(package.resolvedPath); } if (!links.AreSymbolicLinks()) { SymbolicLinkUtilities.CreateSymbolicLinks(links, targets); } }