@DamZ pointed out that we could use the project packaging checkout to analyze dependencies instead of doing an additional checkout.

Comments

drumm’s picture

For #2304983: 'wget' used by packager has trouble downloading certain files from GitHub (like TinyMCE), we do want a git:// checkout, not the file-based checkout that seems to be used currently.

The packager is getting ready to have a local clone, but I'm not sure how readily project_dependency can use it.

drumm’s picture

Assigned: Unassigned » drumm

#1028950: Fix packaging scripts to checkout from sane/stable Git URLs instead of hard-coding the local filesystem is now done. Within DrupalorgProjectPackageRelease, $this->repository is the Git clone used.

I'm not sure if there is a practical way to use that. As far as I know, project dependency is processed after packaging, not during; so the clone will be gone by the time project dependency runs.

drumm’s picture

Issue summary: View changes
Status: Active » Closed (works as designed)

I see what is happening now, the checkout process is good as-is. The error I was seeing was a permissions conflict on devwww:/var/tmp/project_dependency_sourcecode_directory. That's not surprising with how devwww is set up.

We should not "check out directly from the repository (a file-based checkout instead of git:// checkout)", that forces this to need to run on util or the new git1/2 servers. Currently, this is able to run just about anywhere.

What could change is project module moving

        module_invoke_all('project_release_create_package', $project_node, $release_node);

within the DrupalorgProjectPackageRelease class, so the repository path is available. However, that would either force dependencies to run during packaging, or have two separate code paths for running during packaging or running independently. Neither seems like a great idea for maintainability.

I think this is working well as-is.