- Gradle 8.6'dan itibaren Windows ortamında antivirüs programlarıyla çakışma nedeniyle 'Could not move temporary workspace...' hatası oluşuyor ve buna bağlı derleme hataları sıkça meydana geliyordu; ancak Gradle 9.1 RC ile nihayet giderildi.
- Windows kullanıcıları bir yıldan fazla süredir yaşadıkları bu derleme hatasından kurtulacak ve 9.1 sürümünden itibaren Gradle derlemelerini sorunsuz çalıştırabilecek. (İlgili sorun: #31438)
Önceki sürümlerin çalışma yöntemi
- Dosyaya doğrudan dosya kilidi (file lock) uygulanarak bağımlılık önbelleğinin değişmezliği sağlanırdı. Basit ve net bir yöntemdi.
8.6 sürümünden itibarenki çalışma yöntemi
- Performansı artırmak için
CacheBasedImmutableWorkspaceProvider devreye alındı; UUID tabanlı geçici dosyalar üretilip iş bittikten sonra benzersiz bir yola taşınıyordu.
- Bu yöntem, bütünleşik testlerde dosya kilitleme yaklaşımının yol açtığı performans düşüşünü çözmek amacıyla getirildi.
- Windows ortamında antivirüs programlarının gerçek zamanlı izleme işlevi (yeni dosya oluşturulurken kilit alınması) ile çakışarak geçici dosya taşınması başarısızlığına neden olan bir sorun ortaya çıktı.
9.1 sürümünün yama yöntemi
- İşletim sistemi bazlı farklı kilitleme stratejisi uygulandı.
- Windows ortamı: LockingStrategy.WORKSPACE_LOCK yaklaşımı benimsendi. Bu yaklaşım, önbellek yolu içinde bir alt dizin (\workspace) oluşturuyor ve o alt dizinin tamamı için kilit alarak antivirüs programlarının tek tek dosyalara müdahalesini engelleyerek sorunu çözüyor.
- Windows dışındaki ortamlar: Mevcut ATOMIC_MOVE (8.6 yaklaşımı) korunuyor.
Henüz yorum yok.