Category Archives: Source Control

Harici kütüphaneleri Versiyon Kontrol Sisteminde Saklayın

Çalıştığım projelerde sık sık bu problem başıma geldiği için yazma ihtiyacı duydum. Senaryoyu kısaca anlatayım. Yeni developer gelir var olan bir projeye katılır. Developer için yeni makina ayarlanır projenin geliştirileceği ortamlar(IDE) kurulur. Gerekiyorsa local Veritabanı kurulur. Ardından versiyon kontrol sisteminden kodları alabilmek için gerekli client programlar(VSS,Tortoise,SVN..) kurulur.

Bütün işlemler biter artık yeni developer biran önce kodu alıp çalışmak için sabırsızlanıyordur.IDE açılır versiyon kontrol sisteminden kaynak kod çekilmeye başlanır ve evet beklenen al gelmiştir bütün kod developerın makinasına gelmiştir. Ve developer son hamleyi yapar Build işlemini yapmaya başlar ve işte o anda olan olur ve aşağıdaki gibi bir sahne ortaya çıkar.

Netbeans1VisualStudio1

Ve build sonrası çıkan ekranlarda aşağıdaki gibi olur.

Netbeans

VisualStudio

Ardından developer takım liderine yada proje yöneticisine projenin derlenmediğini bildirir :) İlgili arkadaşda gelip gerekli kütüphaneleri networkden paylaşımda olan bir yerden almasını veya eklemesini söyler yada gerekli harici kütüphaneleri bilgisayarına kurmasını söyler. Ardından kod yazmak için sabırsızlanan developer bıkkın halde son hamleleri yapıp gerekli kütüphaneleri kurduktan sonra projesini ancak derleyebilir..

Bu senaryo umarım benim gibi başınızdan çok fazla geçmemiştir. Geçme ihtimali olan arkadaşlar için bunu önlemenin yolu gayet basit. Harici kütüphanelerinizi, .dll, .jar dosyalarınızı kısacası projeyi alıp sorunsuz derleyebilmek için gerekli ne varsa versiyon kontrol sistemi içinde koyun.

Java ve .NET projelerinde genelde harici kütüphaneleri ben dışarıda Library,lib tarzı kütüphanelerde tutuyorum ve bu kütüphaneleri versiyon kontrol sistemine ekliyorum. Bunun için çeşitli konfigürasyon yönetimi pratikleri var fakat benim için sorunsuz işleyen en basit yolu buydu. Yani aşağıdaki gibi yaparsak herhangi bir problem kalmayacaktır. Kütüphane kurulum gibi işlemlerde kaybettiğimiz vakit bize elektrik, yol,su olarak geri dönecektir :)

VisualStudio2 Netbeans2

Aklınızda bulunsuz herhangi bir yazılımcı projeye katıldığında gerekli geliştirme ortamı(IDE) ve geliştirme SDK,Framework’ü kurulduktan sonra projeyi versiyon kontrolden aldığında hiçbir ek işlem yapmadan başarılı bir şekilde Build işlemi yapabilmeli ve anında kod geliştirmeye başlayabilmelidir.

Bunun dışında Build otomasyonu, CI gibi kavramlara şimdilik değinmiyorum. İlk adımı atalım gerisi gelir umarım :)