Example #1
0
 /// <summary>
 /// Generate new addin files for all applicable
 /// versions of Revit.
 /// </summary>
 /// <param name="products">A collection of revit installs.</param>
 /// <param name="excludePath">The path that will not be used to search for Dynamo Revit installations</param>
 internal static void GenerateAddins(IRevitProductCollection products, string excludePath = null)
 {
     Console.WriteLine("Generating addins...");
     foreach (var prod in products.Products)
     {
         var subfolder = prod.VersionString.Insert(5, "_");
         Func <string, string> fileLocator =
             p => Path.Combine(p, subfolder, "DynamoRevitDS.dll");
         var dynRevitProducts = Utilities.LocateDynamoInstallations(null, fileLocator);
         if (null == dynRevitProducts)
         {
             Console.WriteLine("Dynamo Revit Not Installed!");
         }
         foreach (KeyValuePair <string, Tuple <int, int, int, int> > dynRevitProd in dynRevitProducts)
         {
             if (dynRevitProd.Key == excludePath)
             {
                 continue;
             }
             var path = Path.Combine(dynRevitProd.Key, subfolder, "DynamoRevitVersionSelector.dll");
             Console.WriteLine(path);
             if (File.Exists(path))
             {
                 var addinData = DynamoAddinData.Create(prod, dynRevitProd.Key);
                 if (null != addinData)
                 {
                     GenerateDynamoAddin(addinData);
                 }
             }
         }
     }
 }
Example #2
0
        public void AddinData_071a()
        {
            var prod = CreateRevit2014();
            var latest = MockDynamoInstall(DynamoVersions.dynamo_071_x86);

            var addinData = new DynamoAddinData(prod, latest);

            Assert.AreEqual(addinData.AddinPath, Path.Combine(prod.AddinsFolder, "Dynamo.addin"));
            Assert.AreEqual(addinData.AssemblyPath, Path.Combine(DynamoVersions.dynamo_071_x86, "Revit_2014\\DynamoRevitVersionSelector.dll"));
            Assert.AreEqual(addinData.ClassName, "Dynamo.Applications.VersionLoader");
        }
Example #3
0
        public void AddinData_063()
        {
            var prod = CreateRevit2014();
            var latest = MockDynamoInstall(DynamoVersions.dynamo_063);

            var addinData = new DynamoAddinData(prod, latest);

            Assert.AreEqual(addinData.AddinPath, Path.Combine(prod.AddinsFolder, "Dynamo.addin"));
            Assert.AreEqual(addinData.AssemblyPath, Path.Combine(DynamoVersions.dynamo_063, "DynamoRevit.dll"));
            Assert.AreEqual(addinData.ClassName, "Dynamo.Applications.DynamoRevit");
        }
Example #4
0
        public void AddinData_071b_2014()
        {
            var prod   = CreateRevit2014();
            var latest = MockDynamoInstall(DynamoVersions.dynamo_071_x64);

            var addinData = new DynamoAddinData(prod, latest);

            Assert.AreEqual(addinData.AddinPath, Path.Combine(prod.AddinsFolder, "Dynamo.addin"));
            Assert.AreEqual(addinData.AssemblyPath, Path.Combine(DynamoVersions.dynamo_071_x64, "Revit_2014\\DynamoRevitVersionSelector.dll"));
            Assert.AreEqual(addinData.ClassName, "Dynamo.Applications.VersionLoader");
        }
Example #5
0
        public void AddinData_063()
        {
            var prod   = CreateRevit2014();
            var latest = MockDynamoInstall(DynamoVersions.dynamo_063);

            var addinData = new DynamoAddinData(prod, latest);

            Assert.AreEqual(addinData.AddinPath, Path.Combine(prod.AddinsFolder, "Dynamo.addin"));
            Assert.AreEqual(addinData.AssemblyPath, Path.Combine(DynamoVersions.dynamo_063, "DynamoRevit.dll"));
            Assert.AreEqual(addinData.ClassName, "Dynamo.Applications.DynamoRevit");
        }
Example #6
0
        /// <summary>
        /// Generate new addin files for all applicable
        /// versions of Revit.
        /// </summary>
        /// <param name="products">A collection of revit installs.</param>
        /// <param name="dynamos">DynamoProducts, a collection of installed Dynamo
        /// on this system.</param>
        /// <param name="dynamoUninstallPath">Path of Dynamo being uninstalled</param>
        internal static void GenerateAddins(IRevitProductCollection products, DynamoProducts dynamos, string dynamoUninstallPath = "")
        {
            foreach (var prod in products.Products)
            {
                Console.WriteLine("Generating addins in {0}", prod.AddinsFolder);

                var addinData = DynamoAddinData.Create(prod, dynamos, dynamoUninstallPath);
                if (null != addinData)
                {
                    GenerateDynamoAddin(addinData);
                }
            }
        }
Example #7
0
        public void AddinDataIsCorrectInstallingOnMultipleRevits()
        {
            var existingProds = SomeValidProducts();
            var prods         = new RevitProductCollection(existingProds);

            var dynamo1 = new DynamoInstall(DynamoVersions.dynamo_071_x86);
            var dynamo2 = new DynamoInstall(DynamoVersions.dynamo_07x);
            var dynamos = new DynamoInstallCollection(new List <DynamoInstall> {
                dynamo1, dynamo2
            });

            var addinData = new DynamoAddinData(prods.Products.First(), dynamos.GetLatest());

            Assert.AreEqual(addinData.AddinPath, Path.Combine(prods.Products.First().AddinsFolder, "Dynamo.addin"));
            Assert.AreEqual(addinData.AssemblyPath, Path.Combine(DynamoVersions.dynamo_07x, "Revit_2014\\DynamoRevitVersionSelector.dll"));
            Assert.AreEqual(addinData.ClassName, "Dynamo.Applications.VersionLoader");
        }
Example #8
0
        /// <summary>
        /// Generate new addin files for all applicable
        /// versions of Revit.
        /// </summary>
        /// <param name="products">A collection of revit installs.</param>
        /// <param name="dynamos">A collection of dynamo installs.</param>
        internal static void GenerateAddins(IRevitProductCollection products, IDynamoInstallCollection dynamos)
        {
            foreach (var prod in products.Products)
            {
                Console.WriteLine("Generating addins in {0}", prod.AddinsFolder);

                var addinData = new DynamoAddinData(prod, dynamos.GetLatest());

                if (prod.ProductName == "Vasari Beta 3")
                {
                    // Change the addin path because the AddinUtility
                    // reports this incorrectly for vasari
                    var dir    = Path.GetDirectoryName(addinData.AddinPath);
                    var newDir = dir.Replace("Revit", "Vasari");
                    addinData.AddinPath = Path.Combine(newDir, Path.GetFileName(addinData.AddinPath));
                }

                GenerateDynamoAddin(addinData);
            }
        }
Example #9
0
        public void AddinDataIsCorrectInstallingOnMultipleRevits()
        {
            var existingProds = SomeValidProducts();
            var prods = new RevitProductCollection(existingProds);

            var dynamo1 = new DynamoInstall(DynamoVersions.dynamo_071_x86);
            var dynamo2 = new DynamoInstall(DynamoVersions.dynamo_07x);
            var dynamos = new DynamoInstallCollection(new List<DynamoInstall> { dynamo1, dynamo2 });

            var addinData = new DynamoAddinData(prods.Products.First(), dynamos.GetLatest());

            Assert.AreEqual(addinData.AddinPath, Path.Combine(prods.Products.First().AddinsFolder, "Dynamo.addin"));
            Assert.AreEqual(addinData.AssemblyPath, Path.Combine(DynamoVersions.dynamo_07x, "Revit_2014\\DynamoRevitVersionSelector.dll"));
            Assert.AreEqual(addinData.ClassName, "Dynamo.Applications.VersionLoader");
        }
Example #10
0
        /// <summary>
        /// Generate new addin files for all applicable
        /// versions of Revit.
        /// </summary>
        /// <param name="products">A collection of revit installs.</param>
        /// <param name="dynamos">A collection of dynamo installs.</param>
        internal static void GenerateAddins(IRevitProductCollection products, IDynamoInstallCollection dynamos)
        {
            foreach (var prod in products.Products)
            {
                Console.WriteLine("Generating addins in {0}", prod.AddinsFolder);

                var addinData = new DynamoAddinData(prod, dynamos.GetLatest());

                if (prod.ProductName == "Vasari Beta 3")
                {
                    // Change the addin path because the AddinUtility 
                    // reports this incorrectly for vasari
                    var dir = Path.GetDirectoryName(addinData.AddinPath);
                    var newDir = dir.Replace("Revit", "Vasari");
                    addinData.AddinPath = Path.Combine(newDir, Path.GetFileName(addinData.AddinPath));
                }

                GenerateDynamoAddin(addinData);
            }
        }