Giter Club home page Giter Club logo

drupal-scaffold's Introduction

drupal-scaffold

Build Status

DEPRECATED - DO NOT USE

This project is deprecated. Please use drupal/core-composer-scaffold.

If you are still using this plugin because you are on Drupal 8.7.x or earlier, please note that it is possible to use core-composer-scaffold with older versions of Drupal 8. Start with the template project drupal/recommended-project, and then pin to an earlier version of drupal/core-recommended after the initial create-project is done. Note that it's generally easier to remove composer.lock and vendor first when moving back to older versions of Drupal core.

OLD README FOLLOWS

Composer plugin for automatically downloading Drupal scaffold files (like index.php, update.php, โ€ฆ) when using drupal/core via Composer.

It is recommended that the vendor directory be placed in its standard location at the project root, outside of the Drupal root; however, the location of the vendor directory and the name of the Drupal root may be placed in whatever location suits the project. Drupal-scaffold will generate the autoload.php file at the Drupal root to require the Composer-generated autoload file in the vendor directory.

Usage

Run composer require drupal-composer/drupal-scaffold:dev-master in your composer project before installing or updating drupal/core.

Once drupal-scaffold is required by your project, it will automatically update your scaffold files whenever composer update changes the version of drupal/core installed.

Configuration

You can configure the plugin with providing some settings in the extra section of your root composer.json.

{
  "extra": {
    "drupal-scaffold": {
      "source": "https://git.drupalcode.org/project/drupal/raw/{version}/{path}",
      "excludes": [
        "google123.html",
        "robots.txt"
      ],
      "includes": [
        "sites/default/example.settings.my.php"
      ],
      "initial": {
        "sites/default/default.services.yml": "sites/default/services.yml",
        "sites/default/default.settings.php": "sites/default/settings.php"
      },
      "omit-defaults": false
    }
  }
}

The source option may be used to specify the URL to download the scaffold files from; the default source is drupal.org. The literal string {version} in the source option is replaced with the current version of Drupal core being updated prior to download. You can also define source as an array to have fallbacks in case of any HTTP issues.

{
  "extra": {
    "drupal-scaffold": {
      "source": [
        "https://git.drupalcode.org/project/drupal/raw/{version}/{path}",
        "https://raw.githubusercontent.com/drupal/drupal/{version}/{path}"
      ]
    }
  }
}

With the drupal-scaffold option excludes, you can provide additional paths that should not be copied or overwritten. The plugin provides no excludes by default.

Default includes are provided by the plugin:

.csslintrc
.editorconfig
.eslintignore
.eslintrc (Drupal <= 8.2.x)
.eslintrc.json (Drupal >= 8.3.x)
.gitattributes
.ht.router.php (Drupal >= 8.5.x)
.htaccess
index.php
robots.txt
sites/default/default.settings.php
sites/default/default.services.yml
sites/development.services.yml
sites/example.settings.local.php
sites/example.sites.php
update.php
web.config

When setting omit-defaults to true, neither the default excludes nor the default includes will be provided; in this instance, only those files explicitly listed in the excludes and includes options will be considered. If omit-defaults is false (the default), then any items listed in excludes or includes will be in addition to the usual defaults.

The initial hash lists files that should be copied over only if they do not exist in the destination. The key specifies the path to the source file, and the value indicates the path to the destination file.

Limitation

When using Composer to install or update the Drupal development branch, the scaffold files are always taken from the HEAD of the branch (or, more specifically, from the most recent development .tar.gz archive). This might not be what you want when using an old development version (e.g. when the version is fixed via composer.lock). To avoid problems, always commit your scaffold files to the repository any time that composer.lock is committed. Note that the correct scaffold files are retrieved when using a tagged release of drupal/core (recommended).

Custom command

The plugin by default is only downloading the scaffold files when installing or updating drupal/core. If you want to call it manually, you have to add the command callback to the scripts-section of your root composer.json, like this:

{
  "scripts": {
    "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold"
  }
}

After that you can manually download the scaffold files according to your configuration by using composer drupal:scaffold.

It is assumed that the scaffold files will be committed to the repository, to ensure that the correct files are used on the CI server (see Limitation, above). After running composer install for the first time commit the scaffold files to your repository.

drupal-scaffold's People

Contributors

alexpott avatar bartfeenstra avatar claudiu-cristea avatar derhasi avatar florenttorregrosa avatar greg-1-anderson avatar hctom avatar kmbremner avatar pingers avatar sherakama avatar vijaycs85 avatar webflo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drupal-scaffold's Issues

Leaves a tmp* directory in application root

After running composer run-script drupal-scaffold, a tmp17445153111460235384 directory is left in the application root. Is the directory not cleaned up?

 [FileSystem\DeleteDir] Deleted /tmp//drupal-scaffold-1460235378...
 [FileSystem\FilesystemStack] _chmod ["\/home\/rob\/Documents\/playbox\/web\/sites\/default",493]

Error in post install script

๐Ÿ’ก Context

  • drupal-scaffold : 2.5.0
  • docker container for composer, extending version 1.6

โ˜‘๏ธ Process

  • Run $ composer install

๐Ÿ‘Ž Actual result

Installation runs smoothly but crashes after generating autoload files with message

Fatal error: Uncaught TypeError: Argument 3 passed to DrupalComposer\DrupalScaffold\PrestissimoFileFetcher::__construct() must implement interface Composer\IO\IOInterface, array given

๐Ÿ‘ Expected result

๐Ÿ˜ˆ A wholly successful installation !

Problems with pear/archive_tar package

@greg-1-anderson: I just found some problems with the new pear/archive_tar package used for untaring the scaffold files.
Unfortunately this seems to require an existing PEAR installation in your PHP include path, because in pear/archive:tar/Archive/Tar.php there is the following statement:

require_once 'PEAR.php';

Of course the PEAR minimal core is added via Composer, but this does not solve the hard-coded require.

In my case, I cannot work with drupal-composer/drupal-scaffoldbecause it always breaks with the following error:

Perhaps it is better to use the following package for untaring the scaffold files:

https://packagist.org/packages/alchemy/zippy

I'm looking forward to your feedback & thanx in advance!

Re-scaffolding index.php causes SoftException 500 Error

SoftException in Application.cpp:261: File "...web/index.php" is writeable by group, referer: https://energiaklub.hu/admin/reports/updates

Re-scaffolded index.php becomes group-writable and the application stops working.
I assume this is caused by the system defaults (php's copy, umask or something like that), but seeing how index.php is required to be not group-writable...the scaffolding process might as well make sure.

.eslintrc.json - how to make it work with the extends?

The .eslintrc.json that is placed in the web folder extends the core eslint file.

But I have a problem in PHPStorm that even if I have installed the node modules in core I get errors in all JS-files of missing packages.

It seems like EsLint finds the core config, but not the core node_modules. How do you solve that? I'm guessing it's included to make things easier.

Allow prepend and append file contents during scaffold process

Hi,

Would be interesting to have an extra feature to be able to "prepend" and "append" file content to another file.

Use Case:
Let's suppose that I want to use the D.O. version of the .htaccess, provided by drupal-scaffold, and add to this file some custom htaccess logic during the scaffolding process.
The same use case for settings.php, I want to use the native version and append some extra confs.

Is different from the include option.

The config could be something like this:

{
  "extra": {
    "drupal-scaffold": {
      "prepend-content": [
        "/local/path/htaccess.my.conf": ".htaccess",
        "..."
      ],
      "append-content": [
        "/local/path/settings.conf.my.php": "sites/default/settings.php",
        "..."
      ]
    }
  }
}

Do you think it would be interesting to have?
I would be glad to send a PR, if positive case.

Feature: Distinguish files depending on dev environment

Hello,

I would like to avoid aving the following files packaged on production environment:

  • .csslintrc
  • .editorconfig
  • .eslintignore
  • .eslintrc.json
  • .gitattributes
  • sites/development.services.yml

I think a new config key like "dev" with the previous files has default values could resolved the problem.

And the files would be added/excluded depending if the require-dev packages are included.

If the maintainers are interested in this feature, thanks to tell me and I will try to make a pull request for that.

Cannot run 'composer drupal-scaffold' in 2.5.0

Did a composer update today and got the drupal-scaffold 2.5.0 (had 2.4.0 before). Now running "composer drupal-scaffold" just displays:

$ composer drupal-scaffold
> DrupalComposer\DrupalScaffold\Plugin::scaffold

In the code I see it is doing a @trigger_error to tell me this is deprecated (although it never printed this message). It says to use "composer drupal:scaffold", but this doesn't actually do anything either (no errors, just nothing).

Reverting back to 2.4.0 allowed it to start working again. Not sure what else to try.

PHP Parse error when trying to run composer self-update

I'm trying to update composer, however I'm running into the error below.
PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or varia ble (T_VARIABLE) or '{' or '$' in /vagrant/apphome/ vendor/drupal/core-composer-scaffold/Plugin.php on line 48

PHP version : 7.2.24
Composer version: 1.9

Is there a minimum php version that can be used?

Initial hash sources

Feature request here. Allow to source the "initial" from a different location than the 'source' key.

In #44, the functionality for "initial" was added. However, it assumes that you have a forked Drupal version and all "initial" files are sourced from the same repo as the "source" key. It might make sense for Pantheon to have all the extra overhead of hosting their own clone of d8, but for my uses, I just want to provide a default settings.local.php that I have sourced inside the local code base. I was hoping I could just use:

      "initial": {
        "../seed/services.local.yml": "sites/default/services.local.yml",
        "../seed/settings.local.php": "sites/default/settings.local.php"
      }

But that doesn't work because it tries to download those files from http://cgit.drupalcode.org/drupal/plain/. Which obviously is going to fail.

Fatal error when no drupal/core package is present

When no drupal/core package is present running most of composer commands raises an exception

Script DrupalComposer\DrupalScaffold\Plugin::scaffold handling the post-update-cmd event terminated with an exception


  [ErrorException]
  Argument 1 passed to Composer\Installer\InstallationManager::getInstallPath() must implement interface Composer\Package\PackageInterface, null given, called in .../drupal-scaffold/src/Handler.php on line 224 and defined

Add ability to specify a location for includes

Currently I have this configuration:

"drupal-scaffold": {
            "initial": {
                ".editorconfig": "../.editorconfig",
                ".gitattributes": "../.gitattributes"
            },
...
        },

And it works great except for the little thing about the "initial" files still living in the repo under /web. What I really wanted to do is moving them.

I think this can be solved with two different ways

  • The "include" config allows a keyed array (I do not know the name in JSON) with source and destination and treating those entries with only a value as usual

  • Add an "move" config that also places the scaffolded files to a different location.

Related issues:
#54
drupal-composer/drupal-project#220

Drupal composer create-project Failed to download /plain/ directory

I'm trying to setup drupal 8 on windows, but it's failing during some download, which I don't understand, since I can navigate to the files myself. Can I download the files myself, or does it need to do additional installation? Either way, I'm not sure where the files would go exactly.

Here is a shortened version of the console:

C:\dev\drupal> composer create-project drupal-composer/drupal-project:8.x-dev

...

Generating autoload files


  [Exception]
  Failed to download https://cgit.drupalcode.org/drupal/plain/update.php, 
https://cgit.drupalcode.org/drupal/plain/sites/example.sites.php, 
https://cgit.drupalcode.org/drupal/plain/.htaccess, 
https://cgit.drupalcode.org/drupal/plain/index.php, 
https://cgit.drupalcode.org/drupal/plain/robots.txt, 
https://cgit.drupalcode.org/drupal/plain/sites/default/default.services.yml, 
https://cgit.drupalcode.org/drupal/plain/sites/example.settings.local.php, 
https://cgit.drupalcode.org/drupal/plain/sites/default/default.settings.php, 
https://cgit.drupalcode.org/drupal/plain/sites/development.services.yml, 
https://cgit.drupalcode.org/drupal/plain/web.config, 
https://cgit.drupalcode.org/drupal/plain/.ht.router.php, 
https://cgit.drupalcode.org/drupal/plain/.gitattributes, 
https://cgit.drupalcode.org/drupal/plain/.csslintrc, 
https://cgit.drupalcode.org/drupal/plain/.editorconfig, 
https://cgit.drupalcode.org/drupal/plain/.eslintignore, 
https://cgit.drupalcode.org/drupal/plain/.eslintrc.json


create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>]

C:\dev\drupal>

Comparison to Composer Scaffold

It seems like Composer Scaffold (https://github.com/grasmash/composer-scaffold) is a more flexible replacement for Drupal Scaffold that could largely replace it, and perhaps that's what the community has decided to do, but it's not very well documented. Is there any plan to deprecate Drupal Scaffold in favor of Composer Scaffold, and whether there is or not, can we document the status of and relation between these two projects in the Drupal Scaffold readme?

How to access composer in post-drupal-scaffold-cmd method?

Hi
I've inherited some code which provides a ScriptHandler.php class which implements static methods to process the composer post_install_cmd: and post_update_cmd: These methods get passed an instance of Composer\Script\Event which can be used to get the instance of composer and IO.
They use $extra = $event->getComposer()->getPackage()->getExtra(); to get some parameters they use in processing.
I now would like to do the same with post-drupal-scaffold-cmd: but although my new command is getting called OK, the passed parameter appears to be an instance of Composer\EventDispatcher\Event rather than Composer\ScriptHander\Event. Can this method get access to composer and therfore extras in a similar way?

Add by default code sniffer

I think will be great to add code sniffer (and maybe a command to run it) because the drupal community has been always an example of good quality code so in this way we can keep encouraging people to write better code and avoid to report every time the same mistakes.

generation of autoload.php file should respect umask value

I have my umask value set on my shell is something like umask u=rwx,g=rx,o= so that any file composer installs or creates should take -rw-r----- deploy:www-data but it seems autload.php doesn't respect it and modifies the permission from -rw-r----- to -rw-rw-rw- . Is it a knowing behaviour ?

While other files and directories perfectly respect the umask value. e.g drwxr-x--- 50 deploy www-php 1600 Nov 25 21:47 vendor

Refer symfony/symfony#19872

Patching the scaffold files

What is the recommended method for handling changes to any of the files that scaffolding pulls down.
Patching them doesnt seem like a valid option as the files arent part of a specific project known to composer.

Downloading scaffold files fails

Builds are randomly failing on Travis CI since days because scaffold files could not be downloaded. I have the same issue with 8.6.15's scaffold files.

image

PHP 7.2.16
Composer version 1.8.5 2019-04-09 17:46:47
drupal-composer/drupal-scaffold 2.6.1
hirak/prestissimo 0.3.8

Related to #102 #103?

autoloader.php

Currently you have to create the autoloader.php manually to get a Drupal project up and running in combination with drupal-composer/drupal-scaffold.

My suggestion is to implement a check, if there is an autoloader.php file available in the document root of Drupal. If not, drupal-composer/drupal-scaffold should create a default autoloader file pointing to the correct vendor directory (in most cases outside of the document root).

May this work out, or should users always create it manually (if so, this might be worth a short note in the README.md, hehe)?

Integrate with Prestissimo async downloaders

I'm not well versed with Composer at all, but would it be possible to switch to one of Prestissimo's async file downloaders if they are available? On my computer the scaffolding process takes 16sec. For reference, using prestissimo when downloading drupal-composer/drupal-project dependency packages.json files decreased the build step by 235sec.

Composer tool minimal version requirement

Problem:
When using the module through BLT manager (step2: https://blt.readthedocs.io/en/latest/readme/creating-new-project/), the scaffold step was never executed. There were no errors or warnings in the output, just no files after project was "scafolded".

The cause:
The root cause of the issue was due to legacy install of the composer tool: Composer version 1.1.3 2016-06-26 15:42:08.

The fix:
Once updated to Composer version 1.6.3 2018-01-31 16:28:17 everything is behaving normally.

Proposed solutions:

  • Add a dependency on composer's minimal version that will always work.
  • Add a warning at least, so people can diagnose the issue faster, not like me - spending good half a day on that :(.

Support Drupal Core 7.x and lower

Hello

Can we get Drupal Core 7.x and lower supported?
What are the challenges for that?

This patch I'm providing allows filtering the release version (7.x vs 8.x.x) properly and feeding it to the RoboRunner in downloadScaffold() in Handler.php
fix-d7.patch.txt

However, Drupal 7.x packages do not exist in the drupal/core namespace (while Drupal 8.x packages exist in both, but not the latest?)

I made this other patch to change the drupal/core to drupal/drupal in the code to allow Drupal 7:
drupal-core-drupal.patch.txt

Then you just have to override the includes/excludes to have it download drupal7 and scaffold it.

But I'm aware this last patch is not the best way. It will need a version selector, just like the first patch. Maybe we can have a function for this.

Let me know what you think before proceeding with more changes.
Cheers

Error when running `composer update`

When running composer update on my local machine, the command will ultimately fail and show this error:

Problem 1
    - The requested package drupal-composer/drupal-scaffold ~1 is satisfiable by drupal-composer/drupal-scaffold[1.0.0, 1.1.0, 1.1.1, 1.2.0, 1.3.0, 1.3.1, 1.3.2] but these conflict with your requirements or minimum-stability.

The same error appears using composer install whether the vendor directory and/or composer cache and/or composer.lock are deleted or not.

Any ideas on how to fix this error ?

Package codegyre/robo is abandoned

Hello,
I was found this message after composer update:
Package codegyre/robo is abandoned, you should avoid using it. Use consolidation/robo instead.

On this package is message: This package is abandoned and no longer maintained. The author suggests using the consolidation/robo package instead. - see: https://packagist.org/packages/codegyre/robo

Can you replace this lib please?

Simplify call to taskRsync.

This is a placeholder issue. I can make a PR once consolidation/robo#243 is merged.

Current code:

    $rsync = $this->taskRsync()
      ->fromPath("$tmpDir/drupal-8/")
      ->toPath($webroot)
      ->args('-a', '-v', '-z')
      ->args('--delete');
    foreach ($excludes as $exclude) {
      $rsync->exclude($exclude);
    }
    $rsync->run();

Simplified code:

    $this->taskRsync()
      ->fromPath("$tmpDir/drupal-8/")
      ->toPath($webroot)
      ->args('-a', '-v', '-z')
      ->args('--delete')
      ->exclude($excludes)
      ->run();

Copying from temporary directory is slow

[FileSystem\CopyDir] Copied from /build_dir/tmp3803384641461926325/drupal-8.0.6 to /tmp/drupal-scaffold-1461926324/drupal-8

This step in the scaffolding process seems to take the most time, presumably because it copies all of core's files after they have been extracted. Would it be possible to perform the tarball extraction after this copy, so the copy action becomes faster?

I may have time to work on this myself later. If not, this issue serves as a reminder.

Drupal-l10n

Hello,

I just made a new composer plugin to download Drupal localization files using composer. The structure comes from drupal-scaffold.

Here is the repository: https://github.com/FlorentTorregrosa/drupal-l10n

Here is an usage example: FlorentTorregrosa/docker-drupal-project@183a92c

Why this plugin? (https://github.com/FlorentTorregrosa/drupal-l10n/blob/master/README.md#usage)

This plugin is useful when you want to package your project and then deploy this package on a target environment and that this environment does not have access to a localization servers. So you have to prepare the translations before deploying.

It avoids you to have to put the localization files under your VCS or to have a local site to download the translations.

So does the drupal-composer group would like to incorporate it or should it stay on my Github account?

In TODO I have to:

  • Implement proper Composer events, currently only the download method works.
  • Implement tests
  • Display the name of the file that is downloaded (I have the same problem with drupal-scaffold, the filename is not displayed)

Thanks for your reply.

Tag version 1.0.0.

We're about to use drupal-scaffold in drupal-project. Let's tag a 1.0.0 release, so that folks have a stable tag referring specifically to the behavior embodied in this version. That way, if we need to go to 2.x for a breaking change, ~1 will still be available.

Composer TransportException, empty 200 response

I have been using the scaffolding project for a few months now for a few drupal sites and I have never been able to correctly get all the scaffolding files.
Any composer install/update command always fails, and I always have to manually get the correct scaffolding files.

This is the error I receive:
Installation failed, reverting ./composer.json to its original content.

[Composer\Downloader\TransportException]
"http://cgit.drupalcode.org/drupal/plain/.csslintrc?h=8.2.6" appears broken, and returned an empty 200 response

It is not related to a single file, sometimes it downloads 1 file, sometimes, 2, 3, 4, 5, ... But it always fails somewhere.

What might cause this issue?
Is there a way to tell compose to try again when it fails? Because I have a feeling it would all work if composer would just try again to download the file.

No error when scaffold source doesn't exist and prestissimo installed globally

Not sure if this is an issue with drupal-scaffold or prestissimo, but if you have prestissimo installed globally, as per their docs, no errors or exceptions are thrown if the scaffold source cannot be found.

"drupal-scaffold": {
      "source": "https://raw.example.com/pantheon-systems/drops-8/{version}/{path}",

Should generate an error since example.com does not exist, but no errors:

$ composer install
...
Writing lock file
Generating optimized autoload files
$ cat web/.gitattributes
cat: web/.gitattributes: No such file or directory

After removing prestissimo, composer install correctly throws errors:

$ composer global remove hirak/prestissimo
$ composer install
...
Generating optimized autoload files
Downloading (failed)       
                                                                                                                                                                         
  [Composer\Downloader\TransportException]                                                                                                                               
  The "https://raw.example.com/pantheon-systems/drops-8/8.4.5/.gitattributes" file could not be downloaded: php_network_getaddresses: getaddrinfo failed: nodename nor   
  servname provided, or not known                                                                                                                                        
  failed to open stream: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known                                                      
                                                                                                                                                                         
Exception trace:
...
$ cat web/.gitattributes
cat: web/.gitattributes: No such file or directory

Like I said, if this is a prestissimo issue I can submit it over there. Thanks.

post-drupal-scaffold-cmd not working anymore?

I am not entirely sure that this is a bug but am able to reproduce with two projects that whatever I put in our scripts.post-drupal-scaffold-cmd array, the commands are not executed. One of these projects already had a command implemented and worked before. Have there been any breaking changes?

PrestissimoFileFetcher errors with newest Curl Version 7.64.0

we're running into a strange issue with PrestissimoFileFetcher and the newest curl version:

cli-drupal:/app/some-dir$ composer drupal:scaffold
  - Downloading 1/16: https://cgit.drupalcode.org/drupal/plain/web.config
  - Downloading 2/16: https://cgit.drupalcode.org/drupal/plain/.ht.router.php
  - Downloading 5/16: https://cgit.drupalcode.org/drupal/plain/.eslintrc.json
  - Downloading 5/16: https://cgit.drupalcode.org/drupal/plain/.eslintignore
  - Downloading 5/16: https://cgit.drupalcode.org/drupal/plain/.editorconfig
  - Downloading 6/16: https://cgit.drupalcode.org/drupal/plain/.gitattributes
  - Downloading 7/16: https://cgit.drupalcode.org/drupal/plain/.csslintrc


  [Exception]
  Failed to download https://cgit.drupalcode.org/drupal/plain/sites/example.sites.php, https://cgit.drupalcode.org/drupal/plain/update.php, https://cgit.drupalcode.org/drupal/plain/sites/default/default.setti
  ngs.php, https://cgit.drupalcode.org/drupal/plain/robots.txt, https://cgit.drupalcode.org/drupal/plain/sites/default/default.services.yml, https://cgit.drupalcode.org/drupal/plain/index.php, https://cgit.dr
  upalcode.org/drupal/plain/sites/example.settings.local.php, https://cgit.drupalcode.org/drupal/plain/sites/development.services.yml, https://cgit.drupalcode.org/drupal/plain/.htaccess


drupal:scaffold

basically it is able to download the first couple of files, but then fails to download additional files.

Actually debugging the curl process shows a very weird issue:
first working requests:

*   Trying 151.101.2.49...
* TCP_NODELAY set
* Expire in 149982 ms for 3 (transfer 0x564c99f6e720)
* Expire in 200 ms for 4 (transfer 0x564c99f6e720)
* Hostname 'cgit.drupalcode.org' was found in DNS cache
* Expire in 11 ms for 1 (transfer 0x564c99f68d00)
*   Trying 151.101.2.49...
* TCP_NODELAY set
* Expire in 149982 ms for 3 (transfer 0x564c99f68d00)
* Expire in 200 ms for 4 (transfer 0x564c99f68d00)
* Connected to cgit.drupalcode.org (151.101.2.49) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* Connected to cgit.drupalcode.org (151.101.2.49) port 443 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Fastly, Inc.; CN=q2.shared.global.fastly.net
*  start date: Feb 19 18:28:24 2019 GMT
*  expire date: Oct 11 20:12:15 2019 GMT
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign CloudSSL CA - SHA256 - G3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x564c99f6e720)
> GET /drupal/plain/.eslintignore?h=8.6.10 HTTP/2
Host: cgit.drupalcode.org
User-Agent: Composer/1.6.5 (Linux; 4.9.125-linuxkit; PHP 7.3.2)
Accept: */*
Accept-Encoding: deflate, gzip

* old SSL session ID is stale, removing
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Fastly, Inc.; CN=q2.shared.global.fastly.net
*  start date: Feb 19 18:28:24 2019 GMT
*  expire date: Oct 11 20:12:15 2019 GMT
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign CloudSSL CA - SHA256 - G3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x564c99f68d00)
> GET /drupal/plain/.editorconfig?h=8.6.10 HTTP/2
Host: cgit.drupalcode.org
User-Agent: Composer/1.6.5 (Linux; 4.9.125-linuxkit; PHP 7.3.2)
Accept: */*
Accept-Encoding: deflate, gzip

* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 200 
< server: nginx
< content-type: text/plain; charset=UTF-8
< content-disposition: inline; filename=".eslintignore"
< expires: Thu, 28 Feb 2019 08:16:08 GMT
< last-modified: Thu, 28 Feb 2019 08:16:08 GMT
< etag: "9c134873d484956a9b6c87447e82b792cd27334c-gzip"
< content-encoding: gzip
< via: 1.1 varnish
< cache-control: no-cache
< accept-ranges: bytes
< date: Thu, 28 Feb 2019 11:12:01 GMT
< via: 1.1 varnish
< age: 10551
< x-served-by: cache-sea1033-SEA, cache-mel19030-MEL
< x-cache: HIT, HIT
< x-cache-hits: 1, 3
< x-timer: S1551352321.211954,VS0,VE6
< vary: Accept-Encoding
< content-length: 94
< 
* Connection #0 to host cgit.drupalcode.org left intact

additional requests:

* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 200 
< server: nginx
< content-type: text/plain; charset=UTF-8
< content-disposition: inline; filename=".editorconfig"
< expires: Thu, 28 Feb 2019 08:16:05 GMT
< last-modified: Thu, 28 Feb 2019 08:16:05 GMT
< etag: "686c443ceca7e4aaccd384ba6b36afe43337104f-gzip"
< content-encoding: gzip
< via: 1.1 varnish
< cache-control: no-cache
< accept-ranges: bytes
< date: Thu, 28 Feb 2019 11:12:01 GMT
< via: 1.1 varnish
< age: 10553
< x-served-by: cache-sea1033-SEA, cache-mel19022-MEL
< x-cache: HIT, HIT
< x-cache-hits: 1, 3
< x-timer: S1551352321.244465,VS0,VE4
< vary: Accept-Encoding
< content-length: 252
< 
* Could not resolve host: cgit.drupalcode.org
* Closing connection 1

Interestingly prestissimo works correctly for regular composer installs:

cli-drupal:/app$ composer create-project drupal-composer/drupal-project:8.x-dev some-dir --no-interaction --ignore-platform-reqs
    1/9:	http://packagist.org/p/provider-latest$111d1d02b15f492404f6eed295f048cffca8ef24accc787cf731c8ea04f2bff6.json
    Finished: success: 1, skipped: 0, failure: 8, total: 9
Installing drupal-composer/drupal-project (8.x-dev 4229acea4bb6181f421e8dd0e72a02ccdc98df1d)
  - Installing drupal-composer/drupal-project (8.x-dev 4229ace): Cloning 4229acea4b from cache
Created project in some-dir
    1/32:	https://packages.drupal.org/8/drupal/provider-2011-2$a0c2e8f3b086aeea9a453350e98dd6381a76673db5e47c9decd3bcbedb5c4d4b.json
    2/32:	https://packages.drupal.org/8/drupal/provider-2015-3$86520ce6c9708dca70a24379e29103bbab2046b3e3db3e8049b16d4e296cc3f4.json
    3/32:	https://packages.drupal.org/8/drupal/provider-2013-4$34732aa261aea55582ee749a41b97a050177cedb9679652c2e679ccdc3dc3f98.json
    6/32:	https://packages.drupal.org/8/drupal/provider-2014-1$4bd5594cdbce99b96dc5c1fa202258d3a76ab63c166ebe10469225add819af9b.json
    6/32:	https://packages.drupal.org/8/drupal/provider-2014-3$b9afcac8f12a850d9b3f6ef288a97d89d10664697c9e2416a6b9b32cbbf1d709.json
    6/32:	https://packages.drupal.org/8/drupal/provider-2015-1$a47d0e2a244751b8bc769df07abe6c463626eefe3f5941cf857260403b7480ca.json
    7/32:	https://packages.drupal.org/8/drupal/provider-2014-2$5993333e88ff0415e2c4279645478dc43c0f0a080a0e18c60bf36d12d9e196df.json
    8/32:	https://packages.drupal.org/8/drupal/provider-2014-4$edab11dadaab88c534b455a0ab7da54b41eda574109c85988670d1c0dfa59fd3.json
    9/32:	https://packages.drupal.org/8/drupal/provider-2015-2$6ed29844872154a0a23662feec60188c4e58ce94b03cf3566b3391930ecf0de4.json
    10/32:	https://packages.drupal.org/8/drupal/provider-2015-4$1b1fad2fd427b83331a1cc28610036d6b37221134dccd4464576cfa77ffe33f7.json
    12/32:	https://packages.drupal.org/8/drupal/provider-2017-3$6e807cc8d91d4c9f276abaa69a2e5041005e0327bea505b5163b1c3db4d25685.json
    12/32:	https://packages.drupal.org/8/drupal/provider-2018-1$2b4bae45e0f586b7e4ac5deb874ba62040513ea71cd9ca1b41d8d23ab4918cf1.json
    13/32:	https://packages.drupal.org/8/drupal/provider-2018-2$f4d4732efe5c702ecb6410951d81482e1a8dc452625880b7500a1dbec7c8d40b.json
    14/32:	https://packages.drupal.org/8/drupal/provider-2016-3$ba2230ea91db2a6cac31518651ab5158b7905cc67f11c8c894db82588d1ae0a7.json
    15/32:	https://packages.drupal.org/8/drupal/provider-2016-4$b2359cdbc2f0d9d4a88db58df9c58a2e596f9964ff0263a8ab913f65aade1fb4.json
    17/32:	https://packages.drupal.org/8/drupal/provider-2017-1$3fd4fc3cbfbc05b4c544b1067d60de8aa66bde9f8fdeb7d86cdfbe9d12ca4945.json
    17/32:	https://packages.drupal.org/8/drupal/provider-2017-4$d0ba93b9cc657faab681b31a4c76119de4fd6472add3e2c391018aefb6c73117.json
    18/32:	https://packages.drupal.org/8/drupal/provider-2018-3$fd07b64c8438f3d05560f782dd4494d0d70d0d8a0aea954b9c022e091d927ea2.json
    19/32:	https://packages.drupal.org/8/drupal/provider-2017-2$bd8d40b1f8846c49b9ec0983e877c3b80708ce1cbe3493c1c191bf32ce11e66d.json
    20/32:	https://packages.drupal.org/8/drupal/provider-2019-1$f66a0fe44d899e4c182beeb9e9090150e7c29f73dac74d1786fd7b699a83ed4c.json
    21/32:	https://packages.drupal.org/8/drupal/provider-2016-1$1ce5a9ea4cfc8da8e8b03a99f797fdd1f024bd04751af40c6c7699cd42f4932c.json
    22/32:	https://packages.drupal.org/8/drupal/provider-2016-2$4c246b81ae9465b88369fce060d8eae11b559c471b59e0ee6afc6f6f1177d37f.json
    23/32:	https://packages.drupal.org/8/drupal/provider-2018-4$3e2e79f061bbb5a6db595d6e1da445c04feb6e96daa8d1266c94fa75875774f2.json
    Finished: success: 23, skipped: 0, failure: 9, total: 32
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
    1/112:	https://codeload.github.com/zaporylie/composer-drupal-optimizations/legacy.zip/173c198fd7c9aefa5e5b68cd755ee63eb0abf7e8
    2/112:	https://codeload.github.com/asm89/stack-cors/legacy.zip/c163e2b614550aedcf71165db2473d936abbced6
    3/112:	https://codeload.github.com/grasmash/yaml-expander/legacy.zip/3f0f6001ae707a24f4d9733958d77d92bf9693b1
    4/112:	https://codeload.github.com/doctrine/persistence/legacy.zip/c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38
    5/112:	https://codeload.github.com/doctrine/common/legacy.zip/30e33f60f64deec87df728c02b107f82cdafad9d
    6/112:	https://codeload.github.com/thephpleague/container/legacy.zip/43f35abd03a12977a60ffd7095efd6a7808488c0
    7/112:	https://codeload.github.com/webflo/drupal-core-require-dev/legacy.zip/a3ec86723a2d753c020bfa995281c3cefa0cbb89
    8/112:	https://codeload.github.com/doctrine/event-manager/legacy.zip/a520bc093a0170feeb6b14e9d83f3a14452e64b3
    9/112:	https://codeload.github.com/doctrine/reflection/legacy.zip/02538d3f95e88eb397a5f86274deb2c6175c2ab6
    10/112:	https://codeload.github.com/doctrine/inflector/legacy.zip/5527a48b7313d15261292c149e55e26eae771b0a
    11/112:	https://codeload.github.com/container-interop/container-interop/legacy.zip/79cbf1341c22ec75643d841642dd5d6acd83bdb8
    12/112:	https://codeload.github.com/egulias/EmailValidator/legacy.zip/758a77525bdaabd6c0f5669176bd4361cb2dda9e
    13/112:	https://codeload.github.com/stackphp/builder/legacy.zip/fb3d136d04c6be41120ebf8c0cc71fe9507d750a
    14/112:	https://codeload.github.com/symfony-cmf/routing/legacy.zip/fb1e7f85ff8c6866238b7e73a490a0a0243ae8ac
    15/112:	https://codeload.github.com/njh/easyrdf/legacy.zip/acd09dfe0555fbcfa254291e433c45fdd4652566
    16/112:	https://codeload.github.com/symfony/class-loader/legacy.zip/4459eef5298dedfb69f771186a580062b8516497
    17/112:	https://codeload.github.com/doctrine/cache/legacy.zip/d768d58baee9a4862ca783840eca1b9add7a7f57
    18/112:	https://codeload.github.com/symfony/psr-http-message-bridge/legacy.zip/53c15a6a7918e6c2ab16ae370ea607fb40cab196
    19/112:	https://codeload.github.com/TYPO3/phar-stream-wrapper/legacy.zip/0469d9fefa0146ea4299d3b11cfbb76faa7045bf
    20/112:	https://codeload.github.com/symfony/serializer/legacy.zip/a897373b86489ddecacc665d15ab32983a519907
    21/112:	https://codeload.github.com/Masterminds/html5-php/legacy.zip/b5d892a4bd058d61f736935d32a9c248f11ccc93
    22/112:	https://codeload.github.com/zendframework/zend-diactoros/legacy.zip/20da13beba0dde8fb648be3cc19765732790f46e
    23/112:	https://codeload.github.com/symfony/http-kernel/legacy.zip/dc6bf17684b7120f7bf74fae85c9155506041002
    24/112:	https://codeload.github.com/zendframework/zend-escaper/legacy.zip/31d8aafae982f9568287cb4dce987e6aff8fd074
    25/112:	https://codeload.github.com/symfony/validator/legacy.zip/06af494d8634df6ad9655ec7d80cb61983253912
    26/112:	https://codeload.github.com/symfony/polyfill-iconv/legacy.zip/97001cfc283484c9691769f51cdf25259037eba2
    27/112:	https://codeload.github.com/minkphp/MinkGoutteDriver/legacy.zip/8b9ad6d2d95bc70b840d15323365f52fcdaea6ca
    28/112:	https://codeload.github.com/symfony/routing/legacy.zip/62f0b8d8cd2cd359c3caa5a9f5253a4a6d480646
    29/112:	https://codeload.github.com/zendframework/zend-stdlib/legacy.zip/66536006722aff9e62d1b331025089b7ec71c065
    30/112:	https://codeload.github.com/minkphp/MinkBrowserKitDriver/legacy.zip/1b9a7ce903cfdaaec5fb32bfdbb26118343662eb
    31/112:	https://codeload.github.com/FriendsOfPHP/Goutte/legacy.zip/3f0eaf0a40181359470651f1565b3e07e3dd31b8
    32/112:	https://codeload.github.com/symfony/browser-kit/legacy.zip/ee4462581eb54bf34b746e4a5d522a4f21620160
    33/112:	https://codeload.github.com/zendframework/zend-feed/legacy.zip/5248e9fffa760e5c36092aeff02c3797e4a8a690
    34/112:	https://codeload.github.com/instaclick/php-webdriver/legacy.zip/6fa959452e774dcaed543faad3a9d1a37d803327
    35/112:	https://codeload.github.com/jcalderonzumba/MinkPhantomJSDriver/legacy.zip/008f43670e94acd39273d15add1e7348eb23848d
    36/112:	https://codeload.github.com/minkphp/Mink/legacy.zip/d5ee350c40baff5f331a05ebdbe1927345c9ac8b
    37/112:	https://codeload.github.com/jcalderonzumba/gastonjs/legacy.zip/575a9c18d8b87990c37252e8d9707b29f0a313f3
    38/112:	https://codeload.github.com/mikey179/vfsStream/legacy.zip/d5fec95f541d4d71c4823bb5e30cf9b9e5b96145
    39/112:	https://codeload.github.com/minkphp/MinkSelenium2Driver/legacy.zip/8684ee4e634db7abda9039ea53545f86fc1e105a
    40/112:	https://codeload.github.com/phar-io/version/legacy.zip/a70c0ced4be299a63d32fa96d9281d03e94041df
    41/112:	https://codeload.github.com/myclabs/DeepCopy/legacy.zip/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8
    42/112:	https://codeload.github.com/phar-io/manifest/legacy.zip/2df402786ab5368a0169091f61a7c1e0eb6852d0
    43/112:	https://codeload.github.com/sebastianbergmann/php-token-stream/legacy.zip/791198a2c6254db10131eecfe8c06670700904db
    44/112:	https://codeload.github.com/sebastianbergmann/code-unit-reverse-lookup/legacy.zip/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18
    45/112:	https://codeload.github.com/theseer/tokenizer/legacy.zip/cb2f008f3f05af2893a87208fe6a6c4985483f8b
    46/112:	https://codeload.github.com/sebastianbergmann/php-file-iterator/legacy.zip/730b01bc3e867237eaac355e06a36b85dd93a8b4
    47/112:	https://codeload.github.com/sebastianbergmann/php-timer/legacy.zip/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f
    48/112:	https://codeload.github.com/sebastianbergmann/php-text-template/legacy.zip/31f8b717e51d9a2afca6c9f046f5d69fc27c8686
    49/112:	https://codeload.github.com/sebastianbergmann/environment/legacy.zip/cd0871b3975fb7fc44d11314fd1ee20925fce4f5
    50/112:	https://codeload.github.com/sebastianbergmann/php-code-coverage/legacy.zip/c89677919c5dd6d3b3852f230a663118762218ac
    51/112:	https://codeload.github.com/sebastianbergmann/global-state/legacy.zip/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4
    52/112:	https://codeload.github.com/sebastianbergmann/object-enumerator/legacy.zip/7cfd9e65d11ffb5af41198476395774d4c8a84c5
    53/112:	https://codeload.github.com/sebastianbergmann/object-reflector/legacy.zip/773f97c67f28de00d397be301821b06708fca0be
    54/112:	https://codeload.github.com/sebastianbergmann/resource-operations/legacy.zip/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52
    55/112:	https://codeload.github.com/sebastianbergmann/version/legacy.zip/99732be0ddb3361e16ad77b68ba41efc8e979019
    56/112:	https://codeload.github.com/sebastianbergmann/phpunit/legacy.zip/bac23fe7ff13dbdb461481f706f0e9fe746334b7
    57/112:	https://codeload.github.com/phpDocumentor/TypeResolver/legacy.zip/9c977708995954784726e25d0cd1dddf4e65b0f7
    58/112:	https://codeload.github.com/phpDocumentor/ReflectionDocBlock/legacy.zip/94fd0001232e47129dd3504189fa1c7225010d08
    59/112:	https://codeload.github.com/phpspec/prophecy/legacy.zip/4ba436b55987b4bf311cb7c6ba82aa528aac0a06
    60/112:	https://codeload.github.com/phpDocumentor/ReflectionCommon/legacy.zip/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6
    61/112:	https://codeload.github.com/sebastianbergmann/diff/legacy.zip/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd
    62/112:	https://codeload.github.com/sebastianbergmann/comparator/legacy.zip/34369daee48eafb2651bea869b4b15d75ccc35f9
    63/112:	https://codeload.github.com/sebastianbergmann/exporter/legacy.zip/234199f4528de6d12aaa58b612e98f7d36adb937
    64/112:	https://codeload.github.com/doctrine/instantiator/legacy.zip/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda
    65/112:	https://codeload.github.com/sebastianbergmann/recursion-context/legacy.zip/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8
    66/112:	https://codeload.github.com/composer/installers/legacy.zip/cfcca6b1b60bc4974324efb5783c13dca6932b5b
    67/112:	https://codeload.github.com/symfony/phpunit-bridge/legacy.zip/6a2148bfc6ca0016846a32bdc55a317274283709
    68/112:	https://codeload.github.com/sebastianbergmann/phpunit-mock-objects/legacy.zip/cd1cf05c553ecfec36b170070573e540b67d3f1f
    69/112:	https://codeload.github.com/alchemy-fr/Zippy/legacy.zip/5ffdc93de0af2770d396bf433d8b2667c77277ea
    70/112:	https://codeload.github.com/doctrine/lexer/legacy.zip/83893c552fd2045dd78aef794c31e694c37c0b8c
    71/112:	https://codeload.github.com/doctrine/collections/legacy.zip/a01ee38fcd999f34d9bfbcee59dbda5105449cbf
    72/112:	https://codeload.github.com/doctrine/annotations/legacy.zip/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5
    73/112:	https://codeload.github.com/dflydev/dflydev-placeholder-resolver/legacy.zip/c498d0cae91b1bb36cc7d60906dab8e62bb7c356
    74/112:	https://codeload.github.com/hechoendrupal/drupal-console-core/legacy.zip/bf1fb4a6f689377acec1694267f674178d28e5d1
    75/112:	https://codeload.github.com/dflydev/dflydev-dot-access-configuration/legacy.zip/2e6eb0c8b8830b26bb23defcfc38d4276508fc49
    76/112:	https://codeload.github.com/hechoendrupal/drupal-console-en/legacy.zip/ea956ddffab04f519a89858810e5f695b9def92b
    77/112:	https://codeload.github.com/stecman/symfony-console-completion/legacy.zip/bd07a24190541de2828c1d6469a8ddce599d3c5a
    78/112:	https://codeload.github.com/php-fig/container/legacy.zip/b7ce3b176482dbbc1245ebf52b181af44c2cf55f
    79/112:	https://codeload.github.com/symfony/config/legacy.zip/c9bc510c217075d42d4a927e285917d0c2001cf4
    80/112:	https://codeload.github.com/symfony/filesystem/legacy.zip/b52454ec66fe5082b7a66a491339d1f1da9a5a0d
    81/112:	https://codeload.github.com/symfony/process/legacy.zip/009f8dda80930e89e8344a4e310b08f9ff07dd2e
    82/112:	https://codeload.github.com/hechoendrupal/drupal-console/legacy.zip/368bbfa44dc6b957eb4db01977f7c39e83032d18
    83/112:	https://codeload.github.com/webflo/drupal-finder/legacy.zip/8a7886c575d6eaa67a425dceccc84e735c0b9637
    84/112:	https://codeload.github.com/squizlabs/PHP_CodeSniffer/legacy.zip/379deb987e26c7cd103a7b387aea178baec96e48
    85/112:	https://codeload.github.com/guzzle/promises/legacy.zip/a59da6cf61d80060647ff4d3eb2c03a2bc694646
    86/112:	https://codeload.github.com/symfony/translation/legacy.zip/81cfcd6935cb7505640153576c1f9155b2a179c1
    87/112:	https://codeload.github.com/hechoendrupal/drupal-console-extend-plugin/legacy.zip/f3bac233fd305359c33e96621443b3bd065555cc
    88/112:	https://codeload.github.com/symfony/dependency-injection/legacy.zip/b514f5b765cf3e4a56e9d8ebacf14b117f7a0ee1
    89/112:	https://codeload.github.com/guzzle/guzzle/legacy.zip/407b0cb880ace85c9b63c5f9551db498cb2d50ba
    90/112:	https://codeload.github.com/php-fig/http-message/legacy.zip/f6561bf28d520154e4b0ec72be95418abe6d9363
    91/112:	https://codeload.github.com/guzzle/psr7/legacy.zip/9f83dded91781a01c63574e387eaa769be769115
    92/112:	https://codeload.github.com/ralouphie/getallheaders/legacy.zip/5601c8a83fbba7ef674a7369456d12f1e0d0eafa
    93/112:	https://codeload.github.com/symfony/dom-crawler/legacy.zip/32cb577c07bd900ee883a9d4b55d4098aa02e422
    94/112:	https://codeload.github.com/symfony/css-selector/legacy.zip/8ca29297c29b64fb3a1a135e71cb25f67f9fdccf
    95/112:	https://codeload.github.com/symfony/debug/legacy.zip/667a26c4dd6bc75c67f06bc9bcd015bdecc7cbb8
    96/112:	https://codeload.github.com/symfony/polyfill-php70/legacy.zip/6b88000cdd431cd2e940caa2cb569201f3f84224
    97/112:	https://codeload.github.com/paragonie/random_compat/legacy.zip/0a58ef6e3146256cc3dc7cc393927bcc7d1b72db
    98/112:	https://codeload.github.com/drupal-composer/drupal-scaffold/legacy.zip/fc6bf4ceecb5d47327f54d48d4d4f67b17da956d
    99/112:	https://codeload.github.com/composer/semver/legacy.zip/c7cb9a2095a074d131b65a8a0cd294479d785573
    100/112:	https://codeload.github.com/symfony/http-foundation/legacy.zip/9a81d2330ea255ded06a69b4f7fb7804836e7a05
    101/112:	https://codeload.github.com/cweagans/composer-patches/legacy.zip/2ec4f00ff5fb64de584c8c4aea53bf9053ecb0b3
    102/112:	https://codeload.github.com/twigphp/Twig/legacy.zip/66be9366c76cbf23e82e7171d47cbfa54a057a62
    103/112:	https://codeload.github.com/drupal/core/legacy.zip/59568ac02948cf075ee8543e6c6d4386ad8daec1
    Finished: success: 103, skipped: 0, failure: 9, total: 112
Package operations: 131 installs, 0 updates, 0 removals
  - Installing cweagans/composer-patches (1.6.5): Loading from cache
  - Installing composer/installers (v1.6.0): Loading from cache
  - Installing zaporylie/composer-drupal-optimizations (1.1.0): Loading from cache
  - Installing composer/semver (1.4.2): Loading from cache
  - Installing drupal-composer/drupal-scaffold (2.5.4): Loading from cache
  - Installing symfony/polyfill-ctype (v1.10.0): Loading from cache
  - Installing symfony/finder (v3.4.22): Loading from cache
  - Installing symfony/yaml (v3.4.22): Loading from cache
  - Installing drupal/console-extend-plugin (0.9.2): Loading from cache
  - Installing paragonie/random_compat (v2.0.18): Loading from cache
  - Installing symfony/polyfill-php70 (v1.10.0): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.10.0): Loading from cache
  - Installing symfony/http-foundation (v3.4.22): Loading from cache
  - Installing symfony/dom-crawler (v3.4.22): Loading from cache
  - Installing symfony/css-selector (v3.4.22): Loading from cache
  - Installing symfony/var-dumper (v3.4.22): Loading from cache
  - Installing psr/log (1.1.0): Loading from cache
  - Installing symfony/debug (v3.4.22): Loading from cache
  - Installing symfony/console (v3.4.22): Loading from cache
  - Installing nikic/php-parser (v4.2.1): Loading from cache
  - Installing jakub-onderka/php-console-color (v0.2): Loading from cache
  - Installing jakub-onderka/php-console-highlighter (v0.4): Loading from cache
  - Installing dnoegel/php-xdg-base-dir (0.1): Loading from cache
  - Installing psy/psysh (v0.9.9): Loading from cache
  - Installing ralouphie/getallheaders (2.0.5): Loading from cache
  - Installing psr/http-message (1.0.1): Loading from cache
  - Installing guzzlehttp/psr7 (1.5.2): Loading from cache
  - Installing guzzlehttp/promises (v1.3.1): Loading from cache
  - Installing guzzlehttp/guzzle (6.3.3): Loading from cache
  - Installing webmozart/assert (1.4.0): Loading from cache
  - Installing webmozart/path-util (2.3.0): Loading from cache
  - Installing webflo/drupal-finder (1.1.0): Loading from cache
  - Installing twig/twig (v1.37.1): Loading from cache
  - Installing symfony/translation (v3.4.22): Loading from cache
  - Installing symfony/process (v3.4.22): Loading from cache
  - Installing symfony/filesystem (v3.4.22): Loading from cache
  - Installing symfony/event-dispatcher (v3.4.22): Loading from cache
  - Installing psr/container (1.0.0): Loading from cache
  - Installing symfony/dependency-injection (v3.4.22): Loading from cache
  - Installing symfony/config (v3.4.22): Loading from cache
  - Installing stecman/symfony-console-completion (0.9.0): Loading from cache
  - Installing drupal/console-en (1.8.0): Loading from cache
  - Installing dflydev/placeholder-resolver (v1.0.2): Loading from cache
  - Installing dflydev/dot-access-data (v1.1.0): Loading from cache
  - Installing dflydev/dot-access-configuration (v1.0.3): Loading from cache
  - Installing drupal/console-core (1.8.0): Loading from cache
  - Installing doctrine/collections (v1.5.0): Loading from cache
  - Installing doctrine/lexer (v1.0.1): Loading from cache
  - Installing doctrine/annotations (v1.6.0): Loading from cache
  - Installing alchemy/zippy (0.4.3): Loading from cache
  - Installing drupal/console (1.8.0): Loading from cache
  - Installing symfony/phpunit-bridge (v3.4.22): Loading from cache
  - Installing sebastian/recursion-context (3.0.0): Loading from cache
  - Installing doctrine/instantiator (1.1.0): Loading from cache
  - Installing sebastian/exporter (3.1.0): Loading from cache
  - Installing sebastian/diff (2.0.1): Loading from cache
  - Installing sebastian/comparator (2.1.3): Loading from cache
  - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
  - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
  - Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
  - Installing phpspec/prophecy (1.8.0): Loading from cache
  - Installing sebastian/version (2.0.1): Loading from cache
  - Installing sebastian/resource-operations (1.0.0): Loading from cache
  - Installing sebastian/object-reflector (1.1.1): Loading from cache
  - Installing sebastian/object-enumerator (3.0.3): Loading from cache
  - Installing sebastian/global-state (2.0.0): Loading from cache
  - Installing sebastian/environment (3.1.0): Loading from cache
  - Installing phpunit/php-text-template (1.2.1): Loading from cache
  - Installing phpunit/phpunit-mock-objects (5.0.10): Loading from cache
  - Installing phpunit/php-timer (1.0.9): Loading from cache
  - Installing phpunit/php-file-iterator (1.4.5): Loading from cache
  - Installing theseer/tokenizer (1.1.0): Loading from cache
  - Installing sebastian/code-unit-reverse-lookup (1.0.1): Loading from cache
  - Installing phpunit/php-token-stream (2.0.2): Loading from cache
  - Installing phpunit/php-code-coverage (5.3.2): Loading from cache
  - Installing phar-io/version (1.0.1): Loading from cache
  - Installing phar-io/manifest (1.0.1): Loading from cache
  - Installing myclabs/deep-copy (1.8.1): Loading from cache
  - Installing phpunit/phpunit (6.5.14): Loading from cache
  - Installing mikey179/vfsstream (v1.6.5): Loading from cache
  - Installing jcalderonzumba/gastonjs (v1.2.0): Loading from cache
  - Installing behat/mink (dev-master d5ee350): Cloning d5ee350c40 from cache
  - Installing jcalderonzumba/mink-phantomjs-driver (v0.3.3): Loading from cache
  - Installing squizlabs/php_codesniffer (3.4.0): Loading from cache
  - Installing drupal/coder (8.3.1): Cloning 29a25627e7 from cache
  - Installing instaclick/php-webdriver (1.4.5): Loading from cache
  - Installing behat/mink-selenium2-driver (dev-master 8684ee4): Cloning 8684ee4e63 from cache
  - Installing symfony/browser-kit (v4.2.3): Loading from cache
  - Installing fabpot/goutte (v3.2.3): Loading from cache
  - Installing behat/mink-browserkit-driver (1.3.3): Loading from cache
  - Installing behat/mink-goutte-driver (v1.2.1): Loading from cache
  - Installing zendframework/zend-stdlib (3.2.1): Loading from cache
  - Installing zendframework/zend-escaper (2.6.0): Loading from cache
  - Installing zendframework/zend-feed (2.11.0): Loading from cache
  - Installing zendframework/zend-diactoros (1.8.6): Loading from cache
  - Installing typo3/phar-stream-wrapper (v2.0.1): Loading from cache
  - Installing symfony/validator (v3.4.22): Loading from cache
  - Installing symfony/serializer (v3.4.22): Loading from cache
  - Installing symfony/routing (v3.4.22): Loading from cache
  - Installing symfony/psr-http-message-bridge (v1.1.0): Loading from cache
  - Installing symfony/polyfill-iconv (v1.10.0): Loading from cache
  - Installing symfony/http-kernel (v3.4.22): Loading from cache
  - Installing symfony/class-loader (v3.4.22): Loading from cache
  - Installing symfony-cmf/routing (1.4.1): Loading from cache
  - Installing stack/builder (v1.0.5): Loading from cache
  - Installing masterminds/html5 (2.5.0): Loading from cache
  - Installing egulias/email-validator (1.2.15): Loading from cache
  - Installing easyrdf/easyrdf (0.9.1): Loading from cache
  - Installing doctrine/reflection (v1.0.0): Loading from cache
  - Installing doctrine/event-manager (v1.0.0): Loading from cache
  - Installing doctrine/cache (v1.8.0): Loading from cache
  - Installing doctrine/persistence (v1.1.0): Loading from cache
  - Installing doctrine/inflector (v1.3.0): Loading from cache
  - Installing doctrine/common (v2.10.0): Loading from cache
  - Installing asm89/stack-cors (1.2.0): Loading from cache
  - Installing drupal/core (8.6.10): Loading from cache
  - Installing container-interop/container-interop (1.2.0): Loading from cache
  - Installing league/container (2.4.1): Loading from cache
  - Installing grasmash/yaml-expander (1.4.0): Loading from cache
  - Installing consolidation/site-alias (1.1.11): Downloading (100%)
  - Installing consolidation/output-formatters (3.4.0): Loading from cache
  - Installing consolidation/log (1.1.1): Downloading (100%)
  - Installing consolidation/annotated-command (2.11.2): Loading from cache
  - Installing consolidation/self-update (1.1.5): Downloading (100%)
  - Installing grasmash/expander (1.0.0): Downloading (100%)
  - Installing consolidation/config (1.2.0): Downloading (100%)
  - Installing consolidation/robo (1.4.6): Downloading (100%)
  - Installing chi-teck/drupal-code-generator (1.28.0): Downloading (100%)
  - Installing drush/drush (9.5.2): Downloading (100%)
  - Installing vlucas/phpdotenv (v2.6.1): Downloading (100%)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/var-dumper suggests installing ext-intl (To show region name in time zone dump)
symfony/var-dumper suggests installing ext-symfony_debug ()
symfony/console suggests installing symfony/lock ()
psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :))
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
symfony/dependency-injection suggests installing symfony/expression-language (For using expressions in service container configuration)
symfony/dependency-injection suggests installing symfony/proxy-manager-bridge (Generate service proxies to lazy load them)
alchemy/zippy suggests installing guzzle/guzzle (To use the GuzzleTeleporter with Guzzle 3)
drupal/console suggests installing symfony/thanks (Thank your favorite PHP projects on Github using the CLI!)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (^2.5.5)
phpunit/phpunit suggests installing phpunit/php-invoker (^1.1)
phpunit/phpunit suggests installing ext-xdebug (*)
behat/mink suggests installing behat/mink-zombie-driver (fast and JS-enabled headless driver for any app (requires node.js))
behat/mink suggests installing dmore/chrome-mink-driver (fast and JS-enabled driver for any app (requires chromium or google chrome))
zendframework/zend-feed suggests installing zendframework/zend-cache (Zend\Cache component, for optionally caching feeds between requests)
zendframework/zend-feed suggests installing zendframework/zend-db (Zend\Db component, for use with PubSubHubbub)
zendframework/zend-feed suggests installing zendframework/zend-http (Zend\Http for PubSubHubbub, and optionally for use with Zend\Feed\Reader)
zendframework/zend-feed suggests installing zendframework/zend-servicemanager (Zend\ServiceManager component, for easily extending ExtensionManager implementations)
zendframework/zend-feed suggests installing zendframework/zend-validator (Zend\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent)
symfony/validator suggests installing psr/cache-implementation (For using the metadata cache.)
symfony/validator suggests installing symfony/expression-language (For using the Expression validator)
symfony/validator suggests installing symfony/intl ()
symfony/validator suggests installing symfony/property-access (For accessing properties within comparison constraints)
symfony/serializer suggests installing psr/cache-implementation (For using the metadata cache.)
symfony/serializer suggests installing symfony/property-access (For using the ObjectNormalizer.)
symfony/serializer suggests installing symfony/property-info (To deserialize relations.)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/psr-http-message-bridge suggests installing psr/http-factory-implementation (To use the PSR-17 factory)
symfony/class-loader suggests installing symfony/polyfill-apcu (For using ApcClassLoader on HHVM)
easyrdf/easyrdf suggests installing ml/json-ld (~1.0)
doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver)
consolidation/robo suggests installing henrikbjorn/lurker (For monitoring filesystem changes in taskWatch)
consolidation/robo suggests installing natxet/CssMin (For minifying CSS files in taskMinify)
consolidation/robo suggests installing patchwork/jsqueeze (For minifying JS files in taskMinify)
consolidation/robo suggests installing pear/archive_tar (Allows tar archives to be created and extracted in taskPack and taskExtract, respectively.)
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files
  - Downloading 1/16: https://cgit.drupalcode.org/drupal/plain/web.config
  - Downloading 2/16: https://cgit.drupalcode.org/drupal/plain/.ht.router.php
  - Downloading 6/16: https://cgit.drupalcode.org/drupal/plain/.gitattributes
  - Downloading 6/16: https://cgit.drupalcode.org/drupal/plain/.eslintrc.json
  - Downloading 6/16: https://cgit.drupalcode.org/drupal/plain/.eslintignore
  - Downloading 6/16: https://cgit.drupalcode.org/drupal/plain/.editorconfig
  - Downloading 7/16: https://cgit.drupalcode.org/drupal/plain/.csslintrc


  [Exception]
  Failed to download https://cgit.drupalcode.org/drupal/plain/update.php, https://cgit.drupalcode.org/drupal/plain/sites/example.settings.local.php, https://cgit.drupalcode.org/drupal/plain/sites/default/defa
  ult.settings.php, https://cgit.drupalcode.org/drupal/plain/sites/default/default.services.yml, https://cgit.drupalcode.org/drupal/plain/robots.txt, https://cgit.drupalcode.org/drupal/plain/index.php, https:
  //cgit.drupalcode.org/drupal/plain/sites/example.sites.php, https://cgit.drupalcode.org/drupal/plain/sites/development.services.yml, https://cgit.drupalcode.org/drupal/plain/.htaccess


create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>]

the issues seem to only cause issues with the specific usage of drupal-scaffold and prestissimo

I also found https://stackoverflow.com/questions/54771917/could-not-resolve-host-error-with-curl-multi-on-curl-version-7-64 which talks about the same problem.

I'm not sure if this is really a problem within drupal-scaffold it just seems weird to me that prestissimo works by itself.

some more info:

cli-drupal:/app/some-dir$ php -i | grep -i curl
Configure Command =>  './configure'  '--build=x86_64-linux-musl' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--enable-option-checking=fatal' '--with-mhash' '--enable-ftp' '--enable-mbstring' '--enable-mysqlnd' '--with-password-argon2' '--with-sodium=shared' '--with-curl' '--with-libedit' '--with-openssl' '--with-zlib' '--enable-fpm' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--disable-cgi' 'build_alias=x86_64-linux-musl'
curl
cURL support => enabled
cURL Information => 7.64.0

how to reproduce:

  • docker pull amazeeio/php:7.2-cli-drupal
  • docker run --rm --interactive --tty amazeeio/php:7.2-cli-drupal bash
  • composer create-project drupal-composer/drupal-project:8.x-dev some-dir --no-interaction --ignore-platform-reqs

Performance

There's likely a few things we can do to improve speed here. Rather than downloading the files, we may be able to copy/paste it from the parenting project.

Can't exclude files

In the extra section of the composer dot json does not read it it still overwritten in the in install process.

"excludes": [ "sites/development.services.yml"],

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.