public IEnumerable <TemplateLicense> GetAllLicences(GenerationData generationData)
        {
            BuildContextProvider(generationData);

            var userSelection = generationData.ToUserSelection();

            var licences = GenComposer.GetAllLicences(userSelection);

            return(licences);
        }
        public async Task <GenerationResult> GenerateAsync(GenerationData generationData)
        {
            try
            {
                BuildContextProvider(generationData);

                var userSelection = generationData.ToUserSelection();
                await NewProjectGenController.Instance.UnsafeGenerateProjectAsync(userSelection);

                return(new GenerationResult
                {
                    ProjectName = GenContext.Current.ProjectName,
                    GenerationPath = GenContext.Current.GenerationOutputPath,
                });
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format(StringRes.ErrorGenerating, ex.Message), ex);
            }
        }