2 puan yazan click 2025-08-08 | 1 yorum | WhatsApp'ta paylaş
  • 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.
Reklam

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.

1 yorum

 
click 2025-08-08

Kişisel olarak çok uğraştıktan sonra PR'nın birleştirildiğini görünce bir blog yazısı yazdım. Show, doğrudan geliştirdiğim ürünü tanıttığım bir yer olduğu için uygun olmayacak gibi geldiğinden genel haberlere ekledim ama bunun doğru olup olmadığını bilmiyorum.