gsg 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Getopt::Long qw(GetOptions);
  5. use Log::Log4perl qw(:easy);
  6. use lib "/usr/local/lib";
  7. use Shellex::Shellex qw(shellex findBin);
  8. use Gsg::ConfigParse qw(parse_gsg_config);
  9. use Gsg::Gather qw(get_file_tree get_projects);
  10. my $log_file = "gsg.log";
  11. sub get_log_name { return $log_file; };
  12. my $log_conf = q(
  13. log4perl.rootLogger = INFO, LOG1, screen
  14. log4perl.appender.LOG1 = Log::Log4perl::Appender::File
  15. log4perl.appender.LOG1.filename = sub { get_log_name(); }
  16. log4perl.appender.LOG1.mode = append
  17. log4perl.appender.LOG1.layout = Log::Log4perl::Layout::PatternLayout
  18. log4perl.appender.LOG1.layout.ConversionPattern = %d %p >> %m %n
  19. log4perl.appender.screen = Log::Log4perl::Appender::Screen
  20. log4perl.appender.screen.stderr = 0
  21. log4perl.appender.screen.layout = PatternLayout
  22. log4perl.appender.screen.layout.ConversionPattern = %d %p >> %m %n
  23. );
  24. Log::Log4perl::init(\$log_conf);
  25. my $logger = get_logger();
  26. my $config_file = "config.example";
  27. my %config = parse_gsg_config($config_file,$logger);
  28. my $web_root = $config{'WebRoot'};
  29. my $web_projects_dir = $web_root . "/projects/";
  30. my $root_index = $web_projects_dir . "index.html";
  31. foreach my $key ( keys %config ) {
  32. if ( $key eq "IgnoredProjects" ) {
  33. print "$key contains:\n";
  34. foreach my $val ( @{$config{$key}} ) {
  35. print "$val\n";
  36. }
  37. } else {
  38. print "Key is $key and val is $config{$key}\n";
  39. }
  40. }
  41. print "Projects are:\n";
  42. my $git_projects_ref = get_projects($config{'GitHome'},$config{'IgnoredProjects'},$logger);
  43. foreach my $p ( @$git_projects_ref ) {
  44. print "$p\n";
  45. }
  46. # my ( $file_tree_ref, $file_content_ref, $commits_ref ) = get_file_tree($project_dir,$logger);