Skip to content

Commit

Permalink
Extract distribution preparation from Makefile to standalone script
Browse files Browse the repository at this point in the history
  • Loading branch information
fodor0205 committed Mar 1, 2024
1 parent c83b6d0 commit a7edc69
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 31 deletions.
36 changes: 5 additions & 31 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,47 +10,21 @@ install-dependencies:

.PHONY: build
build:
make create-distribution && \
make prepare-distribution && \
npm install && \
npm run build-css && \
npm run build


.PHONY: create-distribution
create-distribution:
rm --recursive --force distribution
mkdir --parents distribution

# Copy all directories
mkdir --parents distribution/config distribution/includes distribution/js distribution/kepek distribution/query
cp --recursive config distribution
cp --recursive includes distribution
rsync --archive kepek distribution --exclude *.xcf
cp --recursive query distribution

mkdir --parents distribution/css
cp --recursive node_modules/leaflet/dist/images distribution/css

# Copy root files
cp .htaccess distribution
cp favicon.ico distribution
cp lib.php distribution
cp terkep.php distribution
cp validatestreetnames.php distribution

# Copy content html files
cp *.shtml distribution

# Add read permission for other users (eg. www-data)
chmod --recursive o+r distribution
# +X sets execute/search only if the file is a directory (or already has execute permission for some user)
chmod --recursive +X distribution
.PHONY: prepare-distribution
prepare-distribution:
scripts/prepare-distribution.sh distribution


.PHONY: develop
develop:
mkdir --parents .tmp && \
make create-distribution && \
make prepare-distribution && \
npm run install-if-changed && \
npm run build-css && \
npm run build-development
Expand Down
37 changes: 37 additions & 0 deletions scripts/prepare-distribution.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env bash

# Prepare distribution bundle (css and js will not be included, only static non-built assets)

output_dir=${1:-"distribution"}

# Remove files from previous builds
rm --recursive --force "${output_dir}"

mkdir --parents "${output_dir}"

# Copy all directories
mkdir --parents "${output_dir}/config" "${output_dir}/includes" "${output_dir}/js"
mkdir --parents "${output_dir}/kepek" "${output_dir}/query"
cp --recursive config "${output_dir}"
cp --recursive includes "${output_dir}"
rsync --archive kepek "${output_dir}" --exclude *.xcf
cp --recursive query "${output_dir}"

mkdir --parents "${output_dir}/css"
cp --recursive node_modules/leaflet/dist/images "${output_dir}/css"

# Copy root files
cp .htaccess "${output_dir}"
cp favicon.ico "${output_dir}"
cp lib.php "${output_dir}"
cp terkep.php "${output_dir}"
cp validatestreetnames.php "${output_dir}"

# Copy content html files
cp *.shtml "${output_dir}"

# Add read permission for other users (eg. www-data)
chmod --recursive o+r "${output_dir}"

# +X sets execute/search only if the file is a directory (or already has execute permission for some user)
chmod --recursive +X "${output_dir}"

0 comments on commit a7edc69

Please sign in to comment.