예제 #1
0
 public void Initialize(InstancesRegistrationSource exportProvider, Action <string> printMessage)
 {
     this.printMessage = printMessage;
     exportProvider.AddInstance(userInterface);
 }
 public void Initialize(InstancesRegistrationSource exportProvider, Action <string> printMessage)
 {
     exportProvider.AddInstance(downloadService);
 }
예제 #3
0
 public void Initialize(InstancesRegistrationSource exportProvider, Action <string> printMessage)
 {
     exportProvider.AddInstance(guidFactory);
 }
예제 #4
0
 public void Initialize(InstancesRegistrationSource exportProvider, Action <string> printMessage)
 {
     exportProvider.AddInstance(sdkExplorer);
 }
 public void Initialize(InstancesRegistrationSource exportProvider, Action <string> printMessage)
 {
     exportProvider.AddInstance(exceptionHandler);
 }
예제 #6
0
 public void Initialize(InstancesRegistrationSource exportProvider, Action <string> printMessage)
 {
     exportProvider.AddInstance(cmakeConversation);
 }
        public void Initialize(InstancesRegistrationSource exportProvider, Action <string> printMessage)
        {
            this.printMessage = printMessage;

            exportProvider.AddInstance(FileSystem);

            SetupSdks();

            SetupKeyFiles();

            SetupLibraryBuilder();

            Load("Templates", FileSystem.GetDirectory(AssemblyDirectory), ".meta", "._acf");

            create = true;

            void SetupKeyFiles()
            {
                VirtualFile keyFile = FileSystem.GetFile(Path.Combine(AssemblyDirectory, "public_cli_repository_key.xml"));

                using (Stream fileStream = keyFile.OpenWrite())
                    using (Stream resourcStream = Assembly.GetExecutingAssembly()
                                                  .GetManifestResourceStream("Test.PlcNext.Deployment.StandardPublicCliRepositoryKey.xml"))
                    {
                        fileStream.SetLength(0);
                        resourcStream.CopyTo(fileStream);
                    }
            }

            void SetupSdks()
            {
                string      assemblyName = Assembly.GetExecutingAssembly().GetName().Name;
                VirtualFile settingsFile = FileSystem.GetFile(Path.Combine(AssemblyDirectory, assemblyName, "settings.xml"));

                using (Stream fileStream = settingsFile.OpenWrite())
                    using (Stream resourcStream = Assembly.GetExecutingAssembly()
                                                  .GetManifestResourceStream("Test.PlcNext.Deployment.StandardSettings.xml"))
                        using (StreamReader reader = new StreamReader(resourcStream))
                            using (StreamWriter writer = new StreamWriter(fileStream))
                            {
                                fileStream.SetLength(0);
                                string line;
                                while ((line = reader.ReadLine()) != null)
                                {
                                    if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
                                    {
                                        line = line.Replace(@"C:/MySdk", "/usr/bin/MySdk");
                                    }
                                    writer.WriteLine(line);
                                }
                            }

                VirtualDirectory sdkDirectory = RuntimeInformation.IsOSPlatform(OSPlatform.Windows)
                                                    ? FileSystem.GetDirectory(@"C:\MySdk")
                                                    : FileSystem.GetDirectory(@"/usr/bin/MySdk");
                VirtualFile propertiesFile = FileSystem.GetFile(Path.Combine(AssemblyDirectory, assemblyName, "sdk-properties.xml"));

                using (Stream fileStream = propertiesFile.OpenWrite())
                    using (Stream resourcStream = Assembly.GetExecutingAssembly()
                                                  .GetManifestResourceStream("Test.PlcNext.Deployment.StandardSdkProperties.xml"))
                        using (StreamReader reader = new StreamReader(resourcStream))
                            using (StreamWriter writer = new StreamWriter(fileStream))
                            {
                                fileStream.SetLength(0);
                                string line;
                                while ((line = reader.ReadLine()) != null)
                                {
                                    if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
                                    {
                                        line = line.Replace(@"C:\MySdk", "/usr/bin/MySdk");
                                    }
                                    writer.WriteLine(line);
                                }
                            }
            }

            void SetupLibraryBuilder()
            {
                //HACK - implicit creates file
                FileSystem.GetFile(Path.Combine(AssemblyDirectory, "bin", "LibraryBuilder.Core"));
                VirtualFile fileNamesFile = FileSystem.GetFile(Path.Combine(AssemblyDirectory, "file-names.xml"));

                using (Stream fileStream = fileNamesFile.OpenWrite())
                    using (Stream resourcStream = Assembly.GetExecutingAssembly()
                                                  .GetManifestResourceStream("Test.PlcNext.Deployment.StandardFileNames.xml"))
                    {
                        resourcStream.CopyTo(fileStream);
                    }
            }
        }