aykutalparslan / Ferrite

Experimental Telegram Server
GNU Affero General Public License v3.0
158 stars 25 forks source link

buiding on mac #446

Closed johndpope closed 2 years ago

johndpope commented 2 years ago

not sure why - but project is not happy.

Screen Shot 2022-08-21 at 11 17 58 pm

had to delete .env to get it to progress - but then...

build 9/13] COPY [Ferrite.Core/Ferrite.Core.csproj, Ferrite.Core/] 0.0s => ERROR [build 10/13] RUN dotnet restore "Ferrite/Ferrite.csproj" 3.6s

[build 10/13] RUN dotnet restore "Ferrite/Ferrite.csproj":

0 2.129 Determining projects to restore...

0 2.135 Skipping project "/src/Ferrite.Services/Ferrite.Services.csproj" because it was not found.

0 3.202 Skipping project "/src/Ferrite.Services/Ferrite.Services.csproj" because it was not found.

0 3.290 Skipping project "/src/Ferrite.Services/Ferrite.Services.csproj" because it was not found.

0 3.346 Skipping project "/src/Ferrite.Services/Ferrite.Services.csproj" because it was not found.

0 3.394 /usr/share/dotnet/sdk/6.0.400/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(144,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0. [/src/Ferrite.Transport/Ferrite.Transport.csproj]

0 3.401 /usr/share/dotnet/sdk/6.0.400/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(144,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0. [/src/Ferrite.Crypto/Ferrite.Crypto.csproj]

0 3.404 /usr/share/dotnet/sdk/6.0.400/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(144,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0. [/src/Ferrite.TL/Ferrite.TL.csproj]

0 3.412 /usr/share/dotnet/sdk/6.0.400/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(144,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0. [/src/Ferrite.Utils/Ferrite.Utils.csproj]

0 3.414 /usr/share/dotnet/sdk/6.0.400/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(144,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0. [/src/Ferrite/Ferrite.csproj]

0 3.420 /usr/share/dotnet/sdk/6.0.400/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(144,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0. [/src/Ferrite.Data/Ferrite.Data.csproj]

0 3.425 /usr/share/dotnet/sdk/6.0.400/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(144,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0. [/src/Ferrite.Core/Ferrite.Core.csproj]


failed to solve: executor failed running [/bin/sh -c dotnet restore "Ferrite/Ferrite.csproj"]: exit code: 1

aykutalparslan commented 2 years ago

I myself have stopped using docker compose a while ago so it might be why. I currently am using Rider on a Mac(x64). I am starting up Redis, Cassandra, MinIO and ElasticSearch then the Ferrite console app. But let me try to add some build instructions and also fix the docker build.

aykutalparslan commented 2 years ago

I have updated the README and removed the docker files temporarily. Will be adding docker support in the near future.

johndpope commented 2 years ago

the infrastructure needed to run - it makes sense to run in docker - and run the c# server on local machine. I just installed rider - it seems you've invested a lot of time into this - how do you know which APIs 300 that are not implemented? have you considered using something like supabase to stand on top of gotrue / auth layer - notifications / social sign ups etc? supabase is built on postgres - and postgresREST which gives you a basic CRUD out of the box that would simplify api controller development in my opinion. you can have all the logic in stored procedure - and invoke that from client using their libraries.

is there an openapi schema - or http archive of captured traffic for telegram ? how do you know there's 300 api methods?

I checked out code - and ran project with rider - but hit these errors. googling didn't help.. is it a special setting in rider?

UPDATE Screen Shot 2022-08-22 at 11 06 50 am

Screen Shot 2022-08-22 at 11 06 44 am

aykutalparslan commented 2 years ago

The project uses .NET 7 preview 7. Should have added that to the README too sorry. It made sense at the time because I believe the framework will be released before the project is usable. It's a preview language feature UTF8StringLiterals.

Regarding the other questions:

aykutalparslan commented 2 years ago

Please see the updated README for a link to a modified Android App as well.

aykutalparslan commented 2 years ago

This infrastructure is not needed anymore. Details are in the README.