I have a CCS project with symlinked files. Importing into CCS Theia drops these, so I can't compile.
Is there a feature I am not seeing? Unlike CCS, files and folders have no "settings".
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I have a CCS project with symlinked files. Importing into CCS Theia drops these, so I can't compile.
Is there a feature I am not seeing? Unlike CCS, files and folders have no "settings".
Hello,
I assume you are on Linux host. I created a CCS project with symlinks in CCS 12.4.0. Then I imported the project into CCS Theia 1.1.0. There was no issue and the project compiled fine. You should be able to bring up file/folder properties by selecting the file/folder in the Explorer and selecting "Properties" in the context menu.
Assuming you are using Theia 1.1.0, can you provide the a test case regarding the symlink issue? I don't need your actual project, just any test case will do.
Thanks
ki
Oops, sorry about the lack of details. I am on MacOS, and this is a project initially created in CCS Eclipse, imported into Theia 1.1.0.
Right-clicking on a file in the file explorer shows the contextual menu, but selecting "Properties" gives me the project properties, rather than those of the file.
If you are unable to duplicate the right-click behaviour, I will create a small project you can check.
I am on MacOS, and this is a project initially created in CCS Eclipse, imported into Theia 1.1.0.
Thanks. I will try this on my macOS machine tonight.
Right-clicking on a file in the file explorer shows the contextual menu, but selecting "Properties" gives me the project properties, rather than those of the file.
Ah, yes, you are correct. I don't think we have file specific options supported yet in CCS Theia. I will need to confirm.
I can't seem to reproduce this on my macBook Air Ventura 13.5.1. I imported a project created by CCS Eclipse with linked files like you mentioned but they appear fine:
Note the little arrow icon indicating it as a link.
Here are replication steps from CCS Eclipse:
1. Create a TMP variable that references WORKSPACE_LOC (and create corresponding directory on the file system):
2. Add a file to your project that uses the TMP variable to link to the contents of a file in TMP (add corresponding test file on the file system):
3. Import project into CCS Theia.
4. Verify that the linked file is not created
I notice that in Theia, WORKSPACE_LOC is changed for a different location:
and this location doesn't contain the files created before. Theia doesn't find the referenced file, and fails to create the symlink.
It seems WORKSPACE_LOC (and other paths) in Theia are "special" and have to be in the ccs-server path, but these transformations don't account for the use case above.
Thanks, I will give the above a try when I have access to a mac environment again.
I notice that in Theia, WORKSPACE_LOC is changed for a different location:
This is the issue. Any CCS Eclipse project that had linked files relying on this variable will run into issues in CCS Theia. This is because the concept of workspaces changed in CCS Theia vs CCS Eclipse. It is a bit more complex (and confusing). In CCS Eclipse, there typically was one folder that had metadata and the project folders associated with it. In CCS Theia, it has (by default) been split up. The metadata is now stored in a special folder that CCS Theia's WORKSPACE_LOC variable points to. The project folder exist elsewhere (default location is the "workspace_ccstheia" folder in the home directory). Since TMP relies on a WORKSPACE_LOC variable that no longer points to the expected location, CCS Theia was unable to find the linked file.
Ideally, CCS Thiea should detect the use of WORKSPACE_LOC and assume that this is a CCS Eclipse project and substitute the variable with a new suitable one that reflects the original CCS Eclipse workspace location. I filed a bug of this. In the meantime, WORKSPACE_LOC should not be used.
Thanks
ki