Skip to content

Comment out / deprecate less#2982

Merged
bjagg merged 1 commit into
uPortal-Project:masterfrom
Naenyn:bugfix/deprecate-less
May 7, 2026
Merged

Comment out / deprecate less#2982
bjagg merged 1 commit into
uPortal-Project:masterfrom
Naenyn:bugfix/deprecate-less

Conversation

@Naenyn

@Naenyn Naenyn commented May 6, 2026

Copy link
Copy Markdown
Contributor

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.

@Naenyn Naenyn requested a review from bjagg May 6, 2026 23:28
@bjagg bjagg merged commit 7c10470 into uPortal-Project:master May 7, 2026
5 checks passed
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.
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.
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants