private void FeatureFilesTrackerOnReady()
        {
            //compare generated file versions with the generator version
            Version generatorVersion = GeneratorServices.GetGeneratorVersion(); //TODO: cache GeneratorVersion

            if (generatorVersion == null)
            {
                return;
            }

            Func <FeatureFileInfo, bool> outOfDateFiles = ffi => ffi.GeneratorVersion != null && ffi.GeneratorVersion < generatorVersion;

            if (featureFilesTracker.Files.Any(outOfDateFiles))
            {
                var questionResult = MessageBox.Show(
                    "SpecFlow detected that some of the feature files were generated with an earlier version of SpecFlow. Do you want to re-generate them now?",
                    "SpecFlow Generator Version Change",
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Question,
                    MessageBoxDefaultButton.Button1);

                if (questionResult != DialogResult.Yes)
                {
                    return;
                }

                featureFilesTracker.ReGenerateAll(outOfDateFiles);
            }
        }
示例#2
0
        private void FeatureFilesTrackerOnReady()
        {
            //compare generated file versions with the generator version
            Version generatorVersion = SpecFlowProjectConfiguration.GeneratorConfiguration.GeneratorVersion;

            if (generatorVersion == null)
            {
                return;
            }

            // we reset the last numbers as we don't want to force generating the files for every build
            generatorVersion = new Version(generatorVersion.Major, generatorVersion.Minor, 0, 0);

            Func <FeatureFileInfo, bool> outOfDateFiles = ffi => ffi.GeneratorVersion != null && ffi.GeneratorVersion < generatorVersion;

            if (featureFilesTracker.Files.Any(outOfDateFiles))
            {
                var questionResult = MessageBox.Show(
                    "SpecFlow detected that some of the feature files were generated with an earlier version of SpecFlow. Do you want to re-generate them now?",
                    "SpecFlow Generator Version Change",
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Question,
                    MessageBoxDefaultButton.Button1);

                if (questionResult != DialogResult.Yes)
                {
                    return;
                }

                featureFilesTracker.ReGenerateAll(outOfDateFiles);
            }
        }