Comment out / deprecate less#2982
Merged
Merged
Conversation
bjagg
approved these changes
May 7, 2026
bjagg
added a commit
to bjagg/uPortal-start
that referenced
this pull request
May 8, 2026
Problem: uPortal-Project/uPortal#2982 fixed a regression in common.less where an @import path no longer existed in the Bootstrap 5 webjar, breaking lessc compilation for any custom skin scaffolded by :overlays:uPortal:skinGenerate. Without an automated check, the next break of common/common.less only surfaces when a deployer runs tomcatDeploy in their own environment and notices missing CSS. Goal: pin the regression with a Playwright test that exercises the full scaffold-and-compile path (skinGenerate -> tomcatDeploy -> lessc) on every playwrightRun. Changes: - overlays/uPortal/build.gradle: new playwrightSkinFixture task that idempotently regenerates the playwrightSkin scaffold from etc/skin/ and ensures a <skin> entry exists in skinList.xml; scaffold-template drift is caught even when the skin files are committed, because the fixture overwrites them on every run - gradle/tasks/playwright.gradle: playwrightRun now depends on playwrightSkinFixture and :overlays:uPortal:tomcatDeploy; ordering enforced via prepareSkinResources.mustRunAfter( playwrightSkinFixture) inside gradle.projectsEvaluated to avoid eager cross-project configuration of :overlays:uPortal at root evaluation time - overlays/uPortal/src/main/webapp/media/skins/respondr/: commit the generated playwrightSkin.less, playwrightSkin/, and a skinList.xml entry so the skin-compile chain in overlays/uPortal/build.gradle (which evaluates the fileTree at configuration time) registers compileLess for our skin; the fixture overwrites these on every run - tests/ux/skin/custom-skin.spec.ts: assert /uPortal/media/skins/respondr/playwrightSkin.css returns 200, has >500 bytes, and contains a Bootstrap marker (--bs-, .btn, or @import bootstrap.css) — proves common.less's @import resolved. Pre-fix code fails compileLess0 before the spec runs; post-fix the spec passes Notes: scoped to compile-only coverage (Shape 1) rather than driving the dynamic-respondr-skin or stylesheet-descriptor default-skin switch path, since the PR #2982 regression is at lessc compile time. Activation testing is left for a follow-up if the dynamic skin path needs its own regression guard. Skin name "playwrightSkin" deliberately distinct from "test" so a developer can keep their own scaffold-named "test" skin alongside the fixture's.
4 tasks
bjagg
added a commit
to bjagg/uPortal-start
that referenced
this pull request
May 10, 2026
Problem: uPortal-Project/uPortal#2982 fixed a regression in common.less where an @import path no longer existed in the Bootstrap 5 webjar, breaking lessc compilation for any custom skin scaffolded by :overlays:uPortal:skinGenerate. Without an automated check, the next break of common/common.less only surfaces when a deployer runs tomcatDeploy in their own environment and notices missing CSS. Goal: pin the regression with a Playwright test that exercises the full scaffold-and-compile path (skinGenerate -> tomcatDeploy -> lessc) on every playwrightRun. Changes: - overlays/uPortal/build.gradle: new playwrightSkinFixture task that idempotently regenerates the playwrightSkin scaffold from etc/skin/ and ensures a <skin> entry exists in skinList.xml; scaffold-template drift is caught even when the skin files are committed, because the fixture overwrites them on every run - gradle/tasks/playwright.gradle: playwrightRun now depends on playwrightSkinFixture and :overlays:uPortal:tomcatDeploy; ordering enforced via prepareSkinResources.mustRunAfter( playwrightSkinFixture) inside gradle.projectsEvaluated to avoid eager cross-project configuration of :overlays:uPortal at root evaluation time - overlays/uPortal/src/main/webapp/media/skins/respondr/: commit the generated playwrightSkin.less, playwrightSkin/, and a skinList.xml entry so the skin-compile chain in overlays/uPortal/build.gradle (which evaluates the fileTree at configuration time) registers compileLess for our skin; the fixture overwrites these on every run - tests/ux/skin/custom-skin.spec.ts: assert /uPortal/media/skins/respondr/playwrightSkin.css returns 200, has >500 bytes, and contains a Bootstrap marker (--bs-, .btn, or @import bootstrap.css) — proves common.less's @import resolved. Pre-fix code fails compileLess0 before the spec runs; post-fix the spec passes Notes: scoped to compile-only coverage (Shape 1) rather than driving the dynamic-respondr-skin or stylesheet-descriptor default-skin switch path, since the PR #2982 regression is at lessc compile time. Activation testing is left for a follow-up if the dynamic skin path needs its own regression guard. Skin name "playwrightSkin" deliberately distinct from "test" so a developer can keep their own scaffold-named "test" skin alongside the fixture's.
4 tasks
bjagg
added a commit
to bjagg/uPortal-start
that referenced
this pull request
May 12, 2026
Problem: uPortal-Project/uPortal#2982 fixed a regression in common.less where an @import path no longer existed in the Bootstrap 5 webjar, breaking lessc compilation for any custom skin scaffolded by :overlays:uPortal:skinGenerate. Without an automated check, the next break of common/common.less only surfaces when a deployer runs tomcatDeploy in their own environment and notices missing CSS. Goal: pin the regression with a Playwright test that exercises the full scaffold-and-compile path (skinGenerate -> tomcatDeploy -> lessc) on every playwrightRun. Changes: - overlays/uPortal/build.gradle: new playwrightSkinFixture task that idempotently regenerates the playwrightSkin scaffold from etc/skin/ and ensures a <skin> entry exists in skinList.xml; scaffold-template drift is caught even when the skin files are committed, because the fixture overwrites them on every run - gradle/tasks/playwright.gradle: playwrightRun now depends on playwrightSkinFixture and :overlays:uPortal:tomcatDeploy; ordering enforced via prepareSkinResources.mustRunAfter( playwrightSkinFixture) inside gradle.projectsEvaluated to avoid eager cross-project configuration of :overlays:uPortal at root evaluation time - overlays/uPortal/src/main/webapp/media/skins/respondr/: commit the generated playwrightSkin.less, playwrightSkin/, and a skinList.xml entry so the skin-compile chain in overlays/uPortal/build.gradle (which evaluates the fileTree at configuration time) registers compileLess for our skin; the fixture overwrites these on every run - tests/ux/skin/custom-skin.spec.ts: assert /uPortal/media/skins/respondr/playwrightSkin.css returns 200, has >500 bytes, and contains a Bootstrap marker (--bs-, .btn, or @import bootstrap.css) — proves common.less's @import resolved. Pre-fix code fails compileLess0 before the spec runs; post-fix the spec passes Notes: scoped to compile-only coverage (Shape 1) rather than driving the dynamic-respondr-skin or stylesheet-descriptor default-skin switch path, since the PR #2982 regression is at lessc compile time. Activation testing is left for a follow-up if the dynamic skin path needs its own regression guard. Skin name "playwrightSkin" deliberately distinct from "test" so a developer can keep their own scaffold-named "test" skin alongside the fixture's.
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.
This is a quick fix to common.less with comments indicating that less support has been removed due to the Bootstrap 5 upgrade.
Optionally, I believe we could also just remove this file, but keeping it for now in the event there are references to it.