flexn-io/renative

WebOS issues under MacOS

TetrisSQC opened this issue · 9 comments

Hi, i am not sure if it is a bug or a question, but I was unable to compile a webos project. Every time I tried to build it failed that ares is not found. First the folder + "/CLI/bin/ares-package" was complained because the folder did not existed. It does but under "cli/bin/". Linux and Mac OS are case sensitive. The next issues was that area-packages was still missing, so I hat to fix the following code to solve that mystery:

c.cli[constants_1.CLI_WEBOS_ARES] = (0, fileutils_1.getRealPath)(c, path_1.default.join(sdk, "ares.js".concat(utils_1.isSystemWin ? '.cmd' : '')));
c.cli[constants_1.CLI_WEBOS_ARES_PACKAGE] = (0, fileutils_1.getRealPath)(c, path_1.default.join(sdk, "ares-package.js".concat(utils_1.isSystemWin ? '.cmd' : '')));
c.cli[constants_1.CLI_WEBOS_ARES_INSTALL] = (0, fileutils_1.getRealPath)(c, path_1.default.join(sdk, "ares-install.js".concat(utils_1.isSystemWin ? '.cmd' : '')));
c.cli[constants_1.CLI_WEBOS_ARES_LAUNCH] = (0, fileutils_1.getRealPath)(c, path_1.default.join(sdk, "ares-launch.js".concat(utils_1.isSystemWin ? '.cmd' : '')));
c.cli[constants_1.CLI_WEBOS_ARES_SETUP_DEVICE] = (0, fileutils_1.getRealPath)(c, path_1.default.join(sdk, "ares-setup-device.js".concat(utils_1.isSystemWin ? '.cmd' : '')));
c.cli[constants_1.CLI_WEBOS_ARES_DEVICE_INFO] = (0, fileutils_1.getRealPath)(c, path_1.default.join(sdk, "ares-device-info.js".concat(utils_1.isSystemWin ? '.cmd' : '')));
c.cli[constants_1.CLI_WEBOS_ARES_NOVACOM] = (0, fileutils_1.getRealPath)(c, path_1.default.join(sdk, "ares-novacom.js".concat(utils_1.isSystemWin ? '.cmd' : '')));

Just in case somebody else struggles over this problem.

@TetrisSQC thanks for adding this ticket

  1. What was the version you used?
  2. Did you provide correct path to your sdk at ~/.rnv/renative.json. For example I have it configured like below for webos
{
  "sdks": {
    "WEBOS_SDK": "/opt/webOS_TV_SDK",
  }
  1. If yes, then please add cli error you got, thanks

Hi, thanks for your response.

  1. I use 0.37.4 for renative and ares is 3.3.1.
  2. yes of course I did, but it complained that the CLI/bin folder is not existing which was correct, since ares uses cli in lowercase. I then decided to put the cli/bin to the WEBOS_SDK folder in the renative.json and removed it in the code above, which seem to be more flexible.
  3. The message was [ error ] [build] Location of your cli [folder]+/CLI/bin/ares-package does not exists. check your .rnv/renative.json file if your sdks paths are correct till I fixed that.

@TetrisSQC please use latest which is 1.x.x currently

@TetrisSQC if you reproduce same bug on 1.x.x please let us know

Hi, what I did is to create a new ubuntu vm to build the project.

The output is
npx rnv run --hosted

┌─────────────────────────────────────────────────────────────────┐
│ ██████╗ ███████╗███╗ ██╗ █████╗ ████████╗██╗██╗ ██╗███████╗ │
│ ██╔══██╗██╔════╝████╗ ██║██╔══██╗╚══██╔══╝██║██║ ██║██╔════╝ │
│ ██████╔╝█████╗ ██╔██╗ ██║███████║ ██║ ██║██║ ██║█████╗ │
│ ██╔══██╗██╔══╝ ██║╚██╗██║██╔══██║ ██║ ██║╚██╗ ██╔╝██╔══╝ │
│ ██║ ██║███████╗██║ ╚████║██║ ██║ ██║ ██║ ╚████╔╝ ███████╗ │
│ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝ │
│ $ npx rnv run --hosted │
└─────────────────────────────────────────────────────────────────┘
? Pick a platform for task: "rnv run" webos
info: Current platform: webos
info: Current engine: @rnv/engine-rn-web (./node_modules/@rnv/engine-rn-web)
task: ○ run ↺1
info: Current platform: webos
task: ○ configure ↺1
task: ○ platform configure ↺1
task: ○ project configure ↺1
task: ○ workspace configure ↺1
task: ✔ workspace configure
task: ○ app configure ↺1
info: Current app config: tvapp
task: ✔ app configure
task: ✔ project configure
info: Current Build Scheme: debug
info: Current platform: webos
task: ○ sdk configure ↺1
error: ⨯ ○ platform configure: Error: No Webos SDK found. Check if it is installed.
at /home/parallels/Documents/Renative/node_modules/@rnv/sdk-webos/src/installer.ts:44:15
at step (/home/parallels/Documents/Renative/node_modules/tslib/tslib.js:195:27)
at Object.next (/home/parallels/Documents/Renative/node_modules/tslib/tslib.js:176:57)
at fulfilled (/home/parallels/Documents/Renative/node_modules/tslib/tslib.js:166:62)

My guess is that this fails:
if (sdk && clipathNewVersion && (0, core_1.fsExistsSync)(clipathNewVersion + '/ares'))

the reason in my case Is sdk is undefined, but clipathNewVersion is correct.

@TetrisSQC thanks for the log, but does it also happen on 1.x.x version?

Yes, this is version 1.0.0 I am using. I assume (I did not parsed the complete code) it tries to check if the renative.json has a webos sdk parameter. In my case this json is: {
"defaultTargets": {}
}
by default.

@TetrisSQC
Hello, thanks for reporting it.
The problem is that you need to set sdk in ~/.rnv/renative.json. It has to be existing path to old version cli and/or simulator folder:

{
  "sdks": {
    "WEBOS_SDK": "/Users/mariuszilguzis/webOS_TV_SDK"
  }
}
Screenshot 2024-09-05 at 09 28 12

I see that you use new npm version of cli. So instead set path to folder where is your webos simulators.