public void GetAssemblyNameVS2013ProjectTest()
 {
     using (Stream s = GetStreamForFile("MSBuild.Community.Tasks.csproj"))
     {
         ProjectFileParser p = new ProjectFileParser(s);
         Assert.AreEqual("MSBuild.Community.Tasks", p.GetAssemblyName());
     }
 }
 public void GetAssemblyNameFromFullNameTest()
 {
     using (Stream s = GetStreamForFile("MSBuild.Community.Tasks.csproj"))
     {
         ProjectFileParser p = new ProjectFileParser(s);
         Assert.AreEqual("Ionic.Zip.Reduced", p.GetAssemblyNameFromFullName("Ionic.Zip.Reduced, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL"));
     }
 }
 public void GetAssemblyNameVS2008ProjectTest()
 {
     using (Stream s = GetStreamForFile("DBInfo.CodeGen.csproj"))
     {
         ProjectFileParser p = new ProjectFileParser(s);
         Assert.AreEqual("DBInfo.CodeGen", p.GetAssemblyName());
     }
 }
 public void GetReferencesVS2008Test()
 {
     using (Stream s = GetStreamForFile("DBInfo.CodeGen.csproj"))
     {
         ProjectFileParser p = new ProjectFileParser(s);
         Assert.AreEqual("System", p.GetReferences().ToList()[0].Include);
         Assert.AreEqual("System.Core", p.GetReferences().ToList()[1].Include);
     }
 }
Ejemplo n.º 5
0
 public void GetReferencesVS2013Test()
 {
     using (Stream s = GetStreamForFile("MSBuild.Community.Tasks.csproj"))
     {
         ProjectFileParser p = new ProjectFileParser(s);
         Assert.AreEqual("Ionic.Zip.Reduced, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL", p.GetAssemblyReferences().ToList()[0].Include);
         Assert.AreEqual(@"..\packages\DotNetZip.Reduced.1.9.1.8\lib\net20\Ionic.Zip.Reduced.dll", p.GetAssemblyReferences().ToList()[0].HintPath);
         Assert.AreEqual("Microsoft.Build.Framework", p.GetAssemblyReferences().ToList()[1].Include);
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Runs the task.
        /// </summary>
        /// <returns></returns>
        public override bool Execute()
        {
            if (InputFiles == null)
            {
                Log.LogError("No input files!");
                return(false);
            }

            foreach (ITaskItem file in InputFiles)
            {
                var fullPath = file.GetMetadata("FullPath");
                Log.LogMessage("Parsing " + fullPath);
                FileStream fs = new FileStream(fullPath, FileMode.Open, FileAccess.Read);
                using (fs)
                {
                    ProjectFileParser p = new ProjectFileParser(fs);
                    if (!Filtered(p.GetAssemblyName()))
                    {
                        if (String.IsNullOrEmpty(p.GetAssemblyName()))
                        {
                            Log.LogWarning("Não foi possível identificar AssemblyName para: " + file.GetMetadata("FullPath"));
                        }

                        foreach (ProjectReference r in p.GetReferences())
                        {
                            if (String.IsNullOrEmpty(p.GetAssemblyNameFromFullName(r.Include)))
                            {
                                Log.LogWarning("Não foi possível identificar referência encontrada em : " + file.GetMetadata("FullPath"));
                            }

                            if (!Filtered(p.GetAssemblyNameFromFullName(r.Include)))
                            {
                                AddDependency(p.GetAssemblyName(), p.GetAssemblyNameFromFullName(r.Include));
                            }
                        }
                    }
                }
            }

            Stream s = GenerateGraphVizOutput();

            LogToConsole(s);
            LogToFile(s);

            return(true);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Runs the task.
        /// </summary>
        /// <returns></returns>
        public override bool Execute()
        {
            if (InputFiles == null)
            {
                Log.LogError("No input files!");
                return false;
            }

            foreach (ITaskItem file in InputFiles)
            {
                var fullPath = file.GetMetadata("FullPath");
                Log.LogMessage("Parsing " + fullPath);
                FileStream fs = new FileStream(fullPath, FileMode.Open, FileAccess.Read);
                using (fs)
                {
                    ProjectFileParser p = new ProjectFileParser(fs);
                    if (!Filtered(p.GetAssemblyName()))
                    {
                        if (String.IsNullOrEmpty(p.GetAssemblyName()))
                            Log.LogWarning("Não foi possível identificar AssemblyName para: " + file.GetMetadata("FullPath"));

                        foreach (ProjectReference r in p.GetReferences())
                        {
                            if (String.IsNullOrEmpty(p.GetAssemblyNameFromFullName(r.Include)))
                                Log.LogWarning("Não foi possível identificar referência encontrada em : " + file.GetMetadata("FullPath"));

                            if (!Filtered(p.GetAssemblyNameFromFullName(r.Include)))
                                AddDependency(p.GetAssemblyName(), p.GetAssemblyNameFromFullName(r.Include));
                        }
                    }
                }
            }

            Stream s = GenerateGraphVizOutput();
            LogToConsole(s);
            LogToFile(s);

            return true;
        }
Ejemplo n.º 8
0
 /// <summary>
 /// updates parser dependent properties: <see cref="P:AssemblyName"/> and <see cref="P:ProjectGuid"/>
 /// </summary>
 /// <param name="parser"></param>
 public void Update(ProjectFileParser parser)
 {
     AssemblyName = parser.GetAssemblyName();
     ProjectGuid = parser.GetGuid();
 }
Ejemplo n.º 9
0
        private static string MakeDisplayName(string include)
        {
            var result = ProjectFileParser.GetAssemblyNameFromFullName(include);

            return(string.IsNullOrEmpty(result) ? include : result);
        }
Ejemplo n.º 10
0
 /// <summary>
 /// updates parser dependent properties: <see cref="P:AssemblyName"/> and <see cref="P:ProjectGuid"/>
 /// </summary>
 /// <param name="parser"></param>
 public void Update(ProjectFileParser parser)
 {
     AssemblyName = parser.GetAssemblyName();
     ProjectGuid  = parser.GetGuid();
 }