Build tools: Allow building WordPress to src
.
After the JavaScript reorganization in [43309], it was no longer possible to test WordPress from the src
folder. That meant a build step was required to test PHP modifications. That is suboptimal as even a simple copy is slower than a web server just serving the new file.
We achieve building to src
by setting a WORKING_DIR
constant in the Gruntfile that is build
by default, but changes to src
when the --dev
flag is present on any Grunt command. We provide sensible defaults so some commands, such as copying version.php
, always build to build
.
Because testing from build
is no longer required, we change the messages present in index.php
and wp-admin/index.php
to be more broadly about building WordPress.
We also change the webpack config to have more straightforward behavior based on the buildTarget
argument. It only determines the build target now and has no implicit behavior anymore. grunt build
still works as it worked before, to make sure that the build server produces the same wordpress.zip
we are used to.
We do all this instead of a symlink setup because symlinks don't work on every platform.
Props omarreiss, netweb, flixos90, SergeyBiryukov.
Fixes #44492.