Commit graph

84 commits

Author SHA1 Message Date
eca7219039 Rewrite configuration providing in runtime
Before the configuration object (the raw TOML object) was provided via a
wrapper object `Configuration`. This was ugly and not very nice to use.

Now, we only have the `toml::Value` object we lend out from
`Runtime::config()`.

The changes included libimagrt internal rewrites, which are not visible
to the user. Anyways, this change changes the API for config-fetching
from the runtime, so fixes for all other crates may follow.

The changes also removed the support for reading the "editor" setting
from the configuration file, which was not used anyways (in the example
imagrc.toml file).
The CLI-reading and ENV-reading are still supported, though.
2017-10-31 09:25:14 +01:00
e7aa5af9be Merge pull request #1149 from matthiasbeyer/libimagrt/remove-logging-format-overrides
Remove override functionality for logging formats
2017-10-16 10:11:28 +02:00
e5d93f5ff3 Remove override functionality for logging formats 2017-10-16 00:47:42 +02:00
e43b524420 Merge pull request #1150 from matthiasbeyer/libimagrt/override-logging-with-debug-flag
Fix: Overide logging with --debug
2017-10-15 23:28:10 +02:00
16b5652fdd Remove accidentially slipped-in println 2017-10-15 19:49:06 +02:00
817933c99f Fix: Overide logging with --debug
Formerly, the --debug flag was ignores. This change overrides the
logging with the CLI specified logging if it was provided.

If --debug was provided, the logging is set to debugging, if --verbose
was provided info logging is used.
2017-10-15 19:48:06 +02:00
23f4d7948f Fix Store::entries() to not yield directories
Before the iterator did also yield storeids for directories, which was a
bug.

This change introduces a new if_file() function in the store-internal
backend, which is needed to check whether a path actually points to a
File, be it inmemory or on the real filesystem.

That's because tests might fail if they check via PathBuf::is_file() as
in tests, the entries only exist inmemory.
2017-10-13 14:26:06 +02:00
758166637b Update toml-query: 0.3.* -> 0.4
This update is needed for the error-chain update, as the toml-query
0.4.0 release also bumps this dependency.
2017-10-12 22:13:04 +02:00
663242db7e Update dependency: error-chain: 0.10 -> 0.11 2017-10-12 22:12:27 +02:00
3ed9c1fcc8 Merge pull request #1131 from matthiasbeyer/libimagerror/trace-and-unwrap-helper
Add helper for tracing error and exit or unwrap the value
2017-10-12 22:08:48 +02:00
67a127f700 Update dependency: itertools: 0.6 -> 0.7 2017-10-12 19:45:50 +02:00
bb26d1c895 Update dependency: ansi_term: 0.9 -> 0.10 2017-10-12 19:44:33 +02:00
eb4681bf65 Add helper for tracing error and exit or unwrap the value 2017-10-12 19:02:37 +02:00
d044e7a928 Add helper functions to register all helpers 2017-10-12 18:46:58 +02:00
eb07bce1d0 Move handlebars custom helpers to libimaginteraction 2017-10-12 18:46:58 +02:00
f266791142 Add multi-destination logging to logger
The logger was not able to handle multiple destinations before. Now it
is possible for the logger.

The file must be held behind an Arc<Mutex<_>> so we can use the logging
from multiple threads but also because we need to borrow mutably, so
that bit changes whith this commit.
2017-10-08 18:08:51 +02:00
b587bbbdc1 Fix: Create directory before renaming file 2017-10-01 01:59:41 +02:00
24210c0068 Add some debug output 2017-10-01 01:59:13 +02:00
169107d569 Remove FoldResult 2017-09-30 10:45:10 +02:00
73f6016221 Update version strings: 0.4.0 -> 0.5.0 2017-09-24 13:05:01 +02:00
555c0bb1df Fix Walkdir depth
From the documentation of Walkdir::min_depth():

    Set the minimum depth of entries yielded by the iterator.

    The smallest depth is 0 and always corresponds to the path given to
    the new function on this type. Its direct descendents have depth 1,
    and their descendents have depth 2, and so on.

This means that when we started with "/tmp/store", we end up yielding
that exact path in the first iteration. This is exactly what we do _not_
want.

Setting the minimal depth to 1 fixes this bug.
2017-09-21 16:31:25 +02:00
5a868015e6 Merge pull request #1098 from matthiasbeyer/libimagstore/glob-iter-early-error
Return glob errors instead of tracing internally
2017-09-21 09:29:34 +02:00
c6e94dfd3c Return glob errors instead of tracing internally
This changes the internal GlobStoreIdIterator to return Result<StoreId>,
which gives us the possibility to aggregate errors in the
Store::retrieve_for_module() function and return them instead of tracing
them from the store.

The changes the internals to actually fetch the whole list of storeids,
which is unfortunate of course, but changing the interface is not an
option here, in my opinion.

At least we're only aggregating pathes, so the memory usage is pretty
low here.
2017-09-20 22:42:11 +02:00
8bbaeeef45 Fix: Store::delete() should check FS as well
This patch fixes a problem where the Store::delete() function only
checked the store-internal cache whether an entry exists, but not the
Filesystem. After this patch is applied, the Store::delete() function
also checks the filesystem whether the entry exists.
2017-09-20 22:24:59 +02:00
e2bf6c48ef Merge pull request #1096 from matthiasbeyer/fix-log-output
Register the no-escape escape functionality in handlebars
2017-09-20 22:00:53 +02:00
de69d31a58 Register the no-escape escape functionality in handlebars
Before, handlebars automatically applied html escaping, which resulted
in <>'& beeing escaped. But we don't need to escape for terminal output.
2017-09-20 19:12:08 +02:00
79b6c26502 Serialize TOML pretty 2017-09-20 18:38:31 +02:00
c558addbd6 Add debug/trace output in Store 2017-09-20 12:05:44 +02:00
162b36d6ee Update dependency specs
Most notably:

* env_logger: 0.4 -> 0.5
* hoedown: 5.0.0 -> 6.0.0
* itertools: 0.5 -> 0.6
* lazy_static: 0.1.15 -> 0.2
* regex: 0.1 -> 0.2
* semver: 0.5 -> 0.8
* url: 1.2 -> 1.5
* uuid: 0.3 -> 0.5

(This list is most surely not complete)
2017-09-19 17:16:19 +02:00
a01a2c18f8 Check in Store::move_by_id() whether target exists, not only in cache but also on FS 2017-09-17 15:44:19 +02:00
29e1107d3e Add file abstraction function to check whether path exists 2017-09-17 15:43:57 +02:00
22b9f8ecdd Do not insert the links array in the core header 2017-09-16 19:44:09 +02:00
8b8e4e9c6e Minify iterator helper implementation 2017-09-15 13:17:12 +02:00
fce5df48c8 Add simple iterator helpers for StoreIdIterator -> CRUD Iterator 2017-09-15 13:07:49 +02:00
53c7d602eb Merge pull request #1062 from matthiasbeyer/libimagstore/error-opt
libimagstore: Optimize errors
2017-09-10 11:45:59 +02:00
785e17a4a3 Add param to StoreIdHasNoBaseError 2017-09-10 10:48:51 +02:00
a670172880 Add param to StoreIdLocalPartAbsoluteError 2017-09-10 10:48:50 +02:00
b772908697 Add params to EntryRenameError 2017-09-10 10:48:50 +02:00
2ce2ba54da Replace GlobError with link to ::glob::PatternError 2017-09-10 10:48:50 +02:00
6aa695974c Add param to EntryAlreadyExists error 2017-09-10 10:48:50 +02:00
126aa75a2c Add param to ConfigTypeError 2017-09-09 22:24:58 +02:00
307165d1b2 Remove ConfigReadError because ::toml_query::error::Error is now linked in 2017-09-09 22:15:18 +02:00
a015b07f6a Remove TomlReadError by linking in ::toml_query::error::Error 2017-09-09 22:09:36 +02:00
4849cc4822 Remove TemplateStringRegistrationError by linking in handlebars error type 2017-09-09 22:04:32 +02:00
83f9350d98 Add param to EntryAlreadyBorrowed error 2017-09-09 21:59:36 +02:00
a28613b889 Add param to StorePathCreate 2017-09-09 21:59:36 +02:00
ff8569809b Add parameter to StorePathExists error 2017-09-09 21:59:36 +02:00
78db822917 Remove unused error type 2017-09-09 21:59:36 +02:00
ca9123c740 Add parameter to IdNotFound error 2017-09-09 21:27:10 +02:00
b682e7f8db Remove warning which is printed by the store 2017-09-09 21:14:08 +02:00