LibreOffice için Eclipse IDE Desteği

LibreOffice çok büyük bir proje olduğundan içindeki bir kısmı anlamaya çalışırken grepler içinde kaybolmamak işten değil. Burada yardımımıza IDE'ler yetişiyor. IDE'lerin yeteneklerini kullanarak bir sınıfın nerden miras alındığı, bir değişkenin nerede tanımladığı gibi şeyler çok kolaylaşıyor. Kod tamamlama özelliğini de atlamamak lazım tabi.

Ben bir süredir LibreOffice'in Eclipse ile çalışabilmesiyle ilgili bir öneri üzerinde çalışıyordum. Bugün kabul edilen yamamla birlikte bu iş için büyük bir adım attım. Gönderdiğim yamayı buradan incelebilirsiniz:

https://gerrit.libreoffice.org/#/c/20239/

5.2 sürümüne eklenecek olan bu yama LibreOffice içindeki include satırlarının doğru bir şekilde ayrıştırılabilmesini ve doğru bir şeklide derlenebilmesini sağlıyor

LibreOffice'in Eclipse ile kullanımı aşağıdaki gibidir:
  • LibreOffice'in kaynak kodunu burada tarif edildiği gibi derleyin.
  • Ardından aynı dizinde  make eclipsecdt-ide-integration komutunu çalıştırın.
  • Eclipse CDT ile aşağıdaki ekran görüntüsündeki gibi yeni bir proje oluşturun.
  •  Dosya sisteminizdeki LibreOffice modüllerinden birini seçin ve ekran görüntüsündeki ayarlar ile modülü Eclipse'e yükleyin.


  •  Yüklediğiniz modülün üzerine sağ tıklayıp import'u seçtiğinizde resimdeki gibi ayar dosyası seçeneğini seçin.
  • Yüklemiş olduğunuz modülün içindeki eclipsesettingfile.xml dosyasını seçin.
 
Artık projenizin içide altı çizili hiç include satırı kalmamış olacak. Şimdi makro tanımlamalarıyla ilgili kısım üzerinde çalışıyorum. İlerledikçe bu bloğu güncelleyeceğim.

28 Kasım 2015

Posted In: eclipse, Gezegen, Özgür yazılım

Running Tomcat with Eclipse on Ubuntu 13.04

If you installed Tomcat 7 from Application Center Ubuntu 13.04. You didn’t create Server in Eclipse. To fix the error ‘Cannot create a server using the selected type’ or ‘Could not load the Tomcat server configuration at /usr/share/tomcat7/conf. The configuration may be corrupt or incomplete /usr/share/tomcat7/conf/catalina.policy (No such file or directory)’ error. That which your Tomcat installation directory has not necessary folders. You can do below commands

cd ~/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/
rm org.eclipse.jst.server.tomcat.core.prefs
rm org.eclipse.wst.server.core.prefs
cd /usr/share/tomcat7
sudo service tomcat7 stop
sudo update-rc.d tomcat7 disable
sudo ln -s /var/lib/tomcat7/conf conf
sudo ln -s /etc/tomcat7/policy.d/03catalina.policy conf/catalina.policy
sudo ln -s /var/log/tomcat7 log
sudo chmod -R 777 /usr/share/tomcat7/conf
sudo ln -s /var/lib/tomcat7/common common
sudo ln -s /var/lib/tomcat7/server server
sudo ln -s /var/lib/tomcat7/shared shared

quotation from: http://linux.mjnet.eu/post/1319/tomcat-7-ubuntu-13-04-and-eclipse-kepler-problem-to-run/

14 Mayıs 2014

Posted In: eclipse, kepler, tomcat, tomcat7, ubuntu, ubuntu 13.10

Eclipse Helios Yeniliklerle Dolu.

Eclipse bildiğimiz gibi en çok kullanılan yazılım geliştirme IDE’lerinden bir tanesi. Dünya üzerinde milyonlarca insan tarafından kullanılıyor. Ve yüzlerce geliştirici tarafından devamlı geliştiriliyor, açık kaynak olması nedeni ile herkes bu IDE’ye katkıda bulunabiliyor. IDE Windows, Linux ve MAC üzerinde çalışabiliyor. Eclipse sadece kişisel değil, kurumsal alanda da en çok kullanılan yazılım geliştirme araçlarından biri. Esnek […]

23 Haziran 2010

Posted In: eclipse, EMF, git, Helios, IDE, java, linux, MarketPlace, RAP, Riena, Xtext

AmaterasUML: Açık kaynak ve uyumluluk üzerine bir hikaye

Bytecode uyumluluğu ve API uyumluluğu

Java kodlarımızı derlerken derleyiciye -source ve -target parametrelerini vererek belli bir sürüme ait bytecode a derleyebiliyoruz. Tabi burada yeni sürüme ait DİL özelliklerinden feragat ediyoruz. Örnek olarak kodumuzu Java 1.4 için derlemek istersek Generics, Boxing gibi özellikleri kullanamayız. Ancak bu işlem aynı garantiyi JDK’nın sunduğu API için sağlamamaktadır. Örnek olarak Java6 ile yeni gelen bir sınıfı kullanıp Java5 ile çalıştırdığımızda ClassNotFoundException, Java6 ile yeni gelen metodu Java5 ile çalıştırdığımızda NoSuchMethodError hatası alırız. Bu durumda en emin yöntem geliştirirken hedef aldığımız minimum majör sürümü (Örn: Java5) kullanmamız olacaktır. Artık pek çok IDE proje bazında  kullanılan JRE/JDK sürümünü seçmemize izin vermektedir.

AmaterasUML Eclipse eklentisini Java5 ile çalıştıtırken aldığım hata

Gelelim hikayemizin gelişme bölümüne. Eclipse için geliştirilmiş açık kaynaklı bir UML eklentisi olan AmaterasUML tam olarak da bu sorundan müzdarip. Eklenti ikili dosyaları Java5 sisteminde çalışmasına rağmen UML oluşturması için sınıfları ekrana sürüklediğimizde java.lang.NoSuchMethodError: java.util.Arrays.copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; hatası alıyoruz. Bunun sebebi ise Arrays.copyOf() metodunun Java6 ile yeni gelmiş olması.

Nasıl düzelttim?

Gelelim çözüme. Şanslıyız ki eklentimiz açık kaynak kodlu. Aslında bahsetmedim ama sorunun kaynağını bulabilmek için de projenin kaynak kodunu inceledim. Şimdi tek kalan şey bunu düzeltmek, test etmek ve geliştiriciye yollamak. Bunun için Proje kodunu SVN’den indirip açtım ve JDK 1.0’dan beri varolan System.arraycopy() metodunu kullandım. Daha sonra düzenlenmiş kod ile eklenti dosyasını yeniden oluşturup kendi oluşturduğum dosyadan kurdum. Ve, evet eklenti olması gerektiği gibi çalıştı ve sınıflarda UML diyagramı oluşturdu. Ardından yamayı oluşturarak projenin ulaştığım iki sitede (Sourceforge ve Java.net) yer alan hata kayıt sistemlerine bildirdim.

Hata Kayıtları


Yayınlandı eclipse, gezegen, java

20 Nisan 2009

Posted In: eclipse, Gezegen, java

İki Kule

Dolaşan haberlere[1][2] göre IBM uzun süredir ekonomik sıkıntı yaşayan Sun Microsystems’i 6.5 milyar dolar gibi bir rakama almak için kolları sıvamış durumda. Bundan dolayı da herkes geleceğin ne getireceği konusunda düşünmeye başladı. IBM ve Java pek çok alanda rekabet içinde ürünlere sahip. Donanım alanından çekilmeye başlayan IBM’in Sun’ın donanımdan çok yazılım teknolojilerine göz diktiği söylenmekte.

Şimdi düşündüğümüzde daha kararsız olduğunu gözlemlediğim ancak daha çok platformda çalışan IBM JDK ile Sun JDK’nın birleşmesi ile OpenJDK/IcedTea’nin boşlukları tamamen kapanabilir ve gerçekten pek çok platformda çalışan özgür bir JDK’e kavuşabiliriz. Unutmayalım ki IBM temel platformun özgür olmasını destekliyor. Ama bence Openoffice o kadar şanslı gibi durmuyor. Açık kaynak kodlu olduğundan yokolmasa da IBM Lotus Symphony’ye karşı Openoffice’e destek vermeyebilir. (Zemberek Symphony entegrasyonunu araştırmalı mıyız ne?) Bir de Eclipse platformuna karşılık Netbeans var. Görsel geliştirme ortamı daha iyi olmasına rağmen (ancak hiçbir zaman görsel geliştirme ortamlarının ürettiği kod optimum değildir) yarattığı ekosistemle Eclipse daha geniş bir destek bulmayı başardı. Bu sebepten muhtemelen üstün yanları Eclipse’e entegre edilerek yokolacaklar listesinde yerini alacak. Hatta Adobe Flex’e karşı JavaFX de kaybedenler arasına girebilir.

Bakalım haber gerçekleşir ve iki kule güçlerini birleştirirse neler olacak? Bence en önemli etkisi .Net ve Java kutuplaşmasının derinleşmesi olacak.

1: http://www.nytimes.com/2009/03/19/technology/companies/19sun.html?_r=2&ref=technology
2: http://online.wsj.com/article/SB123735124997967063.html


Yayınlandı eclipse, gezegen, linux, lotus symphony, netbeans, openoffice, yazılım

19 Mart 2009

Posted In: eclipse, Gezegen, linux, lotus symphony, netbeans, openoffice, yazılım

eclipsIST 2007 ardından

Java ve Eclipse ile ciddi miktarda uğraşan benim için eclipsIST 2007 kaçırılmaz ciddi bir fırsat idi. Hem duyamadığım kaçırdığım bazı gelişmeleri takip etmek hem de camiadan insanlar ile beraber olmak açısından güzeldi. Seminerlerden genel olarak aklımda kalan satır başları şu şekilde.

SWT nin başlattığı platformdan bağımsız ama platformun “native” özellikleri ile uyumlu grafik arayüzü anlayışı masaüstü platformundan diğer alanlara da yayılmış durumda. Web’de RAP (Rich AJAX Platform) için RWT altyapılaki tarayıcıların özelliklerinden geliştiriciyi soyutlamayı hedeflemekte. Mobil platformlar için eRCP altında eSWT ise aynı API kullanılarak her mobil cihazda o cihazın alışılagelmiş davranışını koruyarak aynı fonksiyonaliteyi sağlamaya çabalamakta.

Aslında pek çok kişiye tanıdık gelebilir ama açık kaynak kodlu yazılımlarla ilgili Eclipse topluluğununda uyguladığı yöntemden bahsedildi. Çekirden platform üzerinde herkesin ortak çalışarak ortak bir katma değer üretmesi ve bunun üzerine ticari ürünler üreterek pazara sunması. Evet bu konuda Eclipse büyük bir başarı elde etti. Eskiden “Meta IDE” diye tabir ettiğim Eclipse artık üzerine masaüstü ve web tabanlı uygulamaların da geliştirildiği bir “Platform” halini aldı.

Jochen Krause‘nin RAP sunumu gerçektenbeni en çok etkileyen ve zevkle dinlediğim sunum oldu. Eclipse çekirdeğinin sunucu tarafına yerleştirilmesi üstüne RWT yazılması ile tarayıcı neredeyse (dağıtık yapı ve ağ gecikmelerinden dolayı masaüstü uygulamalarına göre bazı kısıtlara sahip) bir masaüstü ekranı haline getirilmiş durumda (Bu Haziran’da çıkacak sürümde ne yazık ki yer almayacakmış)

Bunun dışında başarı hikayeleri kısmında TCMB’nin deneyimlerini dinledim. Yaklaşık 10-12 adet Java çatısını (herkes framework kelimesini farklı çeviriyor) entegre olarak kullanacak şekilde yeni bir kurum kültürü oluşturmuşlar. Kendileri alçakgönüllü yaklaşsa da kemikleşmiş COBOL kültürü olan için bence büyük bir başarı bu radikal değişim.

Birde Haziran’da diğer Eclipse projeleri ile eş zamanlı çıkacak WTP 2.0’da yer alacak yenilikleri görme şansımız oldu. JSF ve JPA için gerçekten hoşuma giden araçlar geliyor. Bu arada bu sunu sayesinde daha önce sadece adını duyduğum JPA ile tanışma fırsatı yakaladım. Bu konuda ayrıca araştırma yapmak istiyorum.

En son olarak Görkem Ercan‘ın dile getirdiği bir sıkıntıyı aktararak kapatayım yazıyı. eSWT Mobil QT portunda ciddi anlamda insan kaynağı eksiği varmış. Bu konuda destek bekliyorlar.


30 Nisan 2007

Posted In: eclipse, Gezegen, java

WP Twitter Auto Publish Powered By : XYZScripts.com