Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] Stop version-controlling the development tool PHARs #1175

Merged
merged 1 commit into from
Oct 7, 2022

Conversation

oliverklee
Copy link
Contributor

Fixes #984

@oliverklee oliverklee added this to the 7.0.0 milestone Sep 27, 2022
@oliverklee oliverklee self-assigned this Sep 27, 2022
@oliverklee oliverklee marked this pull request as ready for review September 27, 2022 15:01
Comment on lines -3 to -8
<phar name="composer-normalize" version="^2.28.3" installed="2.28.3" location="./.phive/composer-normalize" copy="true"/>
<phar name="phar-io/phive" version="^0.14.5" installed="0.14.5" location="./.phive/phive" copy="true"/>
<phar name="php-cs-fixer" version="^3.11.0" installed="3.11.0" location="./.phive/php-cs-fixer" copy="true"/>
<phar name="phpcs" version="^3.7.1" installed="3.7.1" location="./.phive/phpcs" copy="true"/>
<phar name="phpmd" version="^2.13.0" installed="2.13.0" location="./.phive/phpmd" copy="true"/>
<phar name="psalm" version="^4.27.0" installed="4.27.0" location="./.phive/psalm" copy="true"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still seems to be saying that the phars are installed. But if they've been taken out of version control, they may not be (and probably won't be on the CI build server). What is the suggested phars.xml content before PHIVE is run to install the packages?

Also, I don't know what copy=[true|false] means. I'm sure I could look it up, but if you know and have a quick explanation you could provide, that would save me time hunting around.

Otherwise looks good. I saw your Twitter poll responses with over 60% in agreement of this approach (from a choice of three). Well done with that. (Social media does have a use, after all.)

I assume when the CI build runs, it will install the latest and greatest that satisfies the version requirement. And we won't have a DEPENDENCIES=lowest option here (it is not necessary, though useful from a testing POV - see #1174 (comment)).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This ...

Not sure why this is appearing twice.

Copy link
Contributor

@JakeQZ JakeQZ Sep 30, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This ...

Not sure why this is appearing twice.

Maybe just my end. I've refreshed and it now only appears once.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PHIVE configuration file works a bit like a combination of composer.json and composer.lock: The version requirement determines which versions are allowed when phive update is called, while the installed version determines the exact version that gets installed when phive install is called (which is what we're doing in the CI jobs).

When we're using copy=true, the PHAR is installed in the project folder. If we're using `copy=false´, the PHAR is installed on a central directory on the machine and them symlinked to the project directory.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PHIVE configuration file works a bit like a combination of composer.json and composer.lock: The version requirement determines which versions are allowed when phive update is called, while the installed version determines the exact version that gets installed when phive install is called (which is what we're doing in the CI jobs).

Seems a bit weird to me.

But I have always found the way PHIVE works to be quite odd.

I trust your explanation.

When we're using copy=true, the PHAR is installed in the project folder. If we're using `copy=false´, the PHAR is installed on a central directory on the machine and them symlinked to the project directory.

Thanks. I did already discover that previously, but had completely forgotton.

Copy link
Contributor

@JakeQZ JakeQZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanations. I think this is good to go.

@JakeQZ JakeQZ merged commit 3279f1a into main Oct 7, 2022
@JakeQZ JakeQZ deleted the task/no-phars branch October 7, 2022 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stop version-controlling the tool PHARs?
2 participants