From d0ffb3fd00f50e8a7e54573008095c751751d201 Mon Sep 17 00:00:00 2001 From: Thiago Krieck Date: Mon, 10 Nov 2025 15:09:23 -0300 Subject: [PATCH 1/2] XWIKI-15026: Upgrade Font Awesome to 7.x * Switched the WebJar version to 7.0.1 * Added the new CSS file to upgrade transparently from older versions of FontAwesome (v4-shims.css) --- .../xwiki-platform-icon/xwiki-platform-icon-fontawesome/pom.xml | 2 +- .../src/main/resources/IconThemes/FontAwesome.xml | 2 +- .../xwiki-platform-webjars/xwiki-platform-webjars-api/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/pom.xml b/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/pom.xml index aa42dcd800e6..1522b17f8b03 100644 --- a/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/pom.xml +++ b/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/pom.xml @@ -59,7 +59,7 @@ org.webjars font-awesome - 4.7.0 + 7.0.1 runtime diff --git a/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/src/main/resources/IconThemes/FontAwesome.xml b/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/src/main/resources/IconThemes/FontAwesome.xml index b2d729716bb2..c4b109899bb9 100644 --- a/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/src/main/resources/IconThemes/FontAwesome.xml +++ b/xwiki-platform-core/xwiki-platform-icon/xwiki-platform-icon-fontawesome/src/main/resources/IconThemes/FontAwesome.xml @@ -38,7 +38,7 @@ true ## General settings xwiki.iconset.type = font -xwiki.iconset.css = $services.webjars.url('org.webjars:font-awesome', 'css/font-awesome.min.css') +xwiki.iconset.css = $services.webjars.url('org.webjars:font-awesome','css/all.css'),$services.webjars.url('org.webjars:font-awesome','css/v4-shims.css') xwiki.iconset.render.wiki = {{html clean="false"}}<span class="fa fa-$icon" aria-hidden="true"></span>{{/html}} xwiki.iconset.render.html = <span class="fa fa-$icon" aria-hidden="true"></span> xwiki.iconset.icon.cssClass = fa fa-$icon diff --git a/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/pom.xml b/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/pom.xml index c8f2c9235266..04a689bc90de 100644 --- a/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/pom.xml +++ b/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/pom.xml @@ -107,7 +107,7 @@ org.webjars font-awesome - 4.7.0 + 7.0.1 test From 6fe1c48ddde03d57406cbef5cf693e79a1d875ef Mon Sep 17 00:00:00 2001 From: Thiago Krieck Date: Tue, 11 Nov 2025 14:37:37 -0300 Subject: [PATCH 2/2] XWIKI-15026: Upgrade Font Awesome to 7.x * Changed tests and other references to FontAwesome 7.0.1 --- .../webapp/templates/documentTree_macros.vm | 2 +- ...systemResourceReferenceSerializerTest.java | 31 +++++++++---------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/xwiki-platform-core/xwiki-platform-index/xwiki-platform-index-tree/xwiki-platform-index-tree-war/src/main/webapp/templates/documentTree_macros.vm b/xwiki-platform-core/xwiki-platform-index/xwiki-platform-index-tree/xwiki-platform-index-tree-war/src/main/webapp/templates/documentTree_macros.vm index 8ab7e33f0ad5..78e078fbb941 100644 --- a/xwiki-platform-core/xwiki-platform-index/xwiki-platform-index-tree/xwiki-platform-index-tree-war/src/main/webapp/templates/documentTree_macros.vm +++ b/xwiki-platform-core/xwiki-platform-index/xwiki-platform-index-tree/xwiki-platform-index-tree-war/src/main/webapp/templates/documentTree_macros.vm @@ -106,7 +106,7 @@ ## used; the icon theme API is currently only able to render an icon but there's no way to get the icon configuration ## as jsTree expects it. The alternative is to use the HTML source to feed the tree but then the tree definition and ## configuration becomes complex. - #set ($discard = $xwiki.linkx.use($services.webjars.url('org.webjars:font-awesome', 'css/font-awesome.min.css'), { + #set ($discard = $xwiki.linkx.use($services.webjars.url('org.webjars:font-awesome', 'css/fontawesome.min.css'), { 'type': 'text/css', 'rel': 'stylesheet'})) #set ($_options = $macro.options) #tree($_options) diff --git a/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/src/test/java/org/xwiki/webjars/internal/FilesystemResourceReferenceSerializerTest.java b/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/src/test/java/org/xwiki/webjars/internal/FilesystemResourceReferenceSerializerTest.java index 93f5cefb6a2c..e8f08f668ace 100644 --- a/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/src/test/java/org/xwiki/webjars/internal/FilesystemResourceReferenceSerializerTest.java +++ b/xwiki-platform-core/xwiki-platform-webjars/xwiki-platform-webjars-api/src/test/java/org/xwiki/webjars/internal/FilesystemResourceReferenceSerializerTest.java @@ -71,14 +71,14 @@ public void serialize() throws Exception Mockito.when(exportContextProvider.get()).thenReturn(exportContext); WebJarsResourceReference reference = new WebJarsResourceReference("wiki:wiki", Arrays.asList( - "font-awesome", "4.7.0", "fonts/FontAwesome.otf")); + "font-awesome", "7.0.1", "fonts/fa-regular-400.woff2")); // Verify that the returned URL is ok - assertEquals("webjars/font-awesome/4.7.0/fonts/FontAwesome.otf", + assertEquals("webjars/font-awesome/7.0.1/fonts/fa-regular-400.woff2", this.mocker.getComponentUnderTest().serialize(reference).serialize()); // Also verify that the resource has been copied! - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/FontAwesome.otf").exists()); + assertTrue(new File(BASEDIR, "webjars/font-awesome/7.0.1/fonts/fa-regular-400.woff2").exists()); } @Test @@ -93,14 +93,14 @@ public void serializeWithCSSPathAdjustments() throws Exception Mockito.when(exportContextProvider.get()).thenReturn(exportContext); WebJarsResourceReference reference = new WebJarsResourceReference("wiki:wiki", Arrays.asList( - "font-awesome", "4.7.0", "fonts/FontAwesome.otf")); + "font-awesome", "7.0.1", "fonts/fa-regular-400.woff2")); // Verify that the returned URL is ok - assertEquals("../../../webjars/font-awesome/4.7.0/fonts/FontAwesome.otf", + assertEquals("../../../webjars/font-awesome/7.0.1/fonts/fa-regular-400.woff2", this.mocker.getComponentUnderTest().serialize(reference).serialize()); // Also verify that the resource has been copied! - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/FontAwesome.otf").exists()); + assertTrue(new File(BASEDIR, "webjars/font-awesome/7.0.1/fonts/fa-regular-400.woff2").exists()); } @Test @@ -115,14 +115,14 @@ public void serializeWithCSSPathAdjustmentsWithDocParentLevels() throws Exceptio Mockito.when(exportContextProvider.get()).thenReturn(exportContext); WebJarsResourceReference reference = new WebJarsResourceReference("wiki:wiki", Arrays.asList( - "font-awesome", "4.7.0", "fonts/FontAwesome.otf")); + "font-awesome", "7.0.1", "fonts/fa-regular-400.woff2")); // Verify that the returned URL is ok - assertEquals("../../webjars/font-awesome/4.7.0/fonts/FontAwesome.otf", + assertEquals("../../webjars/font-awesome/7.0.1/fonts/fa-regular-400.woff2", this.mocker.getComponentUnderTest().serialize(reference).serialize()); // Also verify that the resource has been copied! - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/FontAwesome.otf").exists()); + assertTrue(new File(BASEDIR, "webjars/font-awesome/7.0.1/fonts/fa-regular-400.woff2").exists()); } @Test @@ -136,18 +136,15 @@ public void serializeCSSResourceWithURLsInIt() throws Exception Mockito.when(exportContextProvider.get()).thenReturn(exportContext); WebJarsResourceReference reference = new WebJarsResourceReference("wiki:wiki", Arrays.asList( - "font-awesome", "4.7.0", "css/font-awesome.min.css")); + "font-awesome", "7.0.1", "css/font-awesome.min.css")); - assertEquals("webjars/font-awesome/4.7.0/css/font-awesome.min.css", + assertEquals("webjars/font-awesome/7.0.1/css/font-awesome.min.css", this.mocker.getComponentUnderTest().serialize(reference).serialize()); // Also verify that the resources haves been copied! - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/css/font-awesome.min.css").exists()); - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/fontawesome-webfont.eot").exists()); - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2").exists()); - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/fontawesome-webfont.woff").exists()); - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/fontawesome-webfont.svg").exists()); - assertTrue(new File(BASEDIR, "webjars/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf").exists()); + assertTrue(new File(BASEDIR, "webjars/font-awesome/7.0.1/css/fontawesome.min.css").exists()); + assertTrue(new File(BASEDIR, "webjars/font-awesome/7.0.1/fonts/v4-shims.css").exists()); + assertTrue(new File(BASEDIR, "webjars/font-awesome/7.0.1/fonts/fa-regular-400.woff2").exists()); } }