Repository navigation
fix: licence guard for the wheels: fail on ApexCharts, ship Studio from 26.11.1 (ECharts) - #20
Merged
tae898 merged 3 commits intoOct 24, 2026
Conversation
…ApexCharts (not open source since 5.1.0) Studio bundles ApexCharts, which left MIT after 5.0.0, and this package is Apache-2.0. arcadedb-studio-*.jar joins scripts/jar_exclusions.txt. scripts/verify_wheel_no_studio.py fails a wheel that contains a Studio jar, an ApexCharts file or a jar that carries one; build.sh runs it after the size check. test_server_packaging.py no longer requires the Studio jar and asserts that it and every ApexCharts file are absent. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Collaborator
Author
|
The failing "Test Python Examples (darwin/arm64, Python 3.10)" job stopped before any example ran: uv could not reach PyPI ( |
This was referenced Oct 23, 2026
Collaborator
Author
|
@robfrank this one changes what the wheels contain: Studio is left out until Studio moves off ApexCharts (ArcadeData/arcadedb#10627), so |
This was referenced Oct 24, 2026
The only conflict was scripts/jar_exclusions.txt. Main's #28 took jackson, snappy-java and commons-math3 off the list (server mode needs them) and added the NOT-excluded note; this branch adds arcadedb-studio-*.jar with its licence note. Kept both: the Studio exclusion and its comment, main's tracing/jline entries, and main's note. jackson, snappy-java and commons-math3 stay shipped. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ArcadeData/arcadedb#10627 replaced ApexCharts (not open source since 5.1.0) with Apache ECharts in Studio, first in engine 26.11.1, and this repository's first release is built from that engine. Leaving the Studio jar out of the wheels is no longer needed. - scripts/jar_exclusions.txt: drop `arcadedb-studio-*.jar`. - scripts/verify_wheel_no_studio.py becomes scripts/verify_wheel_licences.py: it fails a wheel with an ApexCharts file (in the wheel or inside any jar, so a Studio jar from an older engine is caught) and passes a Studio that carries ECharts. New products that are not open source go in its NON_OPEN_SOURCE table. scripts/build.sh runs it after the size check. - tests/test_wheel_no_studio.py becomes tests/test_wheel_licences.py: fake wheels with an echarts Studio (pass) and with apexcharts files (fail). - tests/test_server_packaging.py: Studio is a required jar again; test_no_apexcharts_in_the_package checks what pip installed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or 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
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.
Fixes #17.
Studio ships in the wheels again from 26.11.1. It bundled ApexCharts, which has not been open source since 5.1.0 (ArcadeData/arcadedb#10579), and these wheels are Apache-2.0. ArcadeData/arcadedb#10627 replaced ApexCharts with Apache ECharts and was merged on 2026-10-23, so Studio is clean from engine 26.11.1 on. Studio in 26.10.x still bundles ApexCharts. The first release from this repository is 26.11.1 and CI builds from
arcadedata/arcadedb:latest, which has ECharts. This PR therefore does not leave the Studio jar out. It turns the check into a licence guard, so a wheel built from an older engine cannot ship.scripts/jar_exclusions.txt: noarcadedb-studio-*.jarline. A note in the "NOT excluded, on purpose" block says why.scripts/verify_wheel_licences.py(wasverify_wheel_no_studio.py): fails a wheel that contains an ApexCharts file, in the wheel or inside any jar, so a Studio jar from an older engine, a shaded copy or a renamed jar is caught. A wheel whose Studio carries ECharts passes. Products that are not open source are rows in aNON_OPEN_SOURCEtable, so a new case is one line.scripts/build.shruns it after the size check.tests/test_wheel_licences.py(wastest_wheel_no_studio.py): tiny fake wheels, no real wheel needed. A Studio jar withecharts.min.jspasses. Anapexchartsfile in the wheel, a Studio 26.10.2 jar that carries it, a renamed jar that carries it and a jar that is not a zip all fail.tests/test_server_packaging.py: unchanged frommainexcept for a newtest_no_apexcharts_in_the_package, which checks the installed package. Studio stays a required jar.Ported from humemai/arcadedb-embedded-python 12e8359f34 and then turned around for 26.11.1.
Checked on the laptop, pinned to cores 0-3:
tests/test_wheel_licences.pyhas 9 passed. Run on a real wheel built from the 26.11.1-SNAPSHOT image of 2026-10-21 (before #10627 merged),verify_wheel_licences.pyexits 1 and namesstatic/dist/css/apexcharts.cssinsidearcadedb-studio-26.11.1-SNAPSHOT.jar, andtest_no_apexcharts_in_the_packagefails on the same wheel as it should. I did not build a wheel from a jar that has ECharts: the ECharts case is covered by the fake wheel only, and CI will exercise it on the first build fromarcadedata/arcadedb:latest. black is clean.🤖 Generated with Claude Code