Bug? b4xlibs using b4xlibs with Files in Release mode

alwaysbusy

Expert
Licensed User
Longtime User
It looks like resources in the Files folder from a sub-b4xlib (a b4xlib that is used in another b4xlib, using B4J.DependsOn) are not decompressed in Release mode and hence not found by the compiler.

Situation:

1. helper.b4xlib
code.bas
manifest.txt*
Files
---> helper.js

* content of manifest.txt
Version=1.01

2. css.b4xlib
code.bas
manifest.txt*
Files
---> css.js

* content of manifest.txt
Version=1.01
B4J.DependsOn=helper

3. DemoApp
Referenced libraries: only css.b4xlib

When compiling the Demo App in Debug mode, no problems.

When compiling the Demo App in Release mode, the b4xlibs/Files subfolder only contains css.js, NOT helper.js and the compiler shows something like this:

B4X:
B4J Version: 7.80
Java Version: 9
Parsing code.    (0.06s)
Building folders structure.    (0.34s)
Compiling code.    (0.11s)
Compiling layouts code.    (0.01s)
Organizing libraries.    (0.00s)
Compiling generated Java code.    (2.88s)
Building jar file.    Error
System.IO.FileNotFoundException: Could not find file 'K:\BANano3.09\Demo\Objects\b4xlibs\Files/helper.js'.
File name: 'K:\BANano3.09\Demo\Objects\b4xlibs\Files/helper.js'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileInfo.get_Length()
   at fg.a(ec A_0, Dictionary`2 A_1, Tuple`2[] A_2)
   at er.a.ag()
 
Last edited:

alwaysbusy

Expert
Licensed User
Longtime User
Does it work if you reference the 'helper' library from DemoApp?
Yes, but I thought the whole point of B4J.DependsOn was that you, as a user of a library, didn't had to worry about other libraries the referenced library used. And I found it weird I did not get the above error in debug mode, only in released mode.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…