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

cannot build project #63

Closed
maxandersen opened this issue Mar 4, 2023 · 5 comments
Closed

cannot build project #63

maxandersen opened this issue Mar 4, 2023 · 5 comments
Assignees
Labels
bug Something isn't working that should be fixed

Comments

@maxandersen
Copy link
Contributor

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 :)

 gradle build --stacktrace
Using gradle at '/Users/manderse/code/robocode-dev/tank-royale/gradlew' to run buildFile '/Users/manderse/code/robocode-dev/tank-royale/build.gradle.kts':
Start restoring packages
Compilação de 04/03/2023 14:10:35 iniciada.
     1>Projeto "/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj" no nó 1 (Restore destino(s)).
     1>_GetAllRestoreProjectPathItems:
         Determining projects to restore...
       Restore:
         X.509 certificate chain validation will use the fallback certificate bundle at '/opt/homebrew/Cellar/dotnet/7.0.100/libexec/sdk/7.0.100/trustedroots/codesignctl.pem'.
         X.509 certificate chain validation will use the fallback certificate bundle at '/opt/homebrew/Cellar/dotnet/7.0.100/libexec/sdk/7.0.100/trustedroots/timestampctl.pem'.
         Assets file has not changed. Skipping assets file writing. Path: /Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/obj/project.assets.json
         Restored /Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj (in 34 ms).

         NuGet Config files used:
             /Users/manderse/.nuget/NuGet/NuGet.Config

         Feeds used:
             https://api.nuget.org/v3/index.json
         All projects are up-to-date for restore.
     1>Projeto de compilação pronto "/Users/manderse/code/robocode-dev/tank-royale/bot-api/dotnet/Robocode.TankRoyale.BotApi/Robocode.TankRoyale.BotApi.csproj" (Restore destino(s)).

Compilação com êxito.
    0 Aviso(s)
    0 Erro(s)

Tempo Decorrido 00:00:00.54
Complete restoring packages
Start parsing project
Complete parsing project
> Task :bot-api:dotnet:dotnetBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':bot-api:dotnet:dotnetBuild'.
@flemming-n-larsen flemming-n-larsen added the bug Something isn't working that should be fixed label Mar 5, 2023
@flemming-n-larsen
Copy link
Contributor

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.

@maxandersen
Copy link
Contributor Author

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

@flemming-n-larsen
Copy link
Contributor

@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!

@flemming-n-larsen
Copy link
Contributor

@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.

@flemming-n-larsen
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working that should be fixed
Projects
None yet
Development

No branches or pull requests

2 participants