Skip to content

Package Extraction #1

@PhilippLgh

Description

@PhilippLgh

Grid normally operates on packages and there is (from a user standpoint) no distinction between a binary and a package. Grid will find the binary in the package and extract it before it runs it.

Pantheon is very different because there is no single binary and all package contents need to be available for start.

The current solution is to extend the setup routine. The plugin specifies an unpack property to indicate that the package contents need to be extracted which will happen directly after download.

We also end up with two potentially ambiguous locations for the package and the extracted package.

Grid_extract

The main challenge however is now that many config default values are specified at "specification time" but are only available during runtime after a package was downloaded and after it was extracted.

I introduced a new "magic string" %PACKAGE_PATH% that will always point to the extracted package path of the latest selected version and will be expanded before fs operations.

They are not expanded in the UI to avoid an unnecessary long flag preview and field values in the settings tab. This has the potential to confuse users.

The next problem is that there we cannot rely on the internal structure of packages.
So in order to expand paths for multiple versions to:
...bin_pantheon/pantheon-1.2.2/pantheon-1.2.2/lib/*
...bin_pantheon/pantheon-1.2.3/pantheon-1.2.3/lib/*
we need to specify the path as glob like
%PACKAGE_PATH%/*/lib\\*
and escape the star at the end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions