Open ghost opened 1 year ago
Hi @hardhub - are you running the latest version of h5 (and have the release version of net7.0 sdk installed)?
I have used SDK provided by VS 17.4.1 (it is latest on the moment)
dotnet --version
7.0.100
Log:
Rebuild started...
1>------ Rebuild All started: Project: ProjectH5, Configuration: Debug Any CPU ------
Restored D:\Projects\Tests\ProjectH5\ProjectH5\ProjectH5.csproj (in 4 ms).
1>Deleting previous assembly: D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\ProjectH5.dll
1>'h5' is not recognized as an internal or external command,
1>operable program or batch file.
1>C:\Users\hardhub\.nuget\packages\h5.target\0.0.34005\Sdk\Sdk.targets(461,5): warning MSB3073: The command "h5 check-if-online" exited with code 9009.
1>Cannot find a tool in the manifest file that has a command named 'h5'.
1>C:\Users\hardhub\.nuget\packages\h5.target\0.0.34005\Sdk\Sdk.targets(470,5): warning MSB3073: The command "dotnet tool run h5 check-if-online" exited with code 1.
1>Running _ComputeUserRuntimeAssemblies
1>No output assembly found, will build.
1>Writing project runtime config file D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\ProjectH5.runtimeconfig.json
1>ProjectH5 ->
1>Installing (or updating) the h5 compiler.
1>You can invoke the tool using the following command: h5
1>Tool 'h5-compiler' (version '0.0.34002') was successfully installed.
1>Deleting previous assembly: D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\ProjectH5.dll
1>H5 compilation begins now...
1>
1>
1>
1> 5555555555555555555555555555555555555555
1> 5555555555555555555hhhhhhhhhhhhhhhh5555
1> 555 55555555555hh h5555
1> 555 55555555555hh h555
1> 555 55555555555hh hhhhhhhhh555
1> 55 55555555555hh hhhhhhhhh555
1> 555 5555555555hh hhhhhhhh5555
1> 555 5hh h5555
1> 555 5hh h555
1> 555 5555 5hhhhhhhh h555
1> 555 5555 5hhhhhhhh h555
1> 555 555 5hhhhhhhh h5555
1> 555 555 5hh h555
1> 5555555 555 5hh hhhh555
1> 5555555555555555hhhhhhhhhhhhhh555
1> 5555555555555555hhhhhhh5555555555
1> 55555555555555555555
1> 5555555555555555
1>
1>
1>[info] [14:06:28] Executing h5 compiler with arguments: '--project D:\Projects\Tests\ProjectH5\ProjectH5\ProjectH5.csproj --configuration Debug --assembly-version 1.0.0.0'
1>[info] [14:06:29] Compilation server not online, will start it in the background
1>
1>
1>[info] [14:06:33] Found compilation server, sending compilation request
1>
1>
1>[info] [14:06:33] Setting working directory to 'D:\Projects\Tests\ProjectH5\ProjectH5'
1>[info] [14:06:33] [B] H5 Compilation
1>[info] [14:06:33] H5 config file is not found. Returning default config
1>[info] [14:06:34] Ready to build D:\Projects\Tests\ProjectH5\ProjectH5\ProjectH5.csproj
1>[info] [14:06:34] [B] Translating assembly
1>[info] [14:06:34] Building assembly on path D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\ProjectH5.dll
1>[info] [14:06:34] [B] Building assembly 'ProjectH5' for location 'D:\Projects\Tests\ProjectH5\ProjectH5\ProjectH5.csproj'
1>[info] [14:06:34] NuGet: Importing package Tesserae version 0.0.14660
1>[info] [14:06:34] NuGet: Importing package h5.Newtonsoft.Json version 0.0.13835
1>[info] [14:06:34] NuGet: Importing package h5.core version 0.0.13833
1>[info] [14:06:34] NuGet: Importing package h5 version 0.0.13619
1>[info] [14:06:34] NuGet: Copying lib file 'C:\Users\hardhub\.nuget\packages\Tesserae\0.0.14660\lib\netstandard2.0\tss.dll' to 'D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\tss.dll'
1>[info] [14:06:34] NuGet: Copying lib file 'C:\Users\hardhub\.nuget\packages\h5.Newtonsoft.Json\0.0.13835\lib\netstandard2.0\H5.Newtonsoft.Json.dll' to 'D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\H5.Newtonsoft.Json.dll'
1>[info] [14:06:34] NuGet: Copying lib file 'C:\Users\hardhub\.nuget\packages\h5.core\0.0.13833\lib\netstandard2.0\H5.Core.dll' to 'D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\H5.Core.dll'
1>[info] [14:06:34] NuGet: Copying lib file 'C:\Users\hardhub\.nuget\packages\h5\0.0.13619\lib\netstandard2.0\H5.dll' to 'D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\H5.dll'
1>[info] [14:06:34] Loading references from assembly C:\Users\hardhub\.nuget\packages\Tesserae\0.0.14660\lib\netstandard2.0\tss.dll
1>[info] [14:06:34] Loading references from assembly C:\Users\hardhub\.nuget\packages\h5.Newtonsoft.Json\0.0.13835\lib\netstandard2.0\H5.Newtonsoft.Json.dll
1>[info] [14:06:34] Loading references from assembly C:\Users\hardhub\.nuget\packages\h5.core\0.0.13833\lib\netstandard2.0\H5.Core.dll
1>[info] [14:06:34] Loading references from assembly C:\Users\hardhub\.nuget\packages\h5\0.0.13619\lib\netstandard2.0\H5.dll
1>[info] [14:06:34] [B] Compiling D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\ProjectH5.dll with Roslyn
1>[info] [14:06:35] [E] Compiling D:\Projects\Tests\ProjectH5\ProjectH5\bin\Debug\netstandard2.0\ProjectH5.dll with Roslyn in 1.0100 seconds
1>[info] [14:06:35] [E] Building assembly 'ProjectH5' for location 'D:\Projects\Tests\ProjectH5\ProjectH5\ProjectH5.csproj' in 1.2700 seconds
1>[info] [14:06:35] [B] Inspecting references
1>[info] [14:06:35] [E] Inspecting references in 0.0700 seconds
1>[info] [14:06:35] Running compiler version 0.0.34002:
1>[info] [14:06:35] [B] Rewritting code
1>[info] [14:06:36] [E] Rewritting code in 0.3351 seconds at 6 oper/s, total of 2 operations
1>[info] [14:06:36] [B] Building syntax tree
1>[info] [14:06:36] [E] Building syntax tree in 0.1651 seconds
1>[info] [14:06:36] [E] Translating assembly in 1.8600 seconds
1>[info] [14:06:36] [E] H5 Compilation in 2.6000 seconds
1>[info] [14:06:36]
1>
1> __ _ _ _ _
1> |_ |_)|_)/ \|_)
1> |__| \| \\_/| \
1>
1>
1>[fail] [14:06:36]
1>H5 : error H5003: Compilation failed (Error parsing code.
1>D:\Projects\Tests\ProjectH5\ProjectH5\TestClass.cs:16,110: Unexpected symbol `A')
1>[fail] [14:06:36]
1>Stack Trace: at H5.Translator.Translator.BuildSyntaxTree(CancellationToken cancellationToken) in D:\a\1\s\H5\Compiler\Translator\Translator\Translator.InspectAssembly.cs:line 466
1> at H5.Translator.Translator.Translate(CancellationToken cancellationToken) in D:\a\1\s\H5\Compiler\Translator\Translator\Translator.cs:line 178
1> at H5.Translator.TranslatorProcessor.Process() in D:\a\1\s\H5\Compiler\Translator\Translator\TranslatorProcessor.cs:line 59
1> at H5.Compiler.CompilationProcessor.Compile(CompilationRequest compilationRequest, UID128 compilationUID, CancellationToken cancellationToken) in D:\a\1\s\H5\Compiler\Compiler\CompilationProcessor.cs:line 101
1>C:\Users\hardhub\.nuget\packages\h5.target\0.0.34005\Sdk\Sdk.targets(500,5): error MSB3073: The command "h5 --project "D:\Projects\Tests\ProjectH5\ProjectH5\ProjectH5.csproj" --configuration "Debug" --assembly-version "1.0.0.0"" exited with code 1.
1>Done building project "ProjectH5.csproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
========== Elapsed 00:49.773 ==========
Build time 00:49:790
Build ended at 23/11/2022 14:06:41
Project file:
<Project Sdk="h5.Target/0.0.34005">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>7.2</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="h5" Version="0.0.13619" />
<PackageReference Include="h5.core" Version="0.0.13833" />
<PackageReference Include="h5.Newtonsoft.Json" Version="0.0.13835" />
<PackageReference Include="Tesserae" Version="0.0.14660" />
</ItemGroup>
</Project>
Though in general it is not very good idea to switch to .NET 7 so extremely fast. For example JetBrains Rider still does not support .NET 7. So I even cannot test if it supports H5 well.
Nothing is changed if project file updated to netstandard 2.1 and fresh version of packages:
<Project Sdk="h5.Target/0.0.34005">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<LangVersion>7.2</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="h5" Version="0.0.32875" />
<PackageReference Include="h5.core" Version="0.0.31340" />
<PackageReference Include="h5.Newtonsoft.Json" Version="0.0.23385" />
<PackageReference Include="Tesserae" Version="2022.11.34114" />
</ItemGroup>
</Project>
That looks correct - I'll need to investigate more here.
For net70, it shouldn't be an issue with Rider as this is just the dependency from the compiler process to run, not with H5 projects (which are still restricted to netstandard).
For example this code will fail on build.
Most likely it is something introduced with .NET 7 or some sort of regression, as I remember it was successfully built via .NET 6 packages.