6 use System::Introspector::State;
7 use File::Tree::Snapshot;
8 use System::Introspector::Config;
11 'c|config=s' => \my $config_file,
12 's|storage=s' => \my $storage_dir,
13 'a|all' => \my $update_all,
14 'g|group=s' => \my @update_groups,
15 'h|help' => sub { pod2usage(0) },
18 die "Requires --storage\n"
19 unless defined $storage_dir;
21 die "Requires --config\n"
22 unless defined $config_file;
24 die "Requires --all or --group option\n"
25 unless $update_all or @update_groups;
27 my $config = System::Introspector::Config->new(
28 config_file => (defined($config_file)
30 : "$storage_dir/main.conf"),
33 $config->has_group($_) or die "Unknown group '$_'\n"
36 @update_groups = $config->groups
39 my $state = System::Introspector::State->new(
44 $state->gather(@update_groups);
50 system-introspector - Generate System Introspection Data
54 system-introspector --storage <path> [OPTIONS]
58 See L<System::Introspector/DESCRIPTION> for more details.
62 =head2 -s <path>, --storage <path>
64 Path to storage. Always required.
66 =head2 -c <file>, --config <file>
68 Path to the configuration file.
74 =head2 -g <group>, --group <group>
76 Fetch the specified group. Can be used multiple times.
84 Copyright (c) 2012 the L<System::Introspector>
85 L<AUTHOR|System::Introspector/AUTHOR>,
86 L<CONTRIBUTORS|System::Introspector/CONTRIBUTORS> and
87 L<SPONSORS|System::Introspector/SPONSORS>.
91 This library is free software and may be distributed under the same terms