gsg 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. use Gsg::Html qw(write_file append_file write_root_index);
  11. my $log_file = "gsg.log";
  12. sub get_log_name { return $log_file; };
  13. my $log_conf = q(
  14. log4perl.rootLogger = INFO, LOG1, screen
  15. log4perl.appender.LOG1 = Log::Log4perl::Appender::File
  16. log4perl.appender.LOG1.filename = sub { get_log_name(); }
  17. log4perl.appender.LOG1.mode = append
  18. log4perl.appender.LOG1.layout = Log::Log4perl::Layout::PatternLayout
  19. log4perl.appender.LOG1.layout.ConversionPattern = %d %p >> %m %n
  20. log4perl.appender.screen = Log::Log4perl::Appender::Screen
  21. log4perl.appender.screen.stderr = 0
  22. log4perl.appender.screen.layout = PatternLayout
  23. log4perl.appender.screen.layout.ConversionPattern = %d %p >> %m %n
  24. );
  25. Log::Log4perl::init(\$log_conf);
  26. my $logger = get_logger();
  27. my $config_file = "config.example";
  28. my %config = parse_gsg_config($config_file,$logger);
  29. my $web_root = $config{'WebRoot'};
  30. my $web_projects_dir = $web_root . "/projects/";
  31. my $root_index = $web_projects_dir . "index.html";
  32. foreach my $key ( keys %config ) {
  33. if ( $key eq "IgnoredProjects" ) {
  34. print "$key contains:\n";
  35. foreach my $val ( @{$config{$key}} ) {
  36. print "$val\n";
  37. }
  38. } else {
  39. print "Key is $key and val is $config{$key}\n";
  40. }
  41. }
  42. print "Projects are:\n";
  43. my $git_projects_ref = get_projects($config{'GitHome'},$config{'IgnoredProjects'},$logger);
  44. foreach my $p ( @$git_projects_ref ) {
  45. print "$p\n";
  46. }
  47. # write_root_index($root_index,$git_projects_ref);
  48. # my ( $file_tree_ref, $file_content_ref, $commits_ref ) = get_file_tree($project_dir,$logger);