#!/usr/bin/env perl

use strict;
use warnings;
use FindBin;
use File::Spec::Functions qw(catdir updir);
use Cwd qw(abs_path);
_set_env();

# Start command line interface for application
require Mojolicious::Commands;
Mojolicious::Commands->start_app('Ado');

sub _set_env {
    $ENV{ADO_HOME}  ||= '';
    $ENV{MOJO_MODE} ||= 'development';

    #$ENV{MOJO_MODE}='production';
    FindBin->again;
    $ENV{MOJO_HOME} ||= abs_path(catdir($FindBin::Bin, updir));
    $ENV{MOJO_CONFIG} ||= $ENV{MOJO_HOME} . '/etc/ado.conf';

    for my $d (
        catdir($ENV{MOJO_HOME}, 'site', 'lib'),
        catdir($ENV{MOJO_HOME}, 'lib')
      )
    {
        unshift @INC, $d if -d $d;
    }
    my $ADO_HOME_MESSAGE = <<"MESS";
  ADO_HOME environment variable is not set 
  to the automatically discovered Ado home directory
  $ENV{MOJO_HOME}
  or at all.
  Probably you run ado from its installation directory?

  Please set 
  export ADO_HOME=/path/to/ado 
  in your .bashrc
  after installing Ado so Ado plugins can easily find it.
  Current value: ADO_HOME='$ENV{ADO_HOME}'
MESS
    my $PERL5LIB_MESSAGE = <<"MESS";
MESS
    say STDERR $ADO_HOME_MESSAGE unless $ENV{ADO_HOME} eq $ENV{MOJO_HOME};
    return;
}
