reuse project css less path folder hierarchy issue

Question

1580024800 - Internal Incident: Q2C/GM4: Issue in ‘Simulate sales pipeline’ app.

I ran into a bit of problem while implementing the fix, my local eclipse maven build will fail if I change library.source.less the way you suggested, cause base.less and global.less don’t exist there (…/…/…/…/sap/ui/core/themes/sap_bluecrystal/base.less, eclipse error message pasted below), I’m wondering if there’s any way the solution could work with both server side and local environment? Thanks again for your help.


Caused by: org.mozilla.javascript.JavaScriptException: Error importing file:

JavaException: java.io.IOException: File not found: sap/cus/crm/sap/ui/core/themes/sap_bluecrystal/base.less (less-api.js#146)


In order to illustrate my point, here’s a screenshot with remarks for your kindly information.

reuse project css less path folder hierarchy issue


Answer

the path in your error message looks not correct.

I think you need to add 3 additional occurrences of “…/” to navigate to the correct directory.


If your directory is:


sap/cus/crm/lib/reuse/themes/sap_bluecrystal


Your need to reference the base.less / global.less files via:



Then the path should be correctly resolved.

The same goes for your base theme which should reference the less files from sap/ui/core/themes/base/.


Question

it worked locally ! will it work on the server as well? Let me find it out J


// this works

@import “…/…/…/…/…/…/…/sap/ui/core/themes/base/base.less”;


// this does not work, find can’t be found cause there’s no sap_bluecrystal folder in the local core

@import “…/…/…/…/…/…/…/sap/ui/core/themes/sap_bluecrystal/base.less”;

reuse project css less path folder hierarchy issue


Answer

the core „sap_bluecrystal“ theme is part of the „themelib_sap_bluecrystal” artefact.

You need to add this dependency to your “pom.xml” file:

reuse project css less path folder hierarchy issue

<dependency>

<groupId>com.sap.ui5</groupId>

<artifactId>themelib_sap_bluecrystal</artifactId>

<version>{Same version as for your other dependencies, e.g. core}</version>

</dependency>


solution

为reuse lib inject了sap_bluecrystal them的dependency

reuse project css less path folder hierarchy issue


第三步,我们reuse的代码(src/sap/cus/crm/lib/reuse/themes/sap_bluecrystal/library.source.less)中,加入了sap_bluecrystal jar包里面base.less和global.less两个style的引用

reuse project css less path folder hierarchy issue

上一篇:我的mqtt协议和emqttd开源项目个人理解(23) - websocket客户端连接过程分析(Wireshark抓包+源码分析)


下一篇:观察者模式在SAP ui5修改theme实现中的应用