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

Kebabify special argument collection args. #123

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

cmnbroad
Copy link
Collaborator

@cmnbroad cmnbroad commented Jan 3, 2018

Fixes #120.

@codecov-io
Copy link

Codecov Report

Merging #123 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             master   #123   +/-   ##
=======================================
  Coverage        76%    76%           
  Complexity      591    591           
=======================================
  Files            22     22           
  Lines          2205   2205           
  Branches        456    456           
=======================================
  Hits           1676   1676           
  Misses          352    352           
  Partials        177    177
Impacted Files Coverage Δ Complexity Δ
.../barclay/argparser/SpecialArgumentsCollection.java 100% <ø> (ø) 1 <0> (ø) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f2e7eac...8d12094. Read the comment docs.

@cmnbroad
Copy link
Collaborator Author

cmnbroad commented Jan 4, 2018

@lbergelson Can one of you take a look at this ?

@cmnbroad
Copy link
Collaborator Author

cmnbroad commented Jan 5, 2018

@vdauwera maybe ? I'd like to get this in for the barclay release tomorrow. Its pretty small.

Copy link
Member

@lbergelson lbergelson left a comment

Choose a reason for hiding this comment

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

This looks good to me. I suspect Magic is going to want an option to provide his own implementation that changes the names. Do we want to interfacize this preemptively?

@magicDGS
Copy link
Contributor

magicDGS commented Jan 5, 2018

@lbergelson is right, I would like to have a way to provide my own for my own transition to kebab-case, scheduled not soon enough to be able to apply it by Jan 9th. Thank you in advance!

@cmnbroad
Copy link
Collaborator Author

cmnbroad commented Jan 6, 2018

@magicDGS I recognize that ideally these would be configurable, but we won't be able to do it in time for the initial GATK release. Is your concern around downstream tools based on GATK (which is still in beta - there is no guaranty such changes won't be made - as you know we're changing all of the args to kebab case for the initial release). Or tools with a direct dependency on Barclay, independent of GATK ?

If its the latter, I recognize that this would be a breaking change for which there is no good work around without a customization facility. The only other option we have though is to not take the PR, which will mean we'll need to make a breaking change later in GATK. At some point in the future we'll implement a more extensive customization facility that enables consumes to provide these arg names, like the one you started in #95. Please let me know if you can tolerate this change in the meantime. I need to do a Barclay release early tomorrow.

@magicDGS
Copy link
Contributor

magicDGS commented Jan 7, 2018

Ok, I can tolerate that... although it is a breaking change, I think that no user of ny downstream software is using the arguments in this PR. Thanks for considering my concerns!

@magicDGS
Copy link
Contributor

magicDGS commented Jan 8, 2018

I was writing all the comments without having access to a proper computer to add a detailed comment on this. I think that it is much simpler to add the CommandLineParserConfig implementation of #95, including the special argument flags (getHelpFlag, getShowHiddenFlag, getArgumentsFileFlagp). As configurable options grow, this will be more flexible by extending the configuration file and overriding the needed methods.

If you have a look to that PR I can include the getters for the flags for having it for release of GATK4 and do not break compatibility in Barclay again when making this configurable...

@cmnbroad
Copy link
Collaborator Author

I had to cut the release in time to get into picard/gatk, so this didn't make it in.

@magicDGS
Copy link
Contributor

For making it more general, we can add some getters with default values to CommandLineParserConfig (see #126)

@lbergelson
Copy link
Member

@cmnbroad Can we merge this one? I think Magic's objections are valid but I think changing this an revisiting them later if someone expresses interest again would be a good idea.

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.

SpecialArgumentsCollection has outdated argument names
4 participants