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

Wrapper script like in Gradle #1015

Open
krystian-panek-vmltech opened this issue Feb 20, 2023 · 2 comments
Open

Wrapper script like in Gradle #1015

krystian-panek-vmltech opened this issue Feb 20, 2023 · 2 comments
Labels
area: releasing Changes related to the release process.

Comments

@krystian-panek-vmltech
Copy link

krystian-panek-vmltech commented Feb 20, 2023

Task has install script which installs Tool OS-wide. However, it would be nice to connect the Task tool version to concrete projects in which it is being used by wrapper script concept like e.g in Gradle - https://docs.gradle.org/current/userguide/gradle_wrapper.html

Right now I implemented my own wrapper script, however, it would be nice to have such a feature prepared in the Task tool project as well.

The value given here is that nobody needs to care about the version of the Task tool used in the project as the tool is downloaded automatically in a version compatible with the project. This is especially cool for Task tool maintainers as they could take less care about backward compatibility, so this feature is a win-win.

@task-bot task-bot added the state: needs triage Waiting to be triaged by a maintainer. label Feb 20, 2023
@pd93
Copy link
Member

pd93 commented Feb 20, 2023

could take less care about backward compatibility

Task already supports a wide variety of official and community-made installation methods and will always need to be backwards-compatible for non major version releases regardless of a script like this existing.

However, I don't see why something like this can't also exist. If somebody is willing to contribute, then I'm sure the installation page could be updated to include it.

Suggestions on how a user might install something like this are welcome. i.e. Do they just copy/paste the script into their project? I'm not particularly familiar with how gradlew works other than running it on other people's projects. Maybe our installation script could have a --wrapper flag added that will insert this script into your project rather than installing task globally?

For anyone else that ends up on this issue, I also recommend looking at tools like Nix which are designed to manage project dependencies with specific versions - though I'm aware that not everyone likes Nix :P

@pd93 pd93 added type: feature A new feature or functionality. installer area: releasing Changes related to the release process. and removed state: needs triage Waiting to be triaged by a maintainer. type: feature A new feature or functionality. installer labels Feb 20, 2023
@krystian-panek-vmltech
Copy link
Author

Maybe our installation script could have a --wrapper flag

yep sounds cool.

regarding Nix... the problem is that even the Nix installer script is supporting Windows only with WSL2 but I am unable to enforce my tool users to use it.

So I am trying to limit the number of tools to be installed manually as a prerequisite by users to a minimum and such a wrapper script/installer approach just does its job.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: releasing Changes related to the release process.
Projects
None yet
Development

No branches or pull requests

3 participants