Closed maxandersen closed 1 year ago
Note that you only need to build the parts of Robocde Tank Royale that you are working on. If you do a gradle build from the root, then it will build everything. But of course, you are welcome to do that. 🙂
I also fixed the broken gradle wrapper and upgraded it to version 8.0.2 on master. But installing gradle makes it easier to build individual parts of Tank Royale.
The Bot API for .Net is .Net 6.0 compatible and hence build for .Net 6.0.
See the TargetFramework
in the project file here
But I guess it should be able to build for .Net 7.0 as well? 🙂
In order to see why the dotnet build fails, I should like you to go into (cd) this folder:
bot-api/dotnet/Robocode.TankRoyale.BotApi
And then try to build the Bot API by writing:
dotnet build
This should print out any errors, which are not shown from Gradle's dotnetBuild task, unfortunately.
Please write back on this issue and tell me what you see, if you get errors.
cd bot-api/dotnet/Robocode.TankRoyale.BotApi
❯ dotnet build
MSBuild version 17.4.0+18d5aef85 for .NET
Determining projects to restore...
All projects are up-to-date for restore.
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/internal/BaseBotInternals.cs(8,31): error CS0234: O nome de tipo ou namespace "Schema" não existe no namespace "Robocode.TankRoyale" (você está sem uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/internal/BotHandshakeFactory.cs(4,27): error CS0234: O nome de tipo ou namespace "Schema" não existe no namespace "Robocode.TankRoyale" (você está sem uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/BotStateMapper.cs(7,32): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/BulletStateMapper.cs(7,35): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/BulletStateMapper.cs(20,60): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/GameSetupMapper.cs(5,33): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/InitialPositionMapper.cs(5,19): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/ResultsMapper.cs(5,34): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(63,33): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(73,36): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(85,37): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(90,41): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(98,33): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(118,45): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(127,43): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(135,40): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(149,40): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(156,38): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/internal/BotHandshakeFactory.cs(10,21): error CS0246: O nome do tipo ou do namespace "BotHandshake" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
FALHA da compilação.
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/internal/BaseBotInternals.cs(8,31): error CS0234: O nome de tipo ou namespace "Schema" não existe no namespace "Robocode.TankRoyale" (você está sem uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/internal/BotHandshakeFactory.cs(4,27): error CS0234: O nome de tipo ou namespace "Schema" não existe no namespace "Robocode.TankRoyale" (você está sem uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/BotStateMapper.cs(7,32): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/BulletStateMapper.cs(7,35): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/BulletStateMapper.cs(20,60): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/GameSetupMapper.cs(5,33): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/InitialPositionMapper.cs(5,19): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/ResultsMapper.cs(5,34): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(63,33): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(73,36): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(85,37): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(90,41): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(98,33): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(118,45): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(127,43): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(135,40): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(149,40): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/mapper/EventMapper.cs(156,38): error CS0246: O nome do tipo ou do namespace "Schema" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/src/internal/BotHandshakeFactory.cs(10,21): error CS0246: O nome do tipo ou do namespace "BotHandshake" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) [/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj]
0 Aviso(s)
19 Erro(s)
Tempo Decorrido 00:00:01.58
@maxandersen Thank you for the error info, it tells me exactly what the problem is. It is missing the generated code for the schema (for the WebSocket IPC classes).
So you need to build the generated code first be calling this from the root:
./gradlew :schema:dotnet:build
And then you should be able to build the Bot API for dotnet. 🙂
I will try to update the Gradle build file so the schema files will be built first!
@maxandersen I made sure that the schema files that the dotnetBuild
task depends on it built before building the API itself.
I have fixed this on master.
I made fixes on the master branch so that the code generated for the schemas is now done automatically.
I am closing this issue, as the original issue is fixed.
running on OSX M1 machine.
git clone - gradlew is not executable and wrapper somehow incomplete. had to install gradle 8.0.2 manually first.
then ran
brew install dotnet
as otherwise build fails.but then the dotnet build fails (p.s. no idea why the dotnet errors are in Spanish - i got no such locale configured :)