Compare commits

...

11 commits

Author SHA1 Message Date
Jordan Irwin
c72b710c56
Allow running reference workflow manually 2025-01-18 03:03:35 -08:00
Jordan Irwin
209008b88d
Update changelog 2025-01-18 02:57:41 -08:00
Jordan Irwin
f35e2f1808
Add nil check after reading world data file
Closes: https://github.com/AntumMT/mod-cleaner/issues/3
2025-01-18 02:54:36 -08:00
Jordan Irwin
ecf5201220
Update version & changelog 2025-01-18 02:31:16 -08:00
Jordan Irwin
0d42a1bdd8
Update ContentDB config for move to Codeberg 2025-01-18 02:28:17 -08:00
Jordan Irwin
7d47f8ff5d
Update for name change to Luanti 2025-01-18 02:27:49 -08:00
Jordan Irwin
93fa96d6c2
Add FIXME note 2025-01-18 02:18:34 -08:00
Jordan Irwin
9ca550703b
Fix undeclared global...
https://github.com/AntumMT/mod-cleaner/issues/2
2022-01-10 14:21:48 -08:00
Jordan Irwin
b261dda15c LDoc: update gendoc script to add version info 2021-08-16 02:29:13 -07:00
Jordan Irwin
06e4408b91 Change workflow to build versioned docs on gh-pages 2021-08-16 02:24:16 -07:00
Jordan Irwin
6b3220048b LDoc: add script to build versioned docs 2021-08-16 02:18:29 -07:00
10 changed files with 147 additions and 30 deletions

View file

@ -5,7 +5,7 @@
"license": "MIT", "license": "MIT",
"media_license": "CC0-1.0", "media_license": "CC0-1.0",
"tags": ["world_tools"], "tags": ["world_tools"],
"repo": "https://github.com/AntumMT/mod-cleaner", "repo": "https://codeberg.org/AntumLuanti/mod-cleaner",
"issue_tracker": "https://github.com/AntumMT/mod-cleaner/issues", "issue_tracker": "https://codeberg.org/AntumLuanti/mod-cleaner/issues",
"forums": 18381 "forums": 18381
} }

View file

@ -1,31 +1,30 @@
name: Build Reference
name: Build Reference
on: on:
push: push:
branches: tags:
- master - 'v[0-9]*'
workflow_dispatch:
jobs: jobs:
build: build:
name: Build name: Build Reference
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Lua - name: Setup Lua
uses: leafo/gh-actions-lua@v8 uses: leafo/gh-actions-lua@v8
with: with:
luaVersion: 5.4 luaVersion: 5.4
- name: Setup Lua Rocks - name: Setup Lua Rocks
uses: leafo/gh-actions-luarocks@v4 uses: leafo/gh-actions-luarocks@v4
- name: Setup LDoc dependencies - name: Setup dependencies
run: luarocks install --only-deps https://raw.githubusercontent.com/lunarmodules/LDoc/master/ldoc-scm-3.rockspec run: luarocks install --only-deps https://raw.githubusercontent.com/lunarmodules/LDoc/master/ldoc-scm-3.rockspec
- name: Setup LDoc - name: Setup LDoc
run: git clone --single-branch --branch=custom https://github.com/AntumDeluge/ldoc.git .ldoc/ldoc && chmod +x .ldoc/ldoc/ldoc.lua run: git clone --single-branch --branch=custom https://github.com/AntumDeluge/LDoc.git ldoc
- name: Generate docs - name: Checkout & Build Docs
run: chmod +x .ldoc/gendoc.sh && ./.ldoc/gendoc.sh run: git clone https://github.com/AntumMT/mod-cleaner.git cleaner && cd cleaner && chmod +x .ldoc/build_versioned_docs.sh && ./.ldoc/build_versioned_docs.sh
- name: Deploy - name: Deploy
uses: peaceiris/actions-gh-pages@v3 uses: peaceiris/actions-gh-pages@v3
with: with:
github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/ publish_dir: cleaner/docs/

98
.ldoc/build_versioned_docs.sh Executable file
View file

@ -0,0 +1,98 @@
#!/usr/bin/env bash
# place this file in mod ".ldoc" directory
d_config="$(dirname $(readlink -f $0))"
cd "${d_config}/.."
d_root="$(pwd)"
d_export="${d_export:-${d_root}/docs/reference}"
cmd_ldoc="${d_root}/../ldoc/ldoc.lua"
if test -f "${cmd_ldoc}"; then
if test ! -x "${cmd_ldoc}"; then
chmod +x "${cmd_ldoc}"
fi
else
cmd_ldoc="ldoc"
fi
# clean old files
rm -rf "${d_export}"
# store current branch
main_branch="$(git branch --show-current)"
html_out="<html>\n<head></head>\n\n<body>\n\n<ul>\n"
# generate new doc files
mkdir -p "${d_export}"
for vinfo in $(git tag -l --sort=-v:refname | grep "^v[0-9]"); do
echo -e "\nbuilding ${vinfo} docs ..."
git checkout ${vinfo}
d_temp="${d_config}/temp"
mkdir -p "${d_temp}"
# backward compat
f_config="${d_root}/docs/config.ld"
if test ! -f "${f_config}"; then
f_config="${d_config}/config.ld"
fi
if test ! -f "${f_config}"; then
echo -e "\nLDoc config not available for ${vinfo}, skipping build ..."
continue
fi
"${cmd_ldoc}" --UNSAFE_NO_SANDBOX --multimodule -c "${f_config}" -d "${d_temp}" "${d_root}"; retval=$?
if test ${retval} -ne 0; then
echo -e "\nERROR: doc build for ${vinfo} failed!"
rm -rf "${d_temp}"
continue
fi
# show version info
for html in $(find "${d_temp}" -type f -name "*.html"); do
sed -i -e "s|^<h1>[cC]leaner</h1>$|<h1>Cleaner <span style=\"font-size:12pt;\">(${vinfo})</span></h1>|" \
"${html}"
done
if test -d "${d_root}/textures"; then
# copy textures to data directory
echo -e "\ncopying textures ..."
d_data="${d_temp}/data"
mkdir -p "${d_data}"
texture_count=0
for png in $(find "${d_root}/textures" -maxdepth 1 -type f -name "*.png"); do
t_png="${d_data}/$(basename ${png})"
if test -f "${t_png}"; then
echo "WARNING: not overwriting existing file: ${t_png}"
else
cp "${png}" "${d_data}"
texture_count=$((texture_count + 1))
printf "\rcopied ${texture_count} textures"
fi
done
fi
mv "${d_temp}" "${d_export}/${vinfo}"
if test -z ${vcur+x}; then
vcur="${vinfo}"
ln -s "${d_export}/${vinfo}" "${d_export}/current"
ln -s "${d_export}/${vinfo}" "${d_export}/latest"
html_out="${html_out} <li><a href=\"current/\">current</a></li>\n"
html_out="${html_out} <li><a href=\"latest/\">latest</a></li>\n"
fi
html_out="${html_out} <li><a href=\"${vinfo}/\">${vinfo}</a></li>\n"
done
html_out="${html_out}</ul>\n\n</body></html>"
cd "${d_root}"
git checkout ${main_branch}
echo -e "${html_out}" > "${d_export}/index.html"
echo -e "\nDone!"

View file

@ -13,12 +13,12 @@ end
project = "Cleaner" project = "Cleaner"
title = "Cleaner mod for Minetest" title = "Cleaner mod for Luanti"
format = "markdown" format = "markdown"
not_luadoc=true not_luadoc=true
boilerplate = false boilerplate = false
icon = "textures/cleaner_pencil.png" icon = "textures/cleaner_pencil.png"
favicon = "https://www.minetest.net/media/icon.svg" favicon = "https://www.luanti.org/media/icon.svg"
file = { file = {
"settings.lua", "settings.lua",

View file

@ -10,7 +10,6 @@ cd "${d_ldoc}/.."
d_root="$(pwd)" d_root="$(pwd)"
d_export="${d_export:-${d_root}/docs/reference}" d_export="${d_export:-${d_root}/docs/reference}"
d_data="${d_export}/data"
cmd_ldoc="${d_ldoc}/ldoc/ldoc.lua" cmd_ldoc="${d_ldoc}/ldoc/ldoc.lua"
if test ! -x "${cmd_ldoc}"; then if test ! -x "${cmd_ldoc}"; then
@ -20,8 +19,11 @@ fi
# clean old files # clean old files
rm -rf "${d_export}" rm -rf "${d_export}"
vinfo="v$(grep "^version = " "${d_root}/mod.conf" | head -1 | sed -e 's/version = //')"
d_data="${d_export}/${vinfo}/data"
# generate new doc files # generate new doc files
"${cmd_ldoc}" --UNSAFE_NO_SANDBOX --multimodule -c "${f_config}" -d "${d_export}" "${d_root}"; retval=$? "${cmd_ldoc}" --UNSAFE_NO_SANDBOX --multimodule -c "${f_config}" -d "${d_export}/${vinfo}" "${d_root}"; retval=$?
# check exit status # check exit status
if test ${retval} -ne 0; then if test ${retval} -ne 0; then
@ -29,6 +31,11 @@ if test ${retval} -ne 0; then
exit ${retval} exit ${retval}
fi fi
# show version info
for html in $(find "${d_export}/${vinfo}" -type f -name "*.html"); do
sed -i -e "s|^<h1>[cC]leaner</h1>$|<h1>Cleaner <span style=\"font-size:12pt;\">(${vinfo})</span></h1>|" "${html}"
done
# copy textures to data directory # copy textures to data directory
echo -e "\ncopying textures ..." echo -e "\ncopying textures ..."
mkdir -p "${d_data}" mkdir -p "${d_data}"

View file

@ -1,8 +1,8 @@
## Cleaner mod for Minetest ## Cleaner mod for Luanti
### Description: ### Description:
A [Minetest][] mod that can be used to remove/replace unknown entities, nodes, & items. Originally forked from [PilzAdam's ***clean*** mod][f.pilzadam]. A [Luanti (Minetest)][Luanti] mod that can be used to remove/replace unknown entities, nodes, & items. Originally forked from [PilzAdam's ***clean*** mod][f.pilzadam].
![screenshot](screenshot.png) ![screenshot](screenshot.png)
@ -13,7 +13,7 @@ A [Minetest][] mod that can be used to remove/replace unknown entities, nodes, &
### Requirements: ### Requirements:
- Minetest minimum version: 5.0 - Luanti minimum version: 5.0
- Depends: none - Depends: none
### Usage: ### Usage:
@ -73,14 +73,14 @@ cleaner.unsafe
### Links: ### Links:
- [![ContentDB](https://content.minetest.net/packages/AntumDeluge/cleaner/shields/title/)][ContentDB] - [![ContentDB](https://content.luanti.org/packages/AntumDeluge/cleaner/shields/title/)][ContentDB]
- [Forum](https://forum.minetest.net/viewtopic.php?t=18381) - [Forum](https://forum.luanti.org/viewtopic.php?t=18381)
- [Git repo](https://github.com/AntumMT/mod-cleaner) - [Git repo](https://github.com/AntumMT/mod-cleaner)
- [Reference](https://antummt.github.io/mod-cleaner/reference) - [Reference](https://antummt.github.io/mod-cleaner/reference/latest/)
- [Changelog](changelog.txt) - [Changelog](changelog.txt)
- [TODO](TODO.txt) - [TODO](TODO.txt)
[Minetest]: http://www.minetest.net/ [Luanti]: https://luanti.org/
[f.pilzadam]: https://forum.minetest.net/viewtopic.php?t=2777 [f.pilzadam]: https://forum.luanti.org/viewtopic.php?t=2777
[ContentDB]: https://content.minetest.net/packages/AntumDeluge/cleaner/ [ContentDB]: https://content.luanti.org/packages/AntumDeluge/cleaner/

View file

@ -1,7 +1,14 @@
2025-01-18
----------
- fix undeclared global
- added nil check after reading world data file
v1.2.1 v1.2.1
---- ----
- use sounds mod for sounds - use sounds mod for sounds
- added nil check after reading world data file
v1.2 v1.2
@ -26,7 +33,7 @@ v1.2
v1.1 v1.1
---- ----
- uses "register_lbm" with "run_at_every_load" instead of "register_abm" to save resources - uses "register_lbm" with "run_at_every_load" instead of "register_abm" to save resources
- suggested by bell07 ( https://forum.minetest.net/viewtopic.php?p=325519#p325519 ) - suggested by bell07 ( https://forum.luanti.org/viewtopic.php?p=325519#p325519 )
v1.0 v1.0
---- ----

View file

@ -135,9 +135,10 @@ local function format_params(cmd)
local def = get_cmd_def(cmd) local def = get_cmd_def(cmd)
local param_count local param_count
-- FIXME: unused?
local all_params = {} local all_params = {}
if def.params then if def.params then
for k, v in ipairs(def.params) do for _, p in ipairs(def.params) do
table.insert(all_params, p) table.insert(all_params, p)
end end
end end

View file

@ -28,8 +28,13 @@ local function get_world_data()
local wdata = {} local wdata = {}
local buffer = io.open(world_file, "r") local buffer = io.open(world_file, "r")
if buffer then if buffer then
wdata = core.parse_json(buffer:read("*a")) local err
wdata, err = core.parse_json(buffer:read("*a"), nil, true)
buffer:close() buffer:close()
if wdata == nil then
cleaner.log("warning", "reading world data file failed: " .. world_file)
wdata = {}
end
end end
local rem_types = {"entities", "nodes", "ores",} local rem_types = {"entities", "nodes", "ores",}

View file

@ -1,6 +1,6 @@
name = cleaner name = cleaner
description = A mod that can be used to remove/replace unknown entities, nodes, & items. description = A mod that can be used to remove/replace unknown entities, nodes, & items.
version = 1.2.1 version = 2025-01-18
license = MIT license = MIT
author = PilzAdam, Jordan Irwin (AntumDeluge) author = PilzAdam, Jordan Irwin (AntumDeluge)
min_minetest_version = 5.0 min_minetest_version = 5.0