Blob Blame History Raw
#!/bin/sh

baddeps=""
# check deps
rpm -qi ruby > /dev/null 2>&1 || baddeps="ruby"
rpm -qi rubygem-sass > /dev/null 2>&1 || baddeps="${baddeps} rubygem-sass"
rpm -qi perl-Mojolicious > /dev/null 2>&1 || baddeps="${baddeps} perl-Mojolicious"
rpm -qi perl-Mojolicious-Plugin-AssetPack > /dev/null 2>&1 || baddeps="${baddeps} perl-Mojolicious-Plugin-AssetPack"
if [ -n "${baddeps}" ]; then
    echo "${baddeps} must be installed!"
    exit 1
fi

SD=$PWD
spectool -g openqa.spec
src=$(spectool -l openqa.spec -s 0 | cut -d'/' -f8)
tgt=$(echo "$src" | sed -e 's,openQA,assetcache,' -e 's,tar\.gz,tar\.xz,')
tmp=$(mktemp -d)
cd $tmp
tar xf $SD/$src
cd openQA-*

cat > script/gen-assets-ng << EOF
#!/usr/bin/env perl

use strict;
use warnings;

use Mojolicious::Lite;

# include openQA lib dir in path (so we can find AssetPipe)
use FindBin;
BEGIN { unshift @INC, "\$FindBin::Bin/../lib" }

# Load plugin and pipes in the right order
plugin AssetPack => {
pipes => [qw(Sass Css JavaScript Fetch OpenQA::WebAPI::AssetPipe Combine)]
};

# process assets
app->asset->process;
EOF

chmod ugo+x script/gen-assets-ng
MOJO_HOME=./ script/gen-assets-ng
tar cvjf $tgt assets/cache assets/assetpack.db
mv $tgt $SD/
rm -rf $tmp