Open jdegoes opened 1 year ago
/bounty $250
For the full functionality, implemented in a cross-platform setting, with full test suites, and descriptive help docs, and diagnostics.
/attempt #191
with your implementation plan/claim #191
in the PR body to claim the bounty/livestream
once liveThank you for contributing to zio/zio-cli!
Add a bounty β’ Share on socials
Attempt | Started (GMT+0) | Solution |
---|---|---|
π΄ @walesho | May 26, 2023, 9:12:32 AM | WIP |
π΄ @vidyasankarv | Jun 9, 2023, 11:47:14 AM | WIP |
π΄ @thisisyoussef | Aug 19, 2023, 2:04:17 AM | WIP |
π΄ @shubhi2000 | Sep 2, 2023, 4:25:04 AM | WIP |
π‘ @vivasvan1 | Oct 13, 2023, 12:51:11 PM | #308 |
π’ @Kalin-Rudnicki | Jun 4, 2024, 7:02:24 AM | #317 |
/attempt #191
@walesho: Reminder that in 7 days the bounty will become up for grabs, so please submit a pull request before then π
The bounty is up for grabs! Everyone is welcome to /attempt #191
π
@vidyasankarv: Reminder that in 7 days the bounty will become up for grabs, so please submit a pull request before then π
The bounty is up for grabs! Everyone is welcome to /attempt #191
π
Hi, Can I work on this? It seems interesting!
/attempt https://github.com/zio/zio-cli/issues/191
@thisisyoussef: Reminder that in 7 days the bounty will become up for grabs, so please submit a pull request before then π
The bounty is up for grabs! Everyone is welcome to /attempt #191
π
/attempt #191
@shubhi2000: Reminder that in 7 days the bounty will become up for grabs, so please submit a pull request before then π
Hi, I am still working on this. Taking some time to setup and understand where exactly this feature needs to be integrated in the codebase. Will reach out with any queries I may have.
The bounty is up for grabs! Everyone is welcome to /attempt #191
π
/attempt #191
@vivasvan1: Reminder that in 7 days the bounty will become up for grabs, so please submit a pull request before then π
@jdegoes I am still working on documentation and "But if the user did specify it on the command-line, it would override the one in the file." functionality.
However would love to know if my attempt is in the right direction.
π‘ @vivasvan1 submitted a pull request that claims the bounty. You can visit your bounty board to reward.
@jdegoes am I able to attempt this?
If so, please clarify the following questions:
ab cd ef --arg-1=1 --arg-2=2
, are we looking for .ab
or .ef
?/home/user/a/.__
:
--arg-1=1
--arg-2=1
/home/user/a/b/c/.__
:
--arg-2=2
--arg-3=2
Map(
"arg-2" -> ("/home/user/a/b/c/.__", "2"),
"arg-3" -> ("/home/user/a/b/c/.__", "2"),
)
Map(
"arg-1" -> ("/home/user/a/.__", "1"),
"arg-2" -> ("/home/user/a/b/c/.__", "2"),
"arg-3" -> ("/home/user/a/b/c/.__", "2"),
)
UserDefined
and not BuiltIn
parsing?ZIO.logInfo
? ZIO.logDebug
?/attempt #191
[!NOTE] The user @vivasvan1 is already attempting to complete issue #191 and claim the bounty. We recommend checking in on @vivasvan1's progress, and potentially collaborating, before starting a new solution.
@Kalin-Rudnicki I am almost done with this PR. Only the documentation is remaining as far as i understand. Let me know if you would like to collaborate on it.
@vivasvan1, respectfully, I'd be trying to get the bounty ππ I would personally do a significant part of this change in a different manner. Also, per the lastest commentor, and reading the current version of the PR, the current impl doesnt seem do anything to handle
However, if any option is specified on the command-line, then it must override even the highest priority setting specified in the settings files.
Or
Moreover, all of the settings that are picked up from any of the files need to be printed out, so the user can understand exactly where they are coming from.
And also doesnt seem to handle the more complex cases of arg overriding base on hierarchy
It's okay you can go ahead with a different PR ... although it would have been faster and easier for both by collaboration in my view. I am open to splitting the bounty as well. Anyways, good luck.
@Kalin-Rudnicki regarding the technicals, I believe my PR does handle i have tested for it as well.
However, if any option is specified on the command-line, then it must override even the highest priority setting specified in the settings files.
And
And also doesnt seem to handle the more complex cases of arg overriding base on hierarchy
Only remaining thing is printing the args. Thanks for pointing it out I had forgotten about it. π
I will let ya go for it first :) I saw you mentioned being new to scala/zio, so I left a bunch of nits on the PR for using better practices
π‘ @Kalin-Rudnicki submitted a pull request that claims the bounty. You can visit your bounty board to reward.
The users command-line app has a top-level command, whose name is
<name>
.For example, if the user was creating a word count CLI, then their top-level command name might be
wc
.ZIO CLI should examine the following locations to check for the existence of
.<name>
files:So, in the
wc
example, if run from/c/Users/john
directory, then ZIO CLI would look in the following locations for the existence of.wc
files:/c/Users/john
/c/
~
(user home, probably/c/Users/john
on Windows)Then, ZIO CLI should concatenate these options, with user home having the lowest priority, and the current working directory having the highest priority (so, for example, you can override options in higher priority locations).
Then, ZIO CLI should utilize those command-line options when the program is run, and not require those options be specified. However, if any option is specified on the command-line, then it must override even the highest priority setting specified in the settings files.
An example, let's say
wc
has an option--line-ending
. Then in the.wc
file, there might exist:Then this would be the default line ending. The user would not have to specify it on the command-line. But if the user did specify it on the command-line, it would override the one in the file.
This new functionality should be documented in the help docs for the CLI. Moreover, all of the settings that are picked up from any of the files need to be printed out, so the user can understand exactly where they are coming from.