Skip to content

Commit

Permalink
7.2.0 (#422)
Browse files Browse the repository at this point in the history
* 7.2.0
  • Loading branch information
torkus committed Dec 24, 2023
1 parent 7825fb4 commit 8250e34
Show file tree
Hide file tree
Showing 22 changed files with 237 additions and 288 deletions.
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ jobs:
key: v1-dependencies-{{ checksum "project.clj" }}

# run tests!
- run: ./run-tests.sh
- run: ./manage.sh test
6 changes: 0 additions & 6 deletions AppImage/AppRun

This file was deleted.

12 changes: 0 additions & 12 deletions AppImage/strongbox.desktop

This file was deleted.

27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file. This change
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 7.2.0 - 2023-12-24

### Added

* `x-website` Github URLs in `.toc` files are now treated as a Github source that an addon can be switched to.
- when both `x-github` and Github `x-website` sources exist, `x-github` takes priority.

### Changed

* moved AppImage building to `ogri-la/strongbox-appimage`.
* consolidated all the `.sh` into a single `manage.sh` script.
- `lint.sh` moved to `manage.sh` as command 'lint'.
- `run-tests.sh` moved to `manage.sh` as command 'test'.
- `update-test-fixtures.sh` moved to `manage.sh` as command 'update-test-fixtures'.
- `build-linx-image.sh` moved to `ogri-la/strongbox-appimage` as `build-appimage.sh`.

### Fixed

* fixed bug preventing classic Wrath `.toc` from being detected and loaded.
* fixed bug in catalogue location spec where a value that should have been validating as a URL was not.
* removed `x-tukui-id` source detection in `.toc` files. Tukui no longer hosts addons so these can't be used.
- overlooked, should have been part of 7.0.0 major version.

### Removed

* removed `release.sh` as it had been unused for several years.

## 7.1.0 - 2023-11-26

### Added
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile → CircleCI/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ WORKDIR /home/user
RUN mkdir strongbox
COPY src strongbox/src
COPY test strongbox/test
COPY cloverage.clj run-tests.sh project.clj strongbox/
COPY cloverage.clj manage.sh project.clj strongbox/
RUN chown -R user:user strongbox/

USER user
WORKDIR /home/user/strongbox

RUN lein deps && lein cloverage -h > /dev/null

RUN ./run-tests.sh
RUN ./manage.sh test
4 changes: 2 additions & 2 deletions Dockerfile.buster → CircleCI/Dockerfile.buster
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ USER root
RUN mkdir strongbox
COPY src strongbox/src
COPY test strongbox/test
COPY cloverage.clj run-tests.sh project.clj strongbox/
COPY cloverage.clj manage.sh project.clj strongbox/
RUN chown circleci:circleci -R strongbox

USER circleci
Expand All @@ -16,4 +16,4 @@ WORKDIR strongbox

RUN sudo apt install libgtk-3-0 libxtst6 --no-install-recommends
RUN lein deps && lein cloverage -h > /dev/null
RUN ./run-tests.sh
RUN ./manage.sh test
52 changes: 10 additions & 42 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,53 +6,25 @@ see CHANGELOG.md for a more formal list of changes by release

## done

* search, possible bug, thought I fixed it so catalogues are navigable now?
- selecting by host still gives me samples
- done

* search, add ability to browse catalogue page by page
- returned to bucket 2022-03-02
- the 'search' tab kinda sorta is this ... perhaps a preference to disable sampling?
- done

* search, vertically centre tag buttons.
- they're currently top-aligned
- done

* cljfx, javafx
- bump deps

* support NO_COLOR envvar, http://no-color.org
- done

* rawdata, interface-version is being localised
- done

* gui, better copying from the interface, especially the log box
- too much faff and bs for selectable text/labels, wontdo.
- added selectable plain text and json boxes to the raw text widgets
- done

* add a disable update check cli arg
- flatpaks will check for updates in a different way
- done

* github-addons.md, update or get rid of
- got rid of it
* move Dockerfile* files into a CircleCI folder
- done

* release.md, move to strongbox-release-script
* toc, what is the usage of 'x-github'. we're expecting a url but a foo/bar seems fine as well
- check the github catalogue
- I'm seeing more usage of 'x-website'
- done

* gui, raw data, add textual versions of this data as well
- pretty printing in a gui is one thing, but useless if it can't be copied
- have a text field with plain text and yaml or json formatted addon data could be useful as well
* *.sh, consolidate these root-level bash scripts into a manage.sh
- done

## todo

## todo bucket (no particular order)

* cataclysm classic support

* nfo, replace the URL as the group-id with something random

* github, catalogue, no download counts.

* github, catalogue, add any tags if they exist
Expand Down Expand Up @@ -80,10 +52,6 @@ see CHANGELOG.md for a more formal list of changes by release
- 'tukui' in the search results shouldn't mean 'ogri-la/tukui' if 'tukui.org/tukui' is also available
- which it isn't, but that's not the point.

* *.sh, consolidate these root-level bash scripts into a manage.sh

* move Dockerfile* files into a CircleCI folder

* metrics, add a 'catalogue is N days old'
- add an 'oldest' addon (days since created date)?
- add a 'most stale' addon (days since last update)?
Expand Down Expand Up @@ -114,6 +82,7 @@ see CHANGELOG.md for a more formal list of changes by release

* gui, 'set-icon' is taking a long time to do it's thing.


* manually select the primary addon in a group of addons to prevent synthetic titles

* http, add with-backoff support to download-file
Expand Down Expand Up @@ -239,7 +208,6 @@ see CHANGELOG.md for a more formal list of changes by release
* preference for 'fat rows'
- increase the padding for each row a bit

* nfo, replace the URL as the group-id with something random

* "developer warnings"
- a preference that bumps certain debug messages to warnings and errors for developers
Expand Down
63 changes: 0 additions & 63 deletions build-linux-image.sh

This file was deleted.

13 changes: 0 additions & 13 deletions lint.sh

This file was deleted.

126 changes: 126 additions & 0 deletions manage.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
#!/bin/bash
set -eu -o pipefail

cmd="$1"

if test ! "$cmd"; then
echo "command required."
echo
echo "available commands:"
echo " update-deps update project dependencies"
echo " test run application tests"
echo " lint run linters"
echo " update-test-fixtures update static files used during testing"
exit 1
fi

shift
rest=$*

if test "$cmd" = "update-deps"; then
lein ancient
exit 0

elif test "$cmd" = "test"; then
# always ratchet *upwards*
fail_threshold=80
# this file can't live in src/strongbox because lein-cloverage can't be found during dev.
# so we copy it in and destroy it afterwards
cp cloverage.clj src/strongbox/cloverage.clj
rm -rf ./coverage/ # any coverage reports from previous run

function finish {
rm src/strongbox/cloverage.clj

# 'lein clean' wipes out the 'target' directory, including the Cloverage report
if [ -d target/coverage ]; then
echo
echo "wrote coverage/index.html"
mv target/coverage coverage
fi
lein clean
}
trap finish EXIT
if which xvfb-run; then
# CI
xvfb-run lein cloverage --runner "strongbox"
else
# dev
lein cloverage --runner "strongbox" --fail-threshold "$fail_threshold" --html
fi
exit 0

elif test "$cmd" = "lint"; then
if which joker > /dev/null; then
echo "joker lint"
joker --lint --working-dir ./
fi
echo "cljfmt lint"
lein cljfmt fix
echo "eastwood lint"
lein eastwood
exit 0

elif test "$cmd" = "update-test-fixtures"; then
# downloads new test fixtures
function dl {
url="$1"
fname="$2"
if [[ "$fname" == *json ]]; then
curl --silent "$url" | jq . > "test/fixtures/$fname"
else
curl --silent "$url" > "test/fixtures/$fname"
fi
echo "$fname"
}

# curseforge
dl "https://www.curseforge.com/wow/addons?filter-sort=name&page=1" "curseforge-addon-summary-listing.html"

# curseforge api
dl "https://addons-ecs.forgesvc.net/api/v2/addon/327019" "curseforge-api-addon--everyaddon.json"
cp "test/fixtures/curseforge-api-addon--everyaddon.json" "test/fixtures/curseforge-api-addon--everyotheraddon.json"
## one search result
dl "https://addons-ecs.forgesvc.net/api/v2/addon/search?gameId=1&index=0&pageSize=1&searchFilter=&sort=2" "curseforge-api-search--truncated.json"

# wowinterface
dl "https://wowinterface.com/addons.php" "wowinterface-category-list.html"
dl "https://www.wowinterface.com/downloads/cat19.html" "wowinterface-category-page.html"
dl "https://www.wowinterface.com/downloads/info9085-Dominos.html" "wowinterface-addon-page.html"

# wowinterface api
dl "https://api.mmoui.com/v3/game/WOW/filelist.json" "wowinterface-api--complete.json"
dl "https://api.mmoui.com/v3/game/WOW/filedetails/25122.json" "wowinterface-api--addon-details.json"
dl "https://api.mmoui.com/v3/game/WOW/filedetails/24910.json" "wowinterface-api--addon-details-classic.json" # WeakAuras2

# github api
dl "https://api.github.com/repos/Robert388/Necrosis-classic/releases" "github-repo-releases--no-assets.json"
dl "https://api.github.com/repos/jsb/RingMenu/releases" "github-repo-releases--single-asset-classic.json"
dl "https://api.github.com/repos/jsb/RingMenu/releases" "github-repo-releases--broken-assets.json"
dl "https://api.github.com/repos/Ravendwyr/Chinchilla/releases" "github-repo-releases--many-assets-many-gametracks.json"
dl "https://api.github.com/repos/Ravendwyr/Chinchilla/contents" "github-repo-contents--many-assets-many-gametracks.json"

# gitlab api
dl "https://gitlab.com/api/v4/projects/woblight%2Fnitro" "gitlab-repo--woblight-nitro.json"
dl "https://gitlab.com/api/v4/projects/woblight%2Fnitro/releases" "gitlab-repo-releases--woblight-nitro.json"
dl "https://gitlab.com/api/v4/projects/woblight%2Fnitro/repository/tree" "gitlab-repo-tree--woblight-nitro.json"
dl "https://gitlab.com/api/v4/projects/thing-engineering%2Fwowthing%2Fwowthing-collector/repository/blobs/125c899d813d2e11c976879f28dccc2a36fd207b" "gitlab-repo-blobs--wowthing.json"
dl "https://gitlab.com/api/v4/projects/woblight%2Fnitro/repository/tree" "gitlab-repo-tree--woblight-nitro.json"

# tukui api
dl "https://www.tukui.org/api.php?addon=98" "tukui--addon-details.json"
dl "https://www.tukui.org/api.php?classic-addon=13" "tukui--classic-addon-details.json"
dl "https://www.tukui.org/api.php?ui=tukui" "tukui--tukui-addon-proper.json"
dl "https://www.tukui.org/api.php?ui=elvui" "tukui--elvui-addon-proper.json"

# user-catalogue
dl "https://api.github.com/repos/Stanzilla/AdvancedInterfaceOptions/releases" "user-catalogue--github.json"

exit 0

# ...

fi

echo "unknown command: $cmd"
exit 1
Loading

0 comments on commit 8250e34

Please sign in to comment.