#!/usr/bin/perl

package bin::addondev_build;

use 5.10.1;

use strict;
use warnings;

use Cwd ();
use File::Basename ();
use Config::Tiny   ();

my $check_dir = Cwd::abs_path(Cwd::getcwd());
my $old_checkdir = '';
my $config_file;
if (substr($check_dir, -1) eq '/') {
  $config_file = "${check_dir}cpaddons-project";
} else {
  $config_file = "${check_dir}/cpaddons-project";
}
while ($check_dir ne '' && $old_checkdir ne $check_dir && ! -e ${config_file}) {
  $old_checkdir = $check_dir;
  $check_dir = File::Basename::dirname($check_dir);
  if (substr($check_dir, -1) eq '/') {
    $config_file = "${check_dir}cpaddons-project";
  } else {
    $config_file = "${check_dir}/cpaddons-project";
  }
}
if ($old_checkdir eq $check_dir) {
  print "not in a cpaddons project\n";
  return 1
}

my $config = Config::Tiny->read("${check_dir}/cpaddons-project");
my $spec_file = $config->{RPM}->{spec_file};

exec("bash", "-c", "cd $check_dir; rpmbuild --define \'_topdir $check_dir\' -ba $spec_file");
