Make WordPress Core

Ticket #41957: 41957.2.patch

File 41957.2.patch, 3.1 KB (added by azaozz, 7 years ago)
  • Gruntfile.js

     
    861861                                        error ? find( set ) : run( path.basename( dir ).substr( 1 ) );
    862862                                } );
    863863                        } else {
    864                                 grunt.fatal( 'This WordPress install is not under version control.' );
     864                                runAllTasks();
    865865                        }
    866866                }
    867867
     868                function runAllTasks() {
     869                        grunt.log.writeln( 'Cannot determine which files are modified as SVN and GIT are not available.' );
     870                        grunt.log.writeln( 'Running all tasks and all tests.' );
     871                        grunt.task.run([
     872                                'precommit:js',
     873                                'precommit:css',
     874                                'precommit:image',
     875                                'precommit:emoji',
     876                                'precommit:php'
     877                        ]);
     878
     879                        done();
     880                }
     881
    868882                function run( type ) {
    869883                        var command = map[ type ].split( ' ' );
    870884
     
    874888                        }, function( error, result, code ) {
    875889                                var taskList = [];
    876890
    877                                 if ( code !== 0 ) {
    878                                         grunt.fatal( 'The `' +  map[ type ] + '` command returned a non-zero exit code.', code );
    879                                 }
    880 
    881891                                // Callback for finding modified paths.
    882892                                function testPath( path ) {
    883893                                        var regex = new RegExp( ' ' + path + '$', 'm' );
     
    890900                                        return regex.test( result.stdout );
    891901                                }
    892902
    893                                 if ( [ 'package.json', 'Gruntfile.js' ].some( testPath ) ) {
    894                                         grunt.log.writeln( 'Configuration files modified. Running `prerelease`.' );
    895                                         taskList.push( 'prerelease' );
    896                                 } else {
    897                                         if ( [ 'png', 'jpg', 'gif', 'jpeg' ].some( testExtension ) ) {
    898                                                 grunt.log.writeln( 'Image files modified. Minifying.' );
    899                                                 taskList.push( 'precommit:image' );
    900                                         }
     903                                if ( code === 0 ) {
     904                                        if ( [ 'package.json', 'Gruntfile.js' ].some( testPath ) ) {
     905                                                grunt.log.writeln( 'Configuration files modified. Running `prerelease`.' );
     906                                                taskList.push( 'prerelease' );
     907                                        } else {
     908                                                if ( [ 'png', 'jpg', 'gif', 'jpeg' ].some( testExtension ) ) {
     909                                                        grunt.log.writeln( 'Image files modified. Minifying.' );
     910                                                        taskList.push( 'precommit:image' );
     911                                                }
    901912
    902                                         [ 'js', 'css', 'php' ].forEach( function( extension ) {
    903                                                 if ( testExtension( extension ) ) {
    904                                                         grunt.log.writeln( extension.toUpperCase() + ' files modified. ' + extension.toUpperCase() + ' tests will be run.' );
    905                                                         taskList.push( 'precommit:' + extension );
     913                                                [ 'js', 'css', 'php' ].forEach( function( extension ) {
     914                                                        if ( testExtension( extension ) ) {
     915                                                                grunt.log.writeln( extension.toUpperCase() + ' files modified. ' + extension.toUpperCase() + ' tests will be run.' );
     916                                                                taskList.push( 'precommit:' + extension );
     917                                                        }
     918                                                } );
     919
     920                                                if ( [ 'twemoji.js' ].some( testPath ) ) {
     921                                                        grunt.log.writeln( 'twemoji.js has updated. Running `precommit:emoji.' );
     922                                                        taskList.push( 'precommit:emoji' );
    906923                                                }
    907                                         } );
     924                                        }
    908925
    909                                         if ( [ 'twemoji.js' ].some( testPath ) ) {
    910                                                 grunt.log.writeln( 'twemoji.js has updated. Running `precommit:emoji.' );
    911                                                 taskList.push( 'precommit:emoji' );
    912                                         }
     926                                        grunt.task.run( taskList );
     927                                        done();
     928                                } else {
     929                                        runAllTasks();
    913930                                }
    914 
    915                                 grunt.task.run( taskList );
    916 
    917                                 done();
    918931                        } );
    919932                }
    920933        } );