8
0

tasks.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. 'use strict';
  6. const gulp = require( 'gulp' );
  7. const gutil = require( 'gulp-util' );
  8. const minimist = require( 'minimist' );
  9. const exec = require( './tasks/exec' );
  10. const log = require( '../../lib/log' );
  11. module.exports = ( config ) => {
  12. const ckeditor5Path = process.cwd();
  13. const packageJSON = require( '../../../package.json' );
  14. // Configure logging.
  15. log.configure(
  16. ( msg ) => gutil.log( msg ),
  17. ( msg ) => gutil.log( gutil.colors.red( msg ) )
  18. );
  19. const tasks = {
  20. execOnRepositories() {
  21. // Omit `gulp exec` part of arguments
  22. const options = minimist( process.argv.slice( 3 ), {
  23. alias: { t: 'task' },
  24. stopEarly: false
  25. } );
  26. let execTask;
  27. try {
  28. execTask = require( `./functions/${ options.task }` );
  29. }
  30. catch ( error ) {
  31. log.err( error );
  32. }
  33. if ( execTask ) {
  34. return exec( execTask, ckeditor5Path, packageJSON, config.WORKSPACE_DIR, options );
  35. }
  36. },
  37. register() {
  38. gulp.task( 'exec', tasks.execOnRepositories );
  39. }
  40. };
  41. return tasks;
  42. };