Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-17164] LiveView: Error on rebuild - "Invalid Titanium project path (no tiapp.xml)"

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2014-08-28T14:34:15.000+0000
Affected Version/sRelease 3.3.0
Fix Version/sRelease 3.4.0
ComponentsLiveView
Labelsmodule_liveview, qe-closed-3.4.0, qe-manualtest, triage
ReporterAlan Leard
AssigneePraveen Innamuri
Created2014-06-16T19:45:14.000+0000
Updated2014-09-03T18:05:55.000+0000

Description

Description

Live View breaks with RC build with the following error:
[ERROR] Invalid Titanium project path (no tiapp.xml) at "/Users/aleard/Downloads/Appcelerator_Studio/AppceleratorStudio.app/Contents/MacOS"

Repro Steps

1. Build attached app with Live View enabled 2. Make a change to any file and save it 3. App will not reload and error appears

Attachments

FileDateSize
Test.zip2014-06-16T19:45:14.000+00005925163

Comments

  1. Samuel Dowse 2014-06-26

    Unable to reproduce issue on: Mac OSX 10.9.3 Windows 8.1 Appcelerator Studio, build: 3.3.0.201406231625 Titanium SDK, build: 3.3.0.v20140626115712 Titanium CLI, build: 3.3.0-rc3 Alloy: 1.4.0-rc2 LiveView: 1.0.4 Attached alloy project successfully updates with LiveView changes. No tiapp.xml error is thrown.
  2. Praveen Innamuri 2014-06-28

    [~aleard] I'm unable to reproduce the issue while trying to run the app on iOS simulator and Android device. Are you running the app on android/ios simulator/device ?
  3. Praveen Innamuri 2014-06-28

    Here is my environment : Titanium CLI : 3.3.0-rc3 Alloy : 1.4.0-rc3 Studio : 3.3.0.201406271159
  4. Praveen Innamuri 2014-07-03

    I have validated that this issue exists only in 3.3.1 and 3.4.x builds. We have addressed an issue (in 3.3.1) with respect to UNC path and does not pass in the working directory to the build command. However, Alloy expects the working directory to be set when it is forced to recompile by liveview. comple/index.js file (at line 48) invokes getAndValidateProjectPaths() method with one of a valid arguments. However, since the working directory is not set with the project directory, it picks up the working directory of the process (which is happened to be Studio base directory). [~skypanther] Do you think that Alloy should consider the project path directory here, instead of falling back to process current directory ?
  5. Tim Poulsen 2014-07-07

    [~pinnamuri] The statement you reference accepts one of three paths: program.outputPath || args[0] || process.cwd() . The first of those comes from the CLI (e.g. ti build ... when it spawns the compile process and represents the project-dir as defined by the CLI. The remaining two look to the current path and would come into play when alloy compile is called directly. Where would Alloy get this project path if it's not passed to it or extracted from the process environment?
  6. Praveen Innamuri 2014-08-22

    https://github.com/appcelerator/liveview/pull/81 To verify the changes :

    Copy the liveview changes into the Appcelerator Studio installation (/plugins/com.appcelerator.titanium.liveview.core_1.1.0.1408413634/node_modules/liveview/)

    Run a Alloy app onto iOS simulator with liveview enabled.

    After the app is run in simulator, make a few changes to the Alloy app. Make sure the changes are reflected in simulator/device.

  7. Priya Agarwal 2014-08-26

    Verified the issue: Appcelerator Studio: 3.4.0.201408251831 Sdk:3.4.0.v20140825141714 alloy:1.5.0-dev titanium:3.4.0-dev titanium-code-processor:1.1.1 acs:1.0.16 npm:1.3.2 OS:Maverick(10.9.4) xcode: Xcode6Beta5 Device:iPhone5c(v7.1.2) LiveView working fine.Reloading changes without error on both alloy and classic project. After the fix we have new Appcelerator Studio build(3.4.0.201408251831) in which above mentioned git changes already exist in the file (Appcelerator_Studio/plugins /com.appcelerator.titanium.liveview.core_1.1.0.1409014742/node_modules/liveview/lib/fserver.js)
  8. Jason Kneen 2014-08-27

    This is still an issue if the Workspace path has spaces :- [ERROR] Titanium project path does not exist at "/Users/jkneen/Documents/Code/Titanium". My Workspace is in the old format, without _ between the words.
  9. Praveen Innamuri 2014-08-28

    [~jkneen] Thanks for testing the fix and reporting the issue.
  10. Tim Poulsen 2014-08-28

    Works as described. PR merged
  11. Ewan Harris 2014-09-02

    Verified fix on: Mac OSX 10.9.4 Appcelerator Studio, build: 3.4.0.201408291834 Titanium SDK build: 3.4.0.v20140829184521 Titanium CLI, build: 3.4.0-dev Alloy: 1.5.0-dev Created a new Alloy project that contained a space in the project name and built to iOS device, made changes to the code and saved. The changes were reflected by the simulator. Closing ticket.

JSON Source