TotalCross / totalcross

TotalCross is a Software Development Kit that helps cross platform application development. Currently supported platforms are: Windows, Wince, Android, iOS, Linux and Linux ARM for embedded systems.
https://www.totalcross.com
GNU Lesser General Public License v2.1
222 stars 40 forks source link

Android and win32 build fails on Totalcross 7.1.0 using Linux as build platform due to file casing #356

Open martingwerder opened 3 years ago

martingwerder commented 3 years ago

Describe the bug

Android/Win32 build process fails on linux due to missmatching file name casing for .local/share/TotalCross/7.1.0/dist/vm/win32/TCVM.dll and .local/share/TotalCross/7.1.0/etc/tools/android/resources_singleApk.arsc

Workaround

Rename the files to match calling in the code:

mv  .local/share/TotalCross/7.1.0/etc/tools/android/resources_singleapk.arsc  .local/share/TotalCross/7.1.0/etc/tools/android/resources_singleApk.arsc
mv .local/share/TotalCross/7.1.0/dist/vm/win32/tcvm.dll .local/share/TotalCross/7.1.0/dist/vm/win32/TCVM.dll

Devices:

This issue only Affects Android and win32 build on Linux.

To Reproduce

Build win32 and Android projects on a Linux machine using the maven plugin.

Screenshots or videos

The following error messages were shown during the build:

File /var/jenkins_home/workspace/cysec-flatifier_development/target/ToolboxUi.tcz written (53% - 492877 bytes)
Main class name: com/geiger/toolbox/ToolboxUi
Application title not provided, using: ToolboxUi
Application id: CGTB
Application version: 1.0.0
Android application folder: /data/data/totalcross.appcgtb
Could not find 'google-services.json', thus Firebase will be ignored further on (Android deploy)
... Files written to folder /var/jenkins_home/workspace/cysec-flatifier_development/target/install/android/
################################# FATAL ERROR ##################################
java.io.FileNotFoundException: Source '/var/jenkins_home/.local/share/TotalCross/7.1.0/dist/vm/win32/TCVM.dll' does not exist
    at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1004)
    at org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:943)
    at org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:907)
    at tc.tools.deployer.Deployer4Win32.<init>(Deployer4Win32.java:99)
    at tc.Deploy.<init>(Deploy.java:102)
    at tc.Deploy.main(Deploy.java:38)
################################################################################
Exception in thread "main" java.io.FileNotFoundException: Source '/var/jenkins_home/.local/share/TotalCross/7.1.0/dist/vm/win32/TCVM.dll' does not exist
    at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1004)
    at org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:943)
    at org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:907)
    at tc.tools.deployer.Deployer4Win32.<init>(Deployer4Win32.java:99)
    at tc.Deploy.<init>(Deploy.java:102)
    at tc.Deploy.main(Deploy.java:38)

and

Adding fonts/Nunito-Bold.ttf... 45%
Adding fonts/Nunito-Regular.ttf... 45%
File /var/jenkins_home/workspace/cysec-flatifier_development/target/ToolboxUi.tcz written (53% - 492877 bytes)
Main class name: com/geiger/toolbox/ToolboxUi
Application title not provided, using: ToolboxUi
Application id: CGTB
Application version: 1.0.0
Android application folder: /data/data/totalcross.appcgtb
################################# FATAL ERROR ##################################
totalcross.io.FileNotFoundException: File not found: /var/jenkins_home/.local/share/TotalCross/7.1.0/etc/tools/android/resources_singleApk.arsc
    at totalcross.io.File.create(File.java:257)
    at totalcross.io.File.<init>(File.java:192)
    at totalcross.io.File.<init>(File.java:209)
    at tc.tools.deployer.Utils.loadFile(Utils.java:465)
    at tc.tools.deployer.Deployer4Android.insertResources_arsc(Deployer4Android.java:636)
    at tc.tools.deployer.Deployer4Android.updateResources(Deployer4Android.java:250)
    at tc.tools.deployer.Deployer4Android.<init>(Deployer4Android.java:146)
    at tc.Deploy.<init>(Deploy.java:94)
    at tc.Deploy.main(Deploy.java:38)
################################################################################
Exception in thread "main" totalcross.io.FileNotFoundException: File not found: /var/jenkins_home/.local/share/TotalCross/7.1.0/etc/tools/android/resources_singleApk.arsc
    at totalcross.io.File.create(File.java:257)
    at totalcross.io.File.<init>(File.java:192)
    at totalcross.io.File.<init>(File.java:209)
    at tc.tools.deployer.Utils.loadFile(Utils.java:465)
    at tc.tools.deployer.Deployer4Android.insertResources_arsc(Deployer4Android.java:636)
    at tc.tools.deployer.Deployer4Android.updateResources(Deployer4Android.java:250)
    at tc.tools.deployer.Deployer4Android.<init>(Deployer4Android.java:146)
    at tc.Deploy.<init>(Deploy.java:94)
    at tc.Deploy.main(Deploy.java:38)