Beispiel #1
0
        private static CompressPayload ParseCompressPayload(MainArgs args)
        {
            var payload = new CompressPayload
            {
                Output                = args.OptOutput,
                Directory             = args.OptDirectory,
                OverwriteExistingFile = args.OptOverwrite,
                ProduceZipFile        = !args.OptDryrun,
                AbortOnFailures       = args.OptAbortonfailures
            };

            return(payload);
        }
Beispiel #2
0
        private static PublishPayload ParsePublishInput(MainArgs args)
        {
            string coverityFileName = args.OptZip;

            if (!File.Exists(coverityFileName))
            {
                Console.Error.WriteLine("Input file '{0}' cannot be found.", coverityFileName);
                Environment.Exit(1);
            }

            string repoName = args.OptReponame.Unquoted();

            if (repoName.IsNullOrWhitespace())
            {
                repoName = Environment.GetEnvironmentVariable("APPVEYOR_REPO_NAME").Unquoted();
                if (repoName.IsNullOrWhitespace())
                {
                    Console.Error.WriteLine("No repository name provided, and could not be resolved.");
                    Environment.Exit(1);
                }
                else
                {
                    Console.WriteLine("Resolved repository name '{0}' from $env:APPVEYOR_REPO_NAME", repoName);
                }
            }

            string coverityToken = args.OptToken;
            string description   = args.OptDescription;
            string email         = args.OptEmail;

            if (!Regex.IsMatch(email, "^[^@]+@[^@]+$"))
            {
                Console.Error.WriteLine("Invalid email '{0}' provided.", email);
                Environment.Exit(1);
            }
            string version = args.OptCodeversion;
            bool   dryrun  = args.OptDryrun;
            var    payload = new PublishPayload
            {
                FileName         = coverityFileName,
                RepositoryName   = repoName,
                Token            = coverityToken,
                Email            = email,
                Version          = version,
                Description      = description,
                SubmitToCoverity = !dryrun
            };

            return(payload);
        }
Beispiel #3
0
        public static void Main(string[] argv)
        {
            var args = new MainArgs(argv, exit: true, version: GetDisplayVersion());

            if (!args.OptNologo)
            {
                PrintLogo();
            }
            if (args.CmdPublish)
            {
                var payload = ParsePublishInput(args);

                var results = CoveritySubmitter.Submit(payload);
                ProcessResult(results);
            }
            else if (args.CmdCompress)
            {
                var payload = ParseCompressPayload(args);
                var results = ZipCompressor.Compress(payload);
                ProcessResult(results);
            }
        }