-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support multiple 'interface' values in .toc files #430
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
it contains all possible interface versions parsed from the 'interface' field. the current 'interface-version' field is now the first value parsed from this list.
new private fn is less strict, interpreting and extrapolating values, warning on bad values etc. new fn does validation and discards data if it's invalid. this was done so we don't have to repeat parsing steps elsewhere. toc.clj, the templated '## # interface' value is now considered and included in the interface-version-list. github-api.clj, removed duplicated parsing of :interface values in favour of that in toc.clj github-api.clj, order of extracted gametrack values is now deterministic.
torkus
commented
Jul 6, 2024
torkus
commented
Jul 6, 2024
- '110000' was returning '1.0.000' instead of '11.0.0' toc.clj, fixed bug where data would fail to valid and be discarded. - it was possible for multiple distinct interface-version values to become duplicate game tracks values (like [:retail :retail]) jfx.clj, the 'WoW' (interface version) column now supports multiple values. - default column width values increased to accommodate them.
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
torkus
commented
Jul 12, 2024
core.clj, fixed a typo in the import/export logic and the test helper that was using :toc/game-track instead of :-toc/game-track toc.clj, replaced :-toc/game-track with :-toc/game-track-list addon.clj, a single set of toc data can now belong to many game tracks - this means the first instance of 'classic' toc data (for example) will be used even if multiple toc files support classic. crazy. tukui, curseforge, removed their 'expand-summary' implementations. jfx.clj, addon data detail pane now accommodates many interface values. toc.clj, removed a warning when the presence of a game track in the filename doesn't match the game tracks parsed from the data. - the user can't really do anything about it, I had at least one false-positive and with many game tracks to now check it seems needlessly expensive.
torkus
commented
Jul 18, 2024
torkus
commented
Jul 18, 2024
torkus
commented
Jul 18, 2024
torkus
commented
Jul 18, 2024
curseforge, tukui, removes test fixtures referenced by removed code.
these appear to have been introduced for curseforge and only used there.
torkus
commented
Jul 18, 2024
torkus
commented
Jul 18, 2024
torkus
commented
Jul 18, 2024
torkus
commented
Jul 18, 2024
torkus
commented
Jul 18, 2024
torkus
added a commit
that referenced
this pull request
Jul 19, 2024
* support multiple 'interface' values in .toc files (#430) * toc.clj, introduces 'interface-version-list' field. it contains all possible interface versions parsed from the 'interface' field. * toc.clj, split 'parse-addon-toc' into '-parse-addon-toc'. new private fn is less strict, interpreting and extrapolating values, warning on bad values etc. new fn does validation and discards data if it's invalid. this was done so we don't have to repeat parsing steps elsewhere. * toc.clj, the templated '## # interface' value is now considered and included in the interface-version-list. * github-api.clj, removed duplicated parsing of :interface values in favour of that in toc.clj * github-api.clj, order of extracted gametrack values is now deterministic. * utils, fixed bug in interface-version-to-game-version '110000' was returning '1.0.000' instead of '11.0.0' * toc.clj, fixed bug where data would fail to validate and be discarded. it was possible for multiple distinct interface-version values to become duplicate game tracks values (like [:retail :retail]) * jfx.clj, the 'WoW' (interface version) column now supports multiple values. default column width values increased to accommodate them. * specs.clj, replaces toc :interface-version with :interface-version-list * core.clj, fixed a typo in the import/export logic and the test helper that was using :toc/game-track instead of :-toc/game-track * toc.clj, replaced :-toc/game-track with :-toc/game-track-list * addon.clj, a single set of toc data can now belong to many game tracks this means the first instance of 'classic' toc data (for example) will be used even if multiple toc files support classic. crazy. * tukui, curseforge, removed their 'expand-summary' implementations as they were using :interface-version * jfx.clj, addon data detail pane now accommodates many interface values. * toc.clj, removed a warning when the presence of a game track in the filename doesn't match the game tracks parsed from the data. the user can't really do anything about it, I had at least one false-positive and with many game tracks to now check it seems needlessly expensive. * curseforge, tukui, removes test fixtures referenced by removed code. * catalogue.clj, fixed possibilty of multiple game tracks in toc2summary * specs, source-updates, removes 'release-label' and 'interface-version'. these appear to have been introduced for curseforge and only used there. * deps bump * constants, adds entries for Dragonflight patch releases. * constants, adds entry for The War Within. * replaces references to old wiki with new wiki. * linted
torkus
added a commit
that referenced
this pull request
Sep 7, 2024
* CHANGELOG, TODO, project.clj * README, updated comrades * support multiple 'interface' values in .toc files (#430) * toc.clj, introduces 'interface-version-list' field. it contains all possible interface versions parsed from the 'interface' field. * toc.clj, split 'parse-addon-toc' into '-parse-addon-toc'. new private fn is less strict, interpreting and extrapolating values, warning on bad values etc. new fn does validation and discards data if it's invalid. this was done so we don't have to repeat parsing steps elsewhere. * toc.clj, the templated '## # interface' value is now considered and included in the interface-version-list. * github-api.clj, removed duplicated parsing of :interface values in favour of that in toc.clj * github-api.clj, order of extracted gametrack values is now deterministic. * utils, fixed bug in interface-version-to-game-version - '110000' was returning '1.0.000' instead of '11.0.0' * toc.clj, fixed bug where data would fail to validate and be discarded. - it was possible for multiple distinct interface-version values to become duplicate game tracks values (like [:retail :retail]) * jfx.clj, the 'WoW' (interface version) column now supports multiple values. - default column width values increased to accommodate them. * specs.clj, replaces toc :interface-version with :interface-version-list * core.clj, fixed a typo in the import/export logic and the test helper that was using :toc/game-track instead of :-toc/game-track * toc.clj, replaced :-toc/game-track with :-toc/game-track-list * addon.clj, a single set of toc data can now belong to many game tracks - this means the first instance of 'classic' toc data (for example) will be used even if multiple toc files support classic. crazy. * tukui, curseforge, removed their 'expand-summary' implementations as they were using :interface-version * jfx.clj, addon data detail pane now accommodates many interface values. * toc.clj, removed a warning when the presence of a game track in the filename doesn't match the game tracks parsed from the data. - the user can't really do anything about it, I had at least one false-positive and with many game tracks to now check it seems needlessly expensive. * curseforge, tukui, removes test fixtures referenced by removed code. * catalogue.clj, fixed possibilty of multiple game tracks in toc2summary * specs, source-updates, removes 'release-label' and 'interface-version'. these appear to have been introduced for curseforge and only used there. * linted * review feedback * deps bump * constants, adds entries for Dragonflight patch releases. * constants, adds entry for The War Within. * replaces references to old wiki with new wiki. * fixed bug in emergency 'short' catalogue generation it would include addons from BFA instead of stopping at Shadowlands * install addon from file, preserve 'ignore' and 'pin' flags (#434) * cli, adds test 'install-addon--ignore-then-update-from-file' - it recreates what is being seen in issue #433 * core.clj, download-time tests duplicated at install-time. - but with different consequences. * cli.clj, installing an addon from a file now goes through 'core', not 'addon'. * core, relaxes restriction on what core/install-addon considers installable. * addon.clj, special handling for nfo flags when installing addon. - if an addon is ignored then the new nfo data will inherit the ignore flag. - if an addon is pinned then thew new nfo data will remove the pinned-version flag. - it shouldn't be possible to reach this logic right now, core/install-addon should prevent that. * core.clj, install-addon, replaced 'test-only?' parameter with map of options. * addon.clj, fixed bug where ignore check fails on single dir addons - it assumed all addons had a :group-addons field, but that only exists for addons that have been grouped because there are more than one of them. - pretty serious bug. * core/install-addon, adds option to bypass ignore and pinned flags * core/remove-many-addons, now refuses to remove ignored addons * addon/remove-addon, just warns when ignored addon is being removed * cli/install-addons-from-file, now accepts a map of installation options * jfx/zip-file-picker, changed default behaviour when installing from file - ignored addons are now overwritten - pinned addons are now unpinned * github, improve asset classification when release.json not present (#437) * github-api, handle case where one unclassified asset can be classified as retail. * review feedback * updated constants for The War Within * updated constants for the release date of previous expansion * 7.5.0
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
:interface-version
:interface-version-list
required in specs:game-track
in source updates and changes of:-toc/game-track
to:-toc/game-track-list