public void CreateCab()

in scbuild/scbuild.cs [861:909]


    public void CreateCab()
    {
        Print("Copying header files to release directory...\n");

        string[] filesToCopy = new string[] {
            @"symcrypt.h",
            @"symcrypt_low_level.h",
            @"symcrypt_internal.h",
            @"symcrypt_internal_shared.inc",
        };

        foreach (string file in filesToCopy)
        {
            CopyFile(@"inc\" + file, @"release\inc\" + file);
        }

        Print( "Closing log file and creating CAB...\n" );

        Print( "Current time = {0}\n", DateTime.Now.ToString( LogDateTimeFormat ) );

        Output.CloseLogFile();
        MoveFile( "scbuild.log", @"release\scbuild.log" );

        if( m_apiVersion < 0 || m_minorVersion < 0 )
        {
            Fatal( "Cannot generate CAB file without version number {0} {1}", m_apiVersion, m_minorVersion );
        }

        string fileNameWarning = "";
        if( m_option_flavors != null ||
            m_option_ignore_sync ||
            m_option_inc_version ||
            !m_option_release
            )
        {
            fileNameWarning = "_not_for_release";
        }

        string releaseName = "SymCrypt" + fileNameWarning + "_v" + m_apiVersion + "." + m_minorVersion + "_" + m_currentBranch + "_" + GetCommitInfo();
        string cabFileName =  releaseName + ".cab";

        string [] res = RunCmd( "release", "cabarc -r -p n " + cabFileName + " *.*" );
        if( !Regex.IsMatch( res[ res.Length - 1 ], "Completed successfully" ) )
        {
            Fatal( "Could not validate success of cab creation" );
        }

        CreateGitTag( releaseName );
    }