public virtual void CreatePackage(CreatePackageInput input, IFileSystem fileSystem) { var manifest = fileSystem.LoadPackageManifestFrom(input.PackageFolder); var creator = new PackageCreator(fileSystem, new ZipFileService(), new PackageLogger(), new AssemblyFileFinder(new FileSystem())); creator.CreatePackage(input, manifest); }
public virtual void CreatePackage(CreateBottleInput input, IFileSystem fileSystem) { var fileName = FileSystem.Combine(input.PackageFolder, input.ManifestFileNameFlag ?? PackageManifest.FILE); var manifest = fileSystem.LoadFromFile <PackageManifest>(fileName); var creator = new PackageCreator(fileSystem, new ZipFileService(fileSystem), new PackageLogger(), new AssemblyFileFinder(fileSystem)); creator.CreatePackage(input, manifest); }
public virtual void CreatePackage(CreatePackageInput input, IFileSystem fileSystem) { var fileName = FileSystem.Combine(input.PackageFolder, input.ManifestFileNameFlag ?? PackageManifest.FILE); var reader = new PackageManifestXmlReader(); var manifest = reader.ReadFrom(fileName); var creator = new PackageCreator(fileSystem, new ZipFileService(fileSystem), new PackageLogger(), new AssemblyFileFinder(new FileSystem())); creator.CreatePackage(input, manifest); }
private void SetupAddMenu() { AddMenu.menu.AppendAction("Add package from disk...", a => { var path = EditorUtility.OpenFilePanelWithFilters("Select package on disk", "", new[] { "package.json file", "json" }); if (!string.IsNullOrEmpty(path) && !Package.PackageOperationInProgress) { Package.AddFromLocalDisk(path); } }, a => DropdownMenuAction.Status.Normal); AddMenu.menu.AppendAction("Add package from git URL...", a => { var addFromGitUrl = new PackagesAction("Add"); addFromGitUrl.actionClicked += url => { addFromGitUrl.Hide(); if (!Package.PackageOperationInProgress) { Package.AddFromUrl(url); } }; parent.Add(addFromGitUrl); addFromGitUrl.Show(); }, a => DropdownMenuAction.Status.Normal); AddMenu.menu.AppendSeparator(""); AddMenu.menu.AppendAction("Create Package...", a => { var defaultName = PackageCreator.GenerateUniquePackageDisplayName("New Package"); var createPackage = new PackagesAction("Create", defaultName); createPackage.actionClicked += displayName => { createPackage.Hide(); var packagePath = PackageCreator.CreatePackage("Packages/" + displayName); AssetDatabase.Refresh(); EditorApplication.delayCall += () => { var path = Path.Combine(packagePath, "package.json"); var o = AssetDatabase.LoadMainAssetAtPath(path); if (o != null) { UnityEditor.Selection.activeObject = o; } PackageManagerWindow.SelectPackageAndFilter(displayName, PackageFilter.InDevelopment, true); }; }; parent.Add(createPackage); createPackage.Show(); }, a => DropdownMenuAction.Status.Normal); }
public IEnumerator TestCreatePackage() { var path = PackageCreator.CreatePackage("Packages/Test Package"); m_FoldersToDelete.Add(path); // Wait for asset db refresh yield return(null); Assert.AreEqual("Packages/com.undefined.testpackage", path); Assert.IsTrue(Directory.Exists(path)); }
/* * * [Fact] * public void RemovePackage_DeletesPackageDirectory_IfItExists() * { * // Arrange * var fileSystem = new MockFileSystem(); * fileSystem.AddFile(Path.Combine("Foo", "1.0.0-beta2", "Foo.nuspec"), "Nuspec contents"); * fileSystem.AddFile(Path.Combine("Foo", "1.0.0-beta2", "Foo.1.0.0-beta2.nupkg.sha512"), "hash contents"); * fileSystem.AddFile(Path.Combine("Foo", "1.0.0-beta2", "tools", "net45", "Foo.targets"), "Foo.targets contents"); * fileSystem.AddFile(Path.Combine("Foo", "1.0.0-beta4", "Foo.nuspec"), "1.0.0-beta4 Nuspec contents"); * * var repository = new ExpandedPackageRepository(fileSystem); * var package = PackageUtility.CreatePackage("Foo", "1.0-beta2"); * * // Act * repository.RemovePackage(package); * * // Assert * var deletedItems = Assert.Single(fileSystem.Deleted); * Assert.Contains(Path.Combine("Foo", "1.0.0-beta2"), deletedItems); * Assert.True(fileSystem.FileExists(Path.Combine("Foo", "1.0.0-beta4", "Foo.nuspec"))); * } * * [Fact] * public void RemovePackage_Succeeds_IfPackageDoesNotExist() * { * // Arrange * var fileSystem = new MockFileSystem(); * fileSystem.AddFile(Path.Combine("Foo", "1.0.0", "Foo.nuspec"), "Nuspec contents"); * fileSystem.AddFile(Path.Combine("Foo", "1.0.0", "tools", "net45", "Foo.targets"), "Foo.targets contents"); * fileSystem.AddFile(Path.Combine("Foo", "1.0.0-beta4", "Foo.nupkg"), "1.0.0-beta4 Nuspec contents"); * * var repository = new ExpandedPackageRepository(fileSystem); * var package = PackageUtility.CreatePackage("Foo", "1.0.0-beta4"); * * // Act * repository.RemovePackage(package); * * // Assert * Assert.Empty(fileSystem.Deleted); * } * */ private LocalPackageInfo CreateMyPackage() { return(PackageCreator.CreatePackage("MyPackage", "1.0.0-beta2", tmpDir.Path, packageBuilder => { packageBuilder.Authors.Add("test"); packageBuilder.Files.Add( CreateMockedPackageFile(@"content\net40\App_Code", "PreapplicationStartCode.cs", content: "Preapplication content").Object); packageBuilder.Files.Add( CreateMockedPackageFile(@"tools\net40", "package.targets", "package.targets content").Object); packageBuilder.Files.Add( CreateMockedPackageFile(@"lib\net40", "MyPackage.dll", "lib contents").Object); })); }
public override void ExecuteCommand(AppSessionTry session, StringRequestInfo requestInfo) { //判断是否可以登录成功,如果登录失败,断开连接 if (IsLogin(requestInfo.Body)) { session.Send(PackageCreator.CreatePackage("Comm1000", "{\"result\":\"success\"}")); } else { session.Close(CloseReason.ServerShutdown); } //throw new NotImplementedException(); }
public void TestCreatePackage_WithInvalidPath_ThrowsArgumentException(string path) { Assert.Catch <ArgumentException>(() => PackageCreator.CreatePackage(path)); }
private void SetupAddMenu() { addMenu.menu.AppendAction("Add package from disk...", a => { var path = EditorUtility.OpenFilePanelWithFilters("Select package on disk", "", new[] { "package.json file", "json" }); if (Path.GetFileName(path) != "package.json") { Debug.Log("Please select a valid package.json file in a package folder."); return; } if (!string.IsNullOrEmpty(path) && !PackageDatabase.instance.isInstallOrUninstallInProgress) { PackageDatabase.instance.InstallFromPath(Path.GetDirectoryName(path)); PackageManagerWindowAnalytics.SendEvent("addFromDisk"); } }, a => DropdownMenuAction.Status.Normal); addMenu.menu.AppendAction("Add package from tarball...", a => { var path = EditorUtility.OpenFilePanelWithFilters("Select package on disk", "", new[] { "Package tarball", "tgz" }); if (!string.IsNullOrEmpty(path) && !PackageDatabase.instance.isInstallOrUninstallInProgress) { PackageDatabase.instance.InstallFromPath(path); PackageManagerWindowAnalytics.SendEvent("addFromTarball"); } }, a => DropdownMenuAction.Status.Normal); addMenu.menu.AppendAction("Add package from git URL...", a => { var addFromGitUrl = new PackagesAction("Add"); addFromGitUrl.actionClicked += url => { addFromGitUrl.Hide(); if (!PackageDatabase.instance.isInstallOrUninstallInProgress) { PackageDatabase.instance.InstallFromUrl(url); PackageManagerWindowAnalytics.SendEvent("addFromGitUrl"); } }; parent.Add(addFromGitUrl); addFromGitUrl.Show(); }, a => DropdownMenuAction.Status.Normal); addMenu.menu.AppendSeparator(""); addMenu.menu.AppendAction("Create Package...", a => { var defaultName = PackageCreator.GenerateUniquePackageDisplayName("New Package"); var createPackage = new PackagesAction("Create", defaultName); createPackage.actionClicked += displayName => { createPackage.Hide(); var packagePath = PackageCreator.CreatePackage("Packages/" + displayName); PackageManagerWindowAnalytics.SendEvent("createPackage"); AssetDatabase.Refresh(); EditorApplication.delayCall += () => { var path = Path.Combine(packagePath, "package.json"); var o = AssetDatabase.LoadMainAssetAtPath(path); if (o != null) { UnityEditor.Selection.activeObject = o; } PackageManagerWindow.SelectPackageAndFilter(displayName, PackageFilterTab.InDevelopment, true); }; }; parent.Add(createPackage); createPackage.Show(); }, a => DropdownMenuAction.Status.Normal); PackageManagerExtensions.ExtensionCallback(() => { foreach (var extension in PackageManagerExtensions.MenuExtensions) { extension.OnAddMenuCreate(addMenu.menu); } }); }
public void Login() { client.Send(PackageCreator.CreatePackage("Comm1000", "{\"username\":\"xin\",\"password\":\"7654321\"}")); }
/// <summary> /// Processes the desired command with the arguments specified in the command line arguments from Main(). /// </summary> /// <param name="args"> /// The optional command line arguments, used to override the arguments with which the application was started. /// </param> public static void Process(string args = "") { if (args != string.Empty) { Arguments.Populate(args); } string command = string.Empty; try { if (Operands.Count > 1) { command = Operands[1].ToLower(); } if (command == "manifest") { ManifestGenerator generator = new ManifestGenerator(); generator.Updated += Update; PackageManifest manifest = generator.GenerateManifest(Directory, HashFiles, ManifestFile); if (string.IsNullOrEmpty(ManifestFile) && manifest != default(PackageManifest)) { Console.WriteLine(manifest.ToJson()); } } else if (command == "extract-manifest") { ManifestExtractor extractor = new ManifestExtractor(); extractor.Updated += Update; PackageManifest manifest = extractor.ExtractManifest(PackageFile, ManifestFile); if (string.IsNullOrEmpty(ManifestFile) && manifest != default(PackageManifest)) { Console.WriteLine(manifest.ToJson()); } } else if (command == "package") { PackageCreator creator = new PackageCreator(); creator.Updated += Update; string privateKey = string.Empty; if (!string.IsNullOrEmpty(PrivateKeyFile)) { privateKey = File.ReadAllText(PrivateKeyFile); } creator.CreatePackage(Directory, ManifestFile, PackageFile, SignPackage, privateKey, Passphrase, KeybaseUsername); } else if (command == "extract-package") { PackageExtractor extractor = new PackageExtractor(); extractor.Updated += Update; string publicKey = string.Empty; if (!string.IsNullOrEmpty(PublicKeyFile)) { publicKey = File.ReadAllText(PublicKeyFile); } extractor.ExtractPackage(PackageFile, Directory, publicKey, Overwrite, SkipVerification); } else if (command == "trust") { PackageTruster truster = new PackageTruster(); truster.Updated += Update; truster.TrustPackage(PackageFile, File.ReadAllText(PrivateKeyFile), Passphrase); } else if (command == "verify") { PackageVerifier verifier = new PackageVerifier(); verifier.Updated += Update; string publicKey = string.Empty; if (!string.IsNullOrEmpty(PublicKeyFile)) { publicKey = File.ReadAllText(PublicKeyFile); } verifier.VerifyPackage(PackageFile, publicKey); } else { HelpPrinter.PrintHelp(Operands.Count > 2 ? Operands[2] : default(string)); } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } }