mirror of
https://github.com/bombsquad-community/plugin-manager.git
synced 2026-08-15 13:03:08 +00:00
commit
14ad3668b3
5 changed files with 18 additions and 12 deletions
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
|
|
@ -30,11 +30,11 @@ jobs:
|
|||
output1=$(python3 test/get_latest.py get_latest_plugman_version)
|
||||
{
|
||||
echo "changelog<<EOF"
|
||||
python3 test/get_changes.py "$(python3 test/get_latest.py get_latest_version)"
|
||||
python3 test/get_changelog.py "$(python3 test/get_latest.py get_latest_version)"
|
||||
echo EOF
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
output2=$(python3 test/get_latest.py get_latest_api)
|
||||
output3=$(python3 test/version_is_lower.py ${{ steps.previoustag.outputs.tag }})
|
||||
output3=$(python3 test/versioning_tools.py ${{ steps.previoustag.outputs.tag }})
|
||||
echo "latestVersion=$output1" >> $GITHUB_OUTPUT
|
||||
echo "latestAPI=$output2" >> $GITHUB_OUTPUT
|
||||
echo "shouldRun=$output3" >> $GITHUB_OUTPUT
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ class Main(babase.Plugin):
|
|||
```
|
||||
|
||||
You'll have to fork this repository and add your `sample_plugin.py` plugin file into the appropriate directory, which for
|
||||
utility plugin is [plugins/utilities](plugins/utilities). After that, plugin getails and version values will automatically be populated through github-actions in [plugins/utilities.json](plugins/utilities.json)(along with formatting your code as per PEP8 style
|
||||
utility plugin is [plugins/utilities](plugins/utilities). After that, plugin details and version values will automatically be populated through github-actions in [plugins/utilities.json](plugins/utilities.json)(along with formatting your code as per PEP8 style
|
||||
guide) once you open a pull request.
|
||||
|
||||
### Updating a Plugin
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
import sys
|
||||
import json
|
||||
import ast
|
||||
import os
|
||||
import get_latest
|
||||
import versioning_tools
|
||||
|
||||
DEBUG = True
|
||||
|
||||
|
|
@ -11,7 +13,7 @@ def debug_print(*args, **kwargs):
|
|||
print(*args, **kwargs)
|
||||
|
||||
|
||||
def get_latest_version(plugin_name, category):
|
||||
def get_latest_version(plugin_name, category) -> str:
|
||||
filepaths = {
|
||||
"minigames": "plugins/minigames.json",
|
||||
"utilities": "plugins/utilities.json",
|
||||
|
|
@ -49,8 +51,9 @@ def update_plugin_json(plugin_info, category):
|
|||
try:
|
||||
# Check if plugin is already in the json
|
||||
plugin = data["plugins"][name]
|
||||
plugman_version = int(get_latest_version(name, category).replace(".", ""))
|
||||
current_version = int(plugin_info["version"].replace(".", ""))
|
||||
plugman_version = int(versioning_tools.semantic_to_str(
|
||||
get_latest_version(name, category)))
|
||||
current_version = int(versioning_tools.semantic_to_str(plugin_info["version"]))
|
||||
# Ensure the version is always greater from the already released version
|
||||
if current_version > plugman_version:
|
||||
plugin["versions"][plugin_info["version"]] = None
|
||||
|
|
@ -77,13 +80,13 @@ def update_plugin_json(plugin_info, category):
|
|||
|
||||
def extract_plugman(plugins):
|
||||
for plugin in plugins:
|
||||
if "plugins/" in plugin:
|
||||
if "plugins"+os.sep in plugin and plugin.endswith(".py"):
|
||||
|
||||
debug_print(plugin)
|
||||
try:
|
||||
# Split the path and get the part after 'plugins/'
|
||||
parts = plugin.split("plugins/")[1].split("/")
|
||||
file_name_no_extension = plugin.split("/")[-1].replace(".py", "")
|
||||
parts = plugin.split("plugins"+os.sep)[1].split(os.sep)
|
||||
file_name_no_extension = plugin.split(os.sep)[-1].replace(".py", "")
|
||||
category = parts[0] # First part after plugins/
|
||||
except ValueError:
|
||||
if "plugin_manager" in plugin:
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
import sys
|
||||
from get_latest import get_latest_version
|
||||
|
||||
"""if called directly from command line, it will check if given version is lower
|
||||
than latest version in index.json"""
|
||||
|
||||
|
||||
def semantic_to_str(semantic_version: str):
|
||||
"""Convert version in the form of v1.2.3 to 001002003
|
||||
for comparing 2 version in semantic versioning format"""
|
||||
out = ""
|
||||
for i in (semantic_version.split(".")):
|
||||
for i in semantic_version.split("."):
|
||||
if len(i) == 1:
|
||||
out += "00"+i
|
||||
out += "00" + i
|
||||
if len(i) == 2:
|
||||
out += "0"+i
|
||||
out += "0" + i
|
||||
return out
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue