-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Kod tabanının Visual Studio ortamında geliştirildiği anlaşılıyor. Ancak implementasyon, yoğun biçimde platforma özgü (platform-specific) ve derleyiciye bağımlı (compiler-dependent) yapılar içerdiğinden, MSVC dışındaki derleyicilerde ciddi derleme uyumsuzlukları oluşuyor. Mevcut CMake konfigürasyonu ve modül yapısı, standart dışı uzantılar, sabitlenmiş Windows-özel pragmalar ve soyutlama eksikliği nedeniyle GCC, MinGW veya Clang ile derlenememektedir.
Bu nedenle, derleme sistemi ve kaynak implementasyonun ISO C++ standartlarına ve taşınabilir CMake konvansiyonlarına uygun olacak şekilde yeniden yapılandırılmasını şiddetle önermekteyim. Derleyiciye özgü tüm yönergeler uygun toolchain guard veya interface layer’lar aracılığıyla izole edilmelidir, böylece proje MSVC, GCC ve Clang ortamlarında hiçbir değişiklik yapılmadan başarıyla derlenebilir.
Dipnot
Privilages, harvest, upload ve download modüllerinin tamamını kodladım ve mevcut kod tabanına mantıksal olarak entegre ettim. Ancak, derleyiciye bağımlı yapılar nedeniyle proje derlenemediği için binary üretemiyorum, dolayısıyla bu modüller henüz işlevsel olarak test edilemedi veya birim testlerine tabi tutulamadı. Bu sebeple şu aşamada resmi bir pull request açmam mümkün değil.
Ek olarak, Docker ortamı da kararsız durumda yani container tanımları eksik, build context’leri tutarsız ve README’de belirtilen yönergeler mevcut sürümde çalışmıyor. Container, farklı sistemlerde tekrarlanabilir (reproducible) bir şekilde ayağa kalkmadığından uçtan uca test süreci yapamıyorum.