[#1431972]: Provide visual feedback that drush make is doing something.
- We always print 'Starting Drupal.org ... makefile validation' when
we start validating a .make file (to the 'ok' level).
- Fixed a bug in that message how it was handling 'core' vs. 'contrib'.
[#1469714] by dww: Fix the error message if you define a drupal project.
- The error now mentions 'projects[drupal]' which is the real problem.
- Explain using 'core' or a drupal-org-core.make as alternatives.
- We now have a separate doc page just for errors and solutions, so we
now link directly to that.
[#1469714] by dww: Fixed validation to support drupal-org-core.make files.
- To resolve #1455614 we need to split core from contrib for
distribution packaging, so there are now separate valdation rules
for the core-only drupal-org-core.make file vs. the drupal-org.make
file which we've always had (which can't define core as a project).
- The --drupal-org option to verify-makefile and make now can
optionally take a value (core|contrib) to trigger specific
- If verify-makefile is invoked with no filename argument, it searches
for drupal-org.make and/or drupal-org-core.make and does the
appropriate validation on each accordingly.
- Added/fixed tests for new new validation rules we're enforcing.
[#1433784] by dww: Skip recording metadata for the core 'drupal' project.
Since --no-core is currently always set, we're never actually building
Drupal core so we don't want to record packaging metadata about it.
[#1433784] by dww: Added top-level keys for 'project' and 'library'.
When recording and printing the packaging metadata, we want to
separate projects from libraries. This will make it easier for the
packaging script to read this data and do the right thing, and also
prevents clobbering data in case of namespace collisions between
projects and libraries (which can definitely happen). Therefore,
drupalorg_drush_metadata() now takes a 'type' parameter.
[#1433784] by dww: Yet more cleanup of revision 0e487b98b92.
- DrushMakeDo_RecordProjectMetadata wasn't a transformer at all and
made the code needlessly complicated and confusing. Refactored that
into a separate drupalorg_drush_record_project_metadata() function.
- Majorly simplified the logic in there and reduced code duplication.
- Renamed drupalorg_drush_set_release_metadata() to
drupalorg_drush_find_release_node() since that's what it's doing.
- Made drupalorg_drush_write_package_contents() more simple and
obvious instead of trying to be clever and harder to comprehend.
[#1433784] by dww: Major cleanup of revision 0e487b98b92.
- Renamed all functions that were operating on metadata to use "metadata"
in their names, not "json".
- Moved all the logic for the metadata filename into a single function.
- Changed the command-line option to '--drupal-org-log-package-metadata'
and if there's a value specified, we use that for the filename.
- Added extensive PHPDoc comments to all new functions.
[#1433784] by hunmonk: Added support for a package_contents.json file.
This is a new command line option to spit out full information about
what drush make built so that the d.o packaging script can have
complete and accurate information for displaying package contents.
[#1371306] by dww, hunmonk: If you use a git hash you can specify a branch.
Instead of requiring .make file authors to deal with the slightly
confusing project-level 'version' attribute, they can just define the
download-level 'branch' attribute to satisfying the validation requirement.