@TaskAction public void sync() { unityFiles = Synchroniser.sync(getProject()); toMerge = unityFiles.getPartialPackages(); } }
@Override public void execute(Task task) { File staged = project.file("nxt/import/package.staged"); if (staged.exists()) { UnityPuppet.installPackage(project, staged); } for (File file : build.unityFiles.getUnityPackages()) { UnityPuppet.installPackage(project, file); } } });
public static InstallDetails install(Project project, ImmutableMap<String, Asset> add, Set<PackageManifest> targetManifests) { Map<String, File> filesByGUID = buildGUIDToUnitypackageMap(targetManifests); HashMultimap<File, String> guidsByFile = HashMultimap.create(); for (Map.Entry<String, Asset> entry : add.entrySet()) { Log.L.info("add " + entry.getKey() + " " + entry.getValue().getPath()); File f = filesByGUID.get(entry.getKey()); Log.L.info("Putting " + f.getPath() + " " + entry.getKey()); guidsByFile.put(f, entry.getKey()); } Set<File> completePackages = Sets.newHashSet(); HashMultimap<File, String> partialPackages = HashMultimap.create(); for (File file : guidsByFile.keys()) { PackageManifest manifest = findManifest(file, targetManifests); if (manifest.getFiles().size() == guidsByFile.get(file).size()) { Log.L.info("Install all {}", file.getName()); completePackages.add(file); } else { Log.L.info("Install partially {}", file.getName()); partialPackages.putAll(file, guidsByFile.values()); } } Log.L.info("Installing {} complete packages, {} partial", completePackages.size(), partialPackages.size()); return new InstallDetails(ImmutableSet.copyOf(completePackages), mergeArchives(project, partialPackages)); }
@Override public void execute(Task task) { File staged = project.file("nxt/import/package.staged"); if (staged.exists()) { UnityPuppet.installPackage(project, staged); } for (File file : build.unityFiles.getUnityPackages()) { UnityPuppet.installPackage(project, file); } } });
public static InstallDetails install(Project project, ImmutableMap<String, Asset> add, Set<PackageManifest> targetManifests) { Map<String, File> filesByGUID = buildGUIDToUnitypackageMap(targetManifests); HashMultimap<File, String> guidsByFile = HashMultimap.create(); for (Map.Entry<String, Asset> entry : add.entrySet()) { Log.L.info("add " + entry.getKey() + " " + entry.getValue().getPath()); File f = filesByGUID.get(entry.getKey()); Log.L.info("Putting " + f.getPath() + " " + entry.getKey()); guidsByFile.put(f, entry.getKey()); } Set<File> completePackages = Sets.newHashSet(); HashMultimap<File, String> partialPackages = HashMultimap.create(); for (File file : guidsByFile.keys()) { PackageManifest manifest = findManifest(file, targetManifests); if (manifest.getFiles().size() == guidsByFile.get(file).size()) { Log.L.info("Install all {}", file.getName()); completePackages.add(file); } else { Log.L.info("Install partially {}", file.getName()); partialPackages.putAll(file, guidsByFile.values()); } } Log.L.info("Installing {} complete packages, {} partial", completePackages.size(), partialPackages.size()); return new InstallDetails(ImmutableSet.copyOf(completePackages), mergeArchives(project, partialPackages)); }
@TaskAction public void sync() { unityFiles = Synchroniser.sync(getProject()); toMerge = unityFiles.getPartialPackages(); } }