Пример #1
0
        public static Func <List <ImportedKit> > ListImportedKits(API.V1 api)
        {
            return(delegate() {
                string root = FileUtils.FabricRoot + FileUtils.NormalizePathForPlatform("/Fabric/Kits/");

                List <ImportedKit> kits = new List <ImportedKit> ();

                if (!Directory.Exists(root))
                {
                    return kits;
                }

                foreach (string kit in Directory.GetDirectories(root))
                {
                    string unqualified = kit.Substring(kit.LastIndexOf(Path.DirectorySeparatorChar) + 1);
                    string qualified = String.Format("Fabric.Internal.{0}.Editor.Controller.Controller", unqualified);

                    Type type = Type.GetType(qualified);

                    // Those kits without a controller will not be displayed in the KitSelector
                    // as they do not have a GUI component to them.
                    if (type == null)
                    {
                        continue;
                    }
                    object instance = Activator.CreateInstance(type, api);

                    kits.Add(new ImportedKit(unqualified, instance));
                }

                return kits;
            });
        }
        private static App KitsForApp(API.V1 api, string organization, string bundleId, BuildTarget buildTarget)
        {
            List <Organization> organizations = api.Organizations();
            List <App>          appsForOrg    = api.ApplicationsFor(organization, organizations);

            App activatedApp = appsForOrg.Find(app => {
                bool matchesBundleId = app.BundleIdentifier.Equals(bundleId, StringComparison.OrdinalIgnoreCase);
                bool matchesPlatform = app.Platform == buildTarget;

                return(matchesBundleId && matchesPlatform);
            });

            return(activatedApp);
        }