}
}
+sub resolve_inboxes {
+ my ($argv, $warn_on_unconfigured) = @_;
+ require PublicInbox::Config;
+ require PublicInbox::Inbox;
+
+ my @ibxs = map { resolve_repo_dir($_) } @$argv;
+ push(@ibxs, resolve_repo_dir()) unless @ibxs;
+
+ my %dir2ibx;
+ if (my $config = eval { PublicInbox::Config->new }) {
+ $config->each_inbox(sub {
+ my ($ibx) = @_;
+ $dir2ibx{abs_path($ibx->{mainrepo})} = $ibx;
+ });
+ } elsif ($warn_on_unconfigured) {
+ # do we really care about this? It's annoying...
+ warn $warn_on_unconfigured, "\n";
+ }
+ for my $i (0..$#ibxs) {
+ my $dir = $ibxs[$i];
+ $ibxs[$i] = $dir2ibx{$dir} ||= do {
+ my $name = "unconfigured-$i";
+ PublicInbox::Inbox->new({
+ name => $name,
+ address => [ "$name\@example.com" ],
+ mainrepo => $dir,
+ # TODO: consumers may want to warn on this:
+ #-unconfigured => 1,
+ });
+ };
+ }
+ @ibxs;
+}
+
# TODO: make Devel::Peek optional, only used for daemon
my @base_mod = qw(Email::MIME Date::Parse Devel::Peek);
my @over_mod = qw(DBD::SQLite DBI);