<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nitrocli/src/tests, branch otp-cache</title>
<subtitle>Robin Krahl's fork of nitrocli</subtitle>
<id>https://git.ireas.org/nitrocli/atom?h=otp-cache</id>
<link rel='self' href='https://git.ireas.org/nitrocli/atom?h=otp-cache'/>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/'/>
<updated>2020-08-26T02:04:50Z</updated>
<entry>
<title>Introduce support for user-provided extensions</title>
<updated>2020-08-26T02:04:50Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-08-26T02:04:50Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=223c8484f727451d15ad23ffb0133a1858b56b5c'/>
<id>urn:sha1:223c8484f727451d15ad23ffb0133a1858b56b5c</id>
<content type='text'>
This change introduces support for discovering and executing
user-provided extensions to the program. Extensions are useful for
allowing users to provide additional functionality on top of the
nitrocli proper. Implementation wise we stick to an approach similar to
git or cargo subcommands in nature: we search the directories listed in
the PATH environment variable for a file that starts with "nitrocli-",
followed by the extension name. This file is then executed. It is
assumed that the extension recognizes (or at least not prohibits) the
following arguments: --nitrocli (providing the path to the nitrocli
binary), --model (with the model passed to the main program), and
--verbosity (the verbosity level).
</content>
</entry>
<entry>
<title>Introduce builder infrastructure for assembling Nitrocli instance</title>
<updated>2020-08-25T01:04:20Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-08-25T01:04:20Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=b114125dfbb4c97580ae076c07c6816ccdca51b8'/>
<id>urn:sha1:b114125dfbb4c97580ae076c07c6816ccdca51b8</id>
<content type='text'>
In the future we would like to provide more ways for tests to create a
Nitrocli instance. In order to prevent explosion of with_XXX methods for
each possible combination of arguments, this change introduces a Builder
struct that can be used to create such an instance in an idiomatic way.
</content>
</entry>
<entry>
<title>Rename arg_defs.rs to args.rs</title>
<updated>2020-04-11T22:00:06Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-04-11T22:00:06Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=f2ace56200f0229a4dcbd1767f48a39e1daa343d'/>
<id>urn:sha1:f2ace56200f0229a4dcbd1767f48a39e1daa343d</id>
<content type='text'>
We have never been fully satisfied with the name arg_defs. Now that we
have gotten rid of the formerly used args module, this change renames
arg_defs to args.
</content>
</entry>
<entry>
<title>Merge remaining bits of args.rs into main.rs</title>
<updated>2020-04-11T20:23:52Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-04-11T20:23:52Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=fafbf4a1bf635d5eea049cf561fbf8aa293c8e2b'/>
<id>urn:sha1:fafbf4a1bf635d5eea049cf561fbf8aa293c8e2b</id>
<content type='text'>
This change removes the args module by moving all remaining
functionality in it into main.rs. The result is arguably a nice
consolidation of all context related definitions in a single module.
</content>
</entry>
<entry>
<title>Factor out arg_defs.rs for argument parsing related types</title>
<updated>2020-04-02T05:59:22Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-04-02T05:59:22Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=a3f8ae474d153048c5a9252125099ef49cc6b5f4'/>
<id>urn:sha1:a3f8ae474d153048c5a9252125099ef49cc6b5f4</id>
<content type='text'>
This change marks the first step in a restructuring of the argument
handling code, the ultimate goal of which is a separation of the type
definitions as used by structopt from the logic associated with it. This
change in particular introduces a new module, arg_defs, that contains
all those type definitions that previously resided in the args module.
</content>
</entry>
<entry>
<title>Provide correct mutual exclusion between config set -o and -O options</title>
<updated>2020-01-25T04:36:34Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-01-25T04:36:34Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=61b5aff7be250387ce8510138cae773ed3bd6577'/>
<id>urn:sha1:61b5aff7be250387ce8510138cae773ed3bd6577</id>
<content type='text'>
The -o/--otp-pin and -O/--no-otp-pin options to the config set command
are supposed to be mutually exclusive, with wrong usage detected by
structopt.
That is not the case currently, however, because the argument to
structopt's conflicts_with attribute is supposed to be the resulting
option and not the name of the variable capturing the result.
This change fixes the problem by changing the string accordingly.
</content>
</entry>
<entry>
<title>Add unit tests for the list command</title>
<updated>2020-01-14T19:19:11Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-01-14T19:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=86401187fc26b6f3a41cbd4cec463c4ffe50c32c'/>
<id>urn:sha1:86401187fc26b6f3a41cbd4cec463c4ffe50c32c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bump nitrokey dependency to version 0.5.1</title>
<updated>2020-01-14T18:21:26Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-01-14T18:21:26Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=1df484fd699f88b6d7e23c09464294a7c26c7e00'/>
<id>urn:sha1:1df484fd699f88b6d7e23c09464294a7c26c7e00</id>
<content type='text'>
This change updates the version of the nitrokey crate that we use to
0.5.1. As part of that, it replaces occurrences of Storage::get_status
with Storage::get_storage_status as the method has been renamed.
</content>
</entry>
<entry>
<title>Replace argparse with structopt</title>
<updated>2020-01-07T15:15:38Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-01-07T15:15:38Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=c1f35ab538dbdf3002a6a9aa0932ada687160787'/>
<id>urn:sha1:c1f35ab538dbdf3002a6a9aa0932ada687160787</id>
<content type='text'>
This patch changes the argument handling code to use structopt instead
of argparse using the data structures we introduced in the last patch.
As part of that transition we replace the old Error::ArgparseError
variant with ClapError that stores a structopt::clap::Error.

Because of that replacement, the format of the help messages changed,
breaking some of the tests. Hence, this change adapts them accordingly.
Also clap currently prints the version output to stdout, so we ignore
the version_option test case for now.
</content>
</entry>
<entry>
<title>Move nitrocli source code into repository root</title>
<updated>2020-04-04T22:32:14Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-04-04T22:32:14Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrocli/commit/?id=681cc8882f7995407c33eb48730daaa901074460'/>
<id>urn:sha1:681cc8882f7995407c33eb48730daaa901074460</id>
<content type='text'>
Now that all vendored dependencies have been removed, this change moves
the program's source code from the nitrocli/ directory into the root of
the repository.
</content>
</entry>
</feed>
