Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions bin/build-dist
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,41 @@ set -e -u -o pipefail
: "${BUILD_DIR:=build_dir}"

main() (
if [[ -e dist.ini ]]; then dzil-build
elif [[ -e minil.toml ]]; then minil-build
if can-run-dzil-build; then dzil-build
elif can-run-minil-build; then minil-build
elif [[ -e Build.PL ]]; then build-pl
elif [[ -e Makefile.PL ]]; then std-perl-build
fi
)

SUCCESS=0
FAILURE=1

can-run-authoring-tool () {
local file="$1"
local tool="$2"

# file doesn't exist ? => don't
# is authoring tool available ? => run
# does build file exist ? => don't
# othwerwise run and fail

[[ -e "$file" ]] || return $FAILURE
which "$tool" && return $SUCCESS
[[ -e Build.PL ]] && return $FAILURE
[[ -e Makefile.PL ]] && return $FAILURE

return $SUCCESS
}

can-run-dzil-build() {
can-run-authoring-tool dist.ini dzil
}

can-run-minil-build() {
can-run-authoring-tool minil.toml minil
}

dzil-build() (
dzil build --no-tgz --in "$BUILD_DIR"
)
Expand Down