MonoDevelop.Projects.CustomCommand.GetCommandWorkingDir C# (CSharp) Method

GetCommandWorkingDir() public method

public GetCommandWorkingDir ( WorkspaceObject entry, MonoDevelop.Projects.ConfigurationSelector configuration ) : FilePath
entry WorkspaceObject
configuration MonoDevelop.Projects.ConfigurationSelector
return FilePath
		public FilePath GetCommandWorkingDir (WorkspaceObject entry, ConfigurationSelector configuration)
		{
			StringTagModel tagSource = GetTagModel (entry, configuration);
			if (string.IsNullOrEmpty (workingdir))
				return entry.BaseDirectory;
			FilePath dir = StringParserService.Parse (workingdir, tagSource);
			return dir.ToAbsolute (entry.BaseDirectory);
		}
		

Usage Example

        public void CustomCommands()
        {
            DotNetProject p = new DotNetAssemblyProject("C#");

            p.Name = "SomeProject";
            DotNetProjectConfiguration c = (DotNetProjectConfiguration)p.CreateConfiguration("First");

            CustomCommand cmd = new CustomCommand();

            cmd.Command = "aa bb cc";
            Assert.AreEqual("aa", cmd.GetCommandFile(p, c.Selector));
            Assert.AreEqual("bb cc", cmd.GetCommandArgs(p, c.Selector));

            cmd.Command = "\"aa bb\" cc dd";
            Assert.AreEqual("aa bb", cmd.GetCommandFile(p, c.Selector));
            Assert.AreEqual("cc dd", cmd.GetCommandArgs(p, c.Selector));

            cmd.Command = "\"aa ${ProjectName}\" cc ${ProjectName}";
            Assert.AreEqual("aa SomeProject", cmd.GetCommandFile(p, c.Selector));
            Assert.AreEqual("cc SomeProject", cmd.GetCommandArgs(p, c.Selector));

            cmd.WorkingDir = NormalizePath("/some/${ProjectName}/place");
            Assert.AreEqual(NormalizePath("/some/SomeProject/place"), (string)cmd.GetCommandWorkingDir(p, c.Selector));
        }
All Usage Examples Of MonoDevelop.Projects.CustomCommand::GetCommandWorkingDir