public static InstallDetails sync(Project project) { Set<PackageManifest> currentManifests = gatherManifests(gatherDependencies(project, ProjectConfig.loadShadow(project))); Set<PackageManifest> targetManifests = gatherManifests(gatherDependencies(project, ProjectConfig.load(project))); Log.L.info("Current packages: {}, target packages: {}", currentManifests.size(), targetManifests.size()); AssetMap current = buildAssetMap(currentManifests); AssetMap target = buildAssetMap(targetManifests); AssetDifference difference = Synchroniser.difference(current, target, Synchroniser.filter(project)); Log.L.info("Files added: {}", difference.getAdd().size()); Log.L.info("Files removed: {}", difference.getRemove().size()); Log.L.info("Files moved: {}", difference.getMoved().size()); remove(project, difference.getRemove()); cleanOldPackageDirs(project.getProjectDir(), difference.getRemove()); move(project, difference.getMoved()); return install(project, difference.getAdd(), targetManifests); }
public static InstallDetails sync(Project project) { Set<PackageManifest> currentManifests = gatherManifests(gatherDependencies(project, ProjectConfig.loadShadow(project))); Set<PackageManifest> targetManifests = gatherManifests(gatherDependencies(project, ProjectConfig.load(project))); Log.L.info("Current packages: {}, target packages: {}", currentManifests.size(), targetManifests.size()); AssetMap current = buildAssetMap(currentManifests); AssetMap target = buildAssetMap(targetManifests); AssetDifference difference = Synchroniser.difference(current, target, Synchroniser.filter(project)); Log.L.info("Files added: {}", difference.getAdd().size()); Log.L.info("Files removed: {}", difference.getRemove().size()); Log.L.info("Files moved: {}", difference.getMoved().size()); remove(project, difference.getRemove()); cleanOldPackageDirs(project.getProjectDir(), difference.getRemove()); move(project, difference.getMoved()); return install(project, difference.getAdd(), targetManifests); }