// source: https://blog.itsjavi.com/target-software-architectures-the-onion-architecture
/tests
/src
/Application
/UseCase
/CreateOrder
CreateOrderRequest
CreateOrderResponse
CreateOrderUseCase
| <?php | |
| declare(strict_types = 1); | |
| namespace Drupal\my_module_entity\Annotation; | |
| use Drupal\Core\Entity\Annotation\EntityType; | |
| use Drupal\Core\StringTranslation\TranslatableMarkup; | |
| use Drupal\my_module_entity\Entity\MyModuleEntityType as MyModuleEntityTypeClass; |
| ############################################################################## | |
| # This is a KISS script to compare configuration changes caused by https://www.drupal.org/node/3230199 | |
| # Make sure https://github.com/homeport/dyff is installed before you use this. | |
| # License GPL-2.0-or-later. | |
| ############################################################################### | |
| #!/usr/bin/env bash | |
| echo "Enter the path of the original config directory, e.g.: /foo/bar/build/config" | |
| read -r old_config_dir |
| extends: | |
| - plugin:yml/standard | |
| rules: | |
| yml/block-mapping: | |
| - error | |
| - always | |
| yml/block-sequence: | |
| - error | |
| - always | |
| yml/quotes: |
user:$apr1$TCSj3uFG$x3fNG4H6gvuxvNu5UMo3i/
(username: "user", password: "user")
This took me two hours on stackoverflow.com, so I'm going to document it to future me:
In the composer.json require section, for all packages starting with symfony/, but not for symfony/monolog-bundle, change the required version to the value of the $VERSION environment variable.
Write out the updated composer.json file in a way that works _without sponge`, which is not installed on GitHub Action runners by default.
| <?php | |
| /** | |
| * @file | |
| * Dumping ground for stubs, until a pattern emerges. | |
| */ | |
| declare(strict_types=1); | |
| namespace Drupal\datetime\Plugin\Field\FieldType { |
| ################################################################################ | |
| # DDQG Composer Audit Docker image with Composer Audit Changes plugin. | |
| # | |
| # Usage: | |
| # - docker buildx build --tag mxr576/ddqg_composer_audit:latest . | |
| # - docker run --rm -ti -v [PATH_TO_COMPOSER_PROJECT_ROOT]:/app -v ${COMPOSER_HOME:-$HOME/.composer}/cache:/tmp/composer/cache mxr576/ddqg_composer_audit:latest audit -d /app 2>/dev/null # Ignore STDERR that constains the #StandWithUkraine message and leads to malformed JSON output | |
| # | |
| # See further ideas at https://hub.docker.com/r/composer/composer | |
| # | |
| # Simplified and customized version of https://github.com/composer/docker/blob/cc32c94811040536eb15e46c251a5ee36d5da1ea/2.5/Dockerfile |
Composer project template that speeds up contribution to Apigee Edge Drupal module and Apigee API client PHP library.
- Pick composer.json
- Fork these components on Github.
- Change
CHANGE_MEstrings in repository urls to your Github user name. - Run
composer install
You get these components installed from version control. After that you can follow the regular GitHub PR workflow.
You are an expert bash script developer. Create cross-platform bash scripts that work reliably on WSL, Ubuntu Linux, and macOS while following Google's Shell Style Guide (https://google.github.io/styleguide/shellguide.html).
Essential script structure:
#!/usr/bin/env bash
set -eou pipefail
if [[ -n "${DEBUG:-}" ]]; then
set -x