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

Not all arguments are supported for Paket commands #30

Open
4 of 9 tasks
willsmith9182 opened this issue Aug 29, 2019 · 6 comments
Open
4 of 9 tasks

Not all arguments are supported for Paket commands #30

willsmith9182 opened this issue Aug 29, 2019 · 6 comments

Comments

@willsmith9182
Copy link
Contributor

willsmith9182 commented Aug 29, 2019

Found these as part of #29, Cake.Paket doesn't support any of the following arguments currently

I won't suggest supporting --help on any commands, as there's no use in cake?

All Commands

  • --silent, -s
  • --verbose, -v
  • --log-file <path>

Silent and verbose could be hooked up to the log level in cake? Not too sure if log file is useful for anything?

Paket Pack

  • --interproject-references <min|fix|keep-major|keep-minor|keep-patch>
  • These can be used multiple times, however settings only allows one value
    • --exclude <package ID>
    • --specific-version <package ID> <version>

Paket Restore

  • --target-framework <framework>
  • --output-path <path>

I'm happy to add any of these btw :)

Exclude and specific version could be updated to accept collections of values? The other are straight forward enough.

@marcinsmialek
Copy link
Contributor

You've got good idea with log levels.
Regarding log file path, it may be useful in some scenarios, like separate console / file log in MSBuild.

If you were so kind and did the log levels, it would be great.

Exclusions may be done in similar fashion as directory clear - having a method accepting a collection of IDs, or as a builder method chain... I'm not sure which one would be better. For specific versions, unless you have a better idea, we might opt for a collection of key-value pairs to avoid extra types, or the builder. I can't see a clear, easy-to-read way to use collections for the specific versions.

It would be nice to have references resolution ways strongly typed, but I feel like the target framework should be text-based.

And once it's all done, the release should be ready.

What's you opinion?

@gep13
Copy link
Member

gep13 commented Sep 10, 2019

@willsmith9182 said...
I won't suggest supporting --help on any commands, as there's no use in cake?

Yip, this makes sense to me.

@gep13
Copy link
Member

gep13 commented Sep 10, 2019

@willsmith9182 said...
Silent and verbose could be hooked up to the log level in cake? Not too sure if log file is useful for anything?

Some folks like to upload log files as artifacts as part of their build. Having the ability to separate the logging into individual files could be a useful addition.

@gep13
Copy link
Member

gep13 commented Sep 10, 2019

@willsmith9182 said...
Silent and verbose could be hooked up to the log level in cake?

This is what we have seen for some other aliases as well, so I think that would make sense.

@marcinsmialek
Copy link
Contributor

What do you think about this: 9fd8d5a?
If it's ok, then I'll try proceeding with the rest in the similar fashion

@marcinsmialek
Copy link
Contributor

marcinsmialek commented Oct 16, 2019

I'll be adding the rest of the missing arguments when I find some time.
The exclusions for Paket Pack can be added both as a string range, and with a builder pattern, like many MSBuild settings. Unfortunately, it's a breaking change.

We'll have the same issue with SpecificVersion. Just now it's only a single value, and I don't really like the syntax: SpecificVersion = "Cake.Foo 0.0.0".
I think I'd go with builder just as with exclusions, and a collection of packageId-version pairs.

Edit:
The old SpecificVersion didn't work anyway.
When making changes, I managed to bump the coverage for Pack and Push to 100%. Unfortunately, Restore is at 0 😕. I'll try adding test fixtures for Restore in a similar way as they existed for Pack and Push, and then I'd go with the new parameters, leaving logging to be the last thing (hopefully) to add before release.

Edit2:
Restore is at 100% now, and during testing small glitch was found & fixed.
Now only 2 arguments for Restore remain, and 3 for logging.

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

No branches or pull requests

3 participants