Changeset 44245
- Timestamp:
- 12/16/2018 11:27:36 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/5.0 merged: 43886
- Property svn:mergeinfo changed
-
trunk/Gruntfile.js
r44233 r44245 13 13 nodesass = require( 'node-sass' ), 14 14 phpUnitWatchGroup = grunt.option( 'group' ), 15 themeFiles = [ 16 'wp-content/themes/index.php', 17 'wp-content/themes/twenty*/**' 18 ], 15 19 buildFiles = [ 16 20 '*.php', … … 20 24 'wp-admin/**', // Include everything in wp-admin. 21 25 'wp-content/index.php', 22 'wp-content/themes/index.php',23 'wp-content/themes/twenty*/**',24 26 'wp-content/plugins/index.php', 25 27 'wp-content/plugins/hello.php', 26 28 'wp-content/plugins/akismet/**' 27 ] ,29 ].concat( themeFiles ), 28 30 cleanFiles = [], 29 31 changedFiles = { … … 128 130 } 129 131 }, 132 symlink: { 133 expanded: { 134 files: [ 135 { 136 expand: true, 137 overwrite: true, 138 cwd: SOURCE_DIR, 139 src: [ 140 'wp-admin/*', 141 'wp-content/uploads/', 142 'wp-content/index.php', 143 'wp-content/plugins/*', 144 'wp-includes/*', 145 '*.php', 146 '*.txt', 147 '*.html', 148 '!wp-load.php', 149 '!wp-admin/css', 150 '!wp-content/themes', 151 '!wp-includes/css', 152 '!wp-includes/version.php', // Exclude version.php 153 '!wp-includes/formatting.php', // Exclude formatting.php 154 '!wp-includes/embed.php', // Exclude formatting.php 155 '!index.php', '!wp-admin/index.php', 156 '!_index.php', '!wp-admin/_index.php' 157 ], 158 dest: BUILD_DIR 159 }, 160 { 161 'build/wp-config-sample.php': ['wp-config-sample.php'], 162 'build/index.php': ['src/_index.php'], 163 'build/wp-admin/index.php': ['src/wp-admin/_index.php'] 164 } 165 ] 166 } 167 }, 130 168 copy: { 131 169 files: { … … 139 177 '!.{svn,git}', // Exclude version control folders. 140 178 '!wp-includes/version.php', // Exclude version.php 179 '!wp-admin/css/**/*', // Exclude the CSS 180 '!wp-includes/css/**/*', // Exclude the CSS 141 181 '!index.php', '!wp-admin/index.php', 142 182 '!_index.php', '!wp-admin/_index.php' … … 153 193 } 154 194 ] 195 }, 196 css: { 197 dot: true, 198 expand: true, 199 cwd: SOURCE_DIR, 200 src: [ 201 'wp-admin/**/*.css', 202 'wp-includes/**/*.css' 203 ], 204 dest: BUILD_DIR 205 }, 206 themes: { 207 dot: true, 208 expand: true, 209 cwd: SOURCE_DIR, 210 src: themeFiles, 211 dest: BUILD_DIR 155 212 }, 156 213 'npm-packages': { … … 342 399 dest: BUILD_DIR + 'wp-includes/version.php' 343 400 }, 401 'php-buildFiles': { 402 files: { 403 'build/wp-includes/formatting.php': ['src/wp-includes/formatting.php'], 404 'build/wp-includes/embed.php': ['src/wp-includes/embed.php'], 405 'build/wp-load.php': ['src/wp-load.php'], 406 } 407 }, 344 408 dynamic: { 345 409 dot: true, … … 707 771 webpack: { 708 772 prod: webpackConfig( { environment: 'production' } ), 773 devProdTarget: webpackConfig( { environment: 'development', forceBuildTarget: 'build/wp-includes' } ), 709 774 dev: webpackConfig( { environment: 'development' } ), 710 775 watch: webpackConfig( { environment: 'development', watch: true } ) … … 1159 1224 grunt.registerTask( 'watch', function() { 1160 1225 if ( ! this.args.length || this.args.indexOf( 'webpack' ) > -1 ) { 1161 grunt.task.run( 'build ' );1226 grunt.task.run( 'build:dev' ); 1162 1227 } 1163 1228 … … 1308 1373 } ); 1309 1374 1375 grunt.registerTask( 'uglify:all', [ 1376 'uglify:core', 1377 'uglify:embed', 1378 'uglify:jqueryui', 1379 'uglify:imgareaselect' 1380 ] ); 1381 1310 1382 grunt.registerTask( 'copy:js', [ 1311 1383 'copy:npm-packages', … … 1315 1387 ] ); 1316 1388 1317 grunt.registerTask( 'uglify:all', [ 1318 'uglify:core', 1319 'uglify:embed', 1320 'uglify:jqueryui', 1321 'uglify:imgareaselect' 1389 grunt.registerTask( 'copyOrSymlink', function() { 1390 var task = grunt.option( 'symlink' ) === true ? 'symlink:expanded' : 'copy:files'; 1391 grunt.task.run( task ); 1392 } ); 1393 1394 grunt.registerTask( 'copy:all', [ 1395 'copyOrSymlink', 1396 'copy:php-buildFiles', 1397 'copy:css', 1398 'copy:themes', 1399 'copy:wp-admin-css-compat-rtl', 1400 'copy:wp-admin-css-compat-min', 1401 'copy:version', 1402 'copy:js' 1322 1403 ] ); 1323 1404 … … 1339 1420 ] ); 1340 1421 1341 grunt.registerTask( 'copy:all', [ 1342 'copy:files', 1343 'copy:wp-admin-css-compat-rtl', 1344 'copy:wp-admin-css-compat-min', 1345 'copy:version', 1346 'copy:js' 1347 ] ); 1348 1349 grunt.registerTask( 'build', [ 1350 'clean:all', 1422 grunt.registerTask( 'clean-all', function() { 1423 if ( grunt.option( 'symlink' ) === true ) { 1424 // clean all symlinks 1425 try { 1426 var delSymlinks = require('del-symlinks'); 1427 1428 var result = delSymlinks.sync(['./build/**']); 1429 grunt.log.writeln( '>> ' + result.length + ' symlinks cleaned.' ); 1430 } catch ( e ) { 1431 grunt.verbose.error( 'Error:', e.message ); 1432 grunt.fail.warn( "Failed to delete symlinks. If you're on Windows, " + 1433 "running as administrator could resolve this issue."); 1434 } 1435 } 1436 1437 grunt.task.run( 'clean:all' ); 1438 } ); 1439 1440 grunt.registerTask( 'build:all', [ 1441 'clean-all', 1351 1442 'copy:all', 1352 1443 'file_append', … … 1363 1454 'usebanner', 1364 1455 'webpack:prod', 1365 'webpack:dev ',1456 'webpack:devProdTarget', 1366 1457 'jsvalidate:build' 1367 1458 ] ); 1459 1460 grunt.registerTask( 'build', function() { 1461 grunt.task.run( 'build:all' ); 1462 } ); 1463 1464 grunt.registerTask( 'build:dev', function() { 1465 try { 1466 // Try creating a symlink. 1467 fs.symlinkSync( './symlink', './symlinktest'); 1468 grunt.option( 'symlink', true ); 1469 // If succeeded, remove it again. 1470 fs.unlinkSync( './symlinktest' ); 1471 } catch( e ) { 1472 grunt.verbose.error( 'Error:', e.message ); 1473 grunt.log.error( "Failed to delete symlinks. Falling back to copying " + 1474 "files instead. If you're on Windows, " + 1475 "running as administrator could resolve this issue."); 1476 } finally { 1477 grunt.task.run( 'build:all' ); 1478 } 1479 } ); 1368 1480 1369 1481 grunt.registerTask( 'prerelease', [ -
trunk/tools/webpack/packages.js
r44177 r44245 50 50 } 51 51 52 module.exports = function( env = { environment: 'production', watch: false } ) {52 module.exports = function( env = { environment: 'production', watch: false, forceBuildTarget: false } ) { 53 53 const mode = env.environment; 54 54 const suffix = mode === 'production' ? '.min' : ''; 55 const buildTarget = ( mode === 'production' ? 'build' : 'src' ) + '/wp-includes';55 const buildTarget = env.forceBuildTarget ? env.forceBuildTarget : ( mode === 'production' ? 'build' : 'src' ) + '/wp-includes'; 56 56 57 57 const packages = [ -
trunk/webpack.config.js
r44112 r44245 2 2 const packagesConfig = require( './tools/webpack/packages' ); 3 3 4 module.exports = function( env = { environment: "production", watch: false } ) {4 module.exports = function( env = { environment: "production", watch: false, forceBuildTarget: false } ) { 5 5 if ( ! env.watch ) { 6 6 env.watch = false; 7 } 8 9 if ( ! env.forceBuildTarget ) { 10 env.forceBuildTarget = false; 7 11 } 8 12
Note: See TracChangeset
for help on using the changeset viewer.