Ticket #4170: 4170_ckreleaser.patch

File 4170_ckreleaser.patch, 5.1 KB (added by Wiktor Walc, 11 years ago)
  • _source/includes/io.js

     
    5454                "xml" : 1
    5555        };
    5656
    57         function compressDirectory( sourcePath, outStream, compressMethod, rootDir )
     57        function isIgnoredFile( file, ignoredFiles )
    5858        {
     59                for ( var i =0 ; i < ignoredFiles.length ; i++ )
     60                {
     61                        if ( file.getCanonicalPath() == ignoredFiles[i].getCanonicalPath() )
     62                                return true;
     63                }
     64                return false;
     65        }
     66
     67        function compressDirectory( sourcePath, outStream, compressMethod, rootDir, ignoredFiles )
     68        {
    5969                if ( CKRELEASER.verbose )
    6070                        print( "    " + compressMethod + ": " + sourcePath );
    6171
     
    7787                        {
    7888                                var f = new File( compressedDir, dirList[i] );
    7989
     90                                if ( ignoredFiles && isIgnoredFile( f, ignoredFiles ) )
     91                                {
     92                                        if ( CKRELEASER.verbose )
     93                                                print( "    File excluded from package: " + f );
     94
     95                                        continue;
     96                                }
     97
    8098                                if ( f.isDirectory() )
    8199                                {
    82100                                        compressDirectory( f.getPath(), outStream, compressMethod, rootDir );
     
    218236                        }
    219237                },
    220238
    221                 zipDirectory : function( sourcePath, targetFile, rootDir )
     239                zipDirectory : function( sourcePath, targetFile, rootDir, ignoredFiles )
    222240                {
    223241                        var outStream = new ZipOutputStream( new FileOutputStream( targetFile ) );
    224                         compressDirectory( sourcePath, outStream, "zip", rootDir );
     242                        compressDirectory( sourcePath, outStream, "zip", rootDir, ignoredFiles );
    225243                        outStream.close();
    226244                },
    227245
    228                 targzDirectory : function( sourcePath, targetFile, rootDir )
     246                targzDirectory : function( sourcePath, targetFile, rootDir, ignoredFiles )
    229247                {
    230248                        var outStream = new TarGzOutputStream( new FileOutputStream( targetFile ) );
    231                         compressDirectory( sourcePath, outStream, "tar.gz", rootDir );
     249                        compressDirectory( sourcePath, outStream, "tar.gz", rootDir, ignoredFiles );
    232250                        outStream.close();
    233251                },
    234252
  • _source/includes/releaser.js

     
    3232                this.samples = {};
    3333                this.skins = {};
    3434                this.header = "";
     35                this.separateDocPackage = false;
    3536        }
    3637
    3738        release.prototype.isIgnoredPath = function( path )
     
    407408                        if ( definitionObject.skins )
    408409                                CKRELEASER.release.skins = definitionObject.skins;
    409410
     411                        if ( definitionObject.separateDocPackage )
     412                                CKRELEASER.release.separateDocPackage = definitionObject.separateDocPackage;
     413
    410414                        if ( !CKRELEASER.release.packages.length )
    411415                                throw "Nothing to release: no packages found in the release file (" + CKRELEASER.releaseFile + ")";
    412416                },
     
    426430
    427431                run : function()
    428432                {
    429                         var error, i, info, time = new Date();
     433                        var error, i, info, excludeFromRelease = new Array(), time = new Date();
    430434
    431435                        var targetDir = new File( CKRELEASER.targetDir );
    432436                        var releaseDir = new File( CKRELEASER.releaseDir );
     
    507511                                info = CKRELEASER.io.getDirectoryInfo( docsDir );
    508512                                print( "    Number of created files: " + info.files );
    509513                                print( "    Total size.............: " + info.size + " bytes" );
     514
     515                                if ( CKRELEASER.release.separateDocPackage )
     516                                {
     517                                        excludeFromRelease.push( new File( CKRELEASER.releaseDir, CKRELEASER.release.documentation.root ) );
     518
     519                                        var zipFile = new File( CKRELEASER.targetDir, CKRELEASER.fileName + "_api_docs.zip" );
     520                                        CKRELEASER.io.zipDirectory( docsDir, zipFile, "" );
     521                                        print( "    Created " + zipFile.getName() + "...: " + zipFile.length() + " bytes ("
     522                                                        + Math.round( zipFile.length() / info.size * 100 ) + "% of original)" );
     523
     524                                        var tarFile = new File( CKRELEASER.targetDir, CKRELEASER.fileName + "_api_docs.tar.gz" );
     525                                        CKRELEASER.io.targzDirectory( docsDir, tarFile, "" );
     526                                        print( "    Created " + tarFile.getName() + ": " + tarFile.length() + " bytes ("
     527                                                        + Math.round( tarFile.length() / info.size * 100 ) + "% of original)" );
     528                                }
    510529                        }
    511530                        else
    512531                                print( "\nWARNING: documentation directive not found in the release file.\n" );
     
    552571                        print( "\nCreating compressed files...\n" );
    553572
    554573                        var zipFile = new File( CKRELEASER.targetDir, CKRELEASER.fileName + ".zip" );
    555                         CKRELEASER.io.zipDirectory( CKRELEASER.releaseDir, zipFile, "ckeditor" );
     574                        CKRELEASER.io.zipDirectory( CKRELEASER.releaseDir, zipFile, "ckeditor", excludeFromRelease );
    556575                        print( "    Created " + zipFile.getName() + "...: " + zipFile.length() + " bytes ("
    557576                                        + Math.round( zipFile.length() / info.size * 100 ) + "% of original)" );
    558577
    559578                        var tarFile = new File( CKRELEASER.targetDir, CKRELEASER.fileName + ".tar.gz" );
    560                         CKRELEASER.io.targzDirectory( CKRELEASER.releaseDir, tarFile, "ckeditor" );
     579                        CKRELEASER.io.targzDirectory( CKRELEASER.releaseDir, tarFile, "ckeditor", excludeFromRelease );
    561580                        print( "    Created " + tarFile.getName() + ": " + tarFile.length() + " bytes ("
    562581                                        + Math.round( tarFile.length() / info.size * 100 ) + "% of original)" );
    563582
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy