Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xlf files don't update in dev containers #16311

Closed
Martin521 opened this issue Nov 20, 2023 · 4 comments
Closed

Xlf files don't update in dev containers #16311

Martin521 opened this issue Nov 20, 2023 · 4 comments

Comments

@Martin521
Copy link
Contributor

Repro steps

If you open this repository in VS Code Dev Containers, change FSComp.txt and build FSharp.Compiler.Service, the xlf files are not updated as they should. If you try and run dotnet build src/Compiler /t:UpdateXls manually, you get an error message
/workspaces/fsharp/src/Compiler/FSharp.Compiler.Service.fsproj : error MSB4057: The target "UpdateXlf" does not exist in the project., while the same command seems to be working well on Windows. I don't know the behavior in other Linux environments.

Related information

My tests were on Windows11/WSL2 with Docker, VS Code with Ionide 7.16.1 and Dev Containers 0.321.0, and the current FSharp repo.

I have traced this to the line
<Import Project="CoordinateXlif.targets" Condition = " '$(FSharpBuildAssemblyFile)' != '' and '$(XliffTasksAssembly)' != '' "/> in Directory.Build.targets. It seems XliffTasksAssembly is empty and therefore the targets are not imported. I am happy to debug this further, but as my My MsBuild and SDK knowledge is limited, I need some help, for example

  • Where is XliffTasksAssembly set in a Windows environment?
  • How is the behaviour in a native Linux environment?
@github-actions github-actions bot added this to the Backlog milestone Nov 20, 2023
@vzarytovskii
Copy link
Member

Works for me on macOS, so definitely not a "non-windows" issue.

@vzarytovskii
Copy link
Member

vzarytovskii commented Nov 20, 2023

dotnet build src/Compiler/ /p:EnableXlfLocalization=true /t:UpdateXlf might be a workaround. Should probably add one more condition (building_using_dotnet one) to FSharpBuild.Directory.Build.props. Or just set it to true when we do BUILDING_USING_FSHARP in the Directory.Build.props file. We rarely want to not update those.

@Martin521
Copy link
Contributor Author

dotnet build src/Compiler/ /p:EnableXlfLocalization=true /t:UpdateXlf might be a workaround.

That doesn't work either

@vzarytovskii
Copy link
Member

dotnet build src/Compiler/ /p:EnableXlfLocalization=true /t:UpdateXlf might be a workaround.

That doesn't work either

Right, I used the wrong terminal (macOS). Not sure what issue might be. My suspicion is that it could be that environment is clean in devcontainer, and xliff tasks package is not getting installed by arcade and discovered by msbuild and not getting loaded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants