dbaelz / Konclik

Konclik: Kotlin/Native Command Line Interface Kit
Apache License 2.0
46 stars 4 forks source link

Release 1.0 #8

Open dbaelz opened 5 years ago

dbaelz commented 5 years ago

I'd like to release a version 1.0 in the near future. In this issue I want to collect open questions, missing features and further points which should be done by then. Feel free to add them as comments and I'll expand the list when necessary.

TODO

dbaelz commented 5 years ago

@DrewCarlson Any suggestions for the 1.0 release? Do you think the library is feature-ready for this step?

DrewCarlson commented 5 years ago

I do have a couple of feature and API suggestions to run by you, I will comment them here once I get a chance to think through them today. Most of the things I've considered adding would work best as additional modules we could add after v1 (ex. cross platform readline, getpass, etc. to eliminate the need for this and better support all platforms).

I'm trying to get another project down from 3 CI services to just Travis, if I get Windows working I'll open a PR here.

PS: It is just a demo project (that is totally insecure at the moment), but the Kryptor project I linked could be a good reference project once windows and linux is configured.

dbaelz commented 5 years ago

@DrewCarlson Thanks or all your help, PRs and ideas. I'm currently a little bit busy at work and in my private time so "near future" for the 1.0 release might be an exaggeration. More like early to mid November.

I'll take a look on the kotlin-mobius and Kryptor projects and think about the 1.0 feature set by myself. Just add your ideas for (pre) 1.0 features in the comments and we could discuss them here or by mail/chat.

DrewCarlson commented 5 years ago

👌 Sounds good! No rush on releasing, publishing manually is easy. You're very welcome, Konclik has saved me a lot of time :).

DrewCarlson commented 5 years ago

Here are some of the more important things I’d like to see for v1

Another thing I think would be great (though it could wait until after v1) is support for providing a mechanism for precisely typed arguments with verified properties. Ex. you could define a set of arguments like listOf(FileArgument(‘input’, exists = true), FileArgument(‘output’, folder = true)) and during argument parsing, input would be validated as a file/file path and that it exists and output would be validated to be a folder on the system. or a valid folder path.

I'm not saying to add a whole bunch of argument types right now, but it would be worth figuring out the impact on the api when supporting these specialized arguments.

EDIT: Also now may be a good time to test dokka with the new MPP plugin.

dbaelz commented 5 years ago

For the 1.0 release

Future