/dev/random

Eclipse: Helios, un satellite coi buchi?

Ieri Eclipse (Galileo) ha iniziato a dare di matto.

Già da un po' avevo notato rallentamenti quando scrivevo un “uguale” (=), ma dopo 3-4 secondi mi mostrava l'autocomplete e mi lasciava continuare a scrivere, salvo perdermi uno spazio ogni tanto. Ho provato a disabilitare l'autocomplete durante la scrittura (lo voglio solo quando premo ctrl-space), ma non ci sono riuscito.

Eclipse
bugsMa ieri quei 3-4 secondi sono diventati più di 10 minuti. Non so quanto, e non so se si sarebbe mai ripreso. L'ho killato dopo un buon gelato. E ho iniziato a cercare soluzioni in Internet.

Sembrava un problema legato al fatto di avere troppi file nel progetto, e infatti linkando lo Zend Framework questo numero superava abbondantemente i 1000. Pur perplesso dal fatto (alcuni miei progetti si avvicinano a quella cifra, non oso pensare progetti più importanti), disattivo lo ZF, chiudo tutti gli altri progetti, e continuo a programmare per un po', finché non si ripresenta il problema anche con “miseri” 150-200 file nel progetto.

Allora cancello il workspace e tutte le config di Eclipse e riprendo, pensando a una config corrotta. Dopo aver riscaricato tutti i plugin. Illuso. Dopo 2 ore per ripristinare tutto si ripresenta lo stesso errore. Decido quindi di aggiornare Eclipse, cosa che non avevo fatto perché sembra che la nuova versione abbia problemi con l'SDK Android.

Helios

Ho quindi scaricato la nuova versione (Helios), direttamente con PDT integrato, e ho (re)iniziato a configurare e scaricare plugin.

Ma i plugin non funzionavano.

Apparivano nella finestra dei moduli installati, se tentavo l'update mi diceva che non c'erano aggiornamenti, non potevo abilitarli o disabilitarli, solo rimuoverli. Ma non facevano niente. Niente nuove perspective, niente nuovi progetti, niente finestre aggiuntive.

Scavando (per ore) tra le configurazioni e su Internet non ho trovato niente di risolutivo, finché, alle 9 di sera, ho deciso di insospettirmi del fatto che Helios (Eclipse 3.6) creasse una cartella di nome .eclipse/org.eclipse.platform-3.5.0 nella mia home, e ho messo questo in Google, trovando finalmente il bug report nel tracker di Eclipse.

A quanto pare il nuovo Eclipse vuole scrivere nella directory di installazione quando si installano nuovi plugin. Controllando, infatti, si trova un permesso rws sul gruppo in diverse sottodirectory.

A questo punto ho semplicemente fatto un

chown -R root.adm /usr/local/eclipse-3.6

e ho assegnato il mio utente al gruppo adm (lo era già, in realtà). Tutto ha ripreso a funzionare senza problemi. Mi riservo di valutare i rischi di questa operazione, ma a una prima occhiata sembrano abbastanza limitati (un plugin può spattumare Eclipse, ma nel caso lo reinstallo, e lo poteva fare già prima).

Android

Lo so, sono masochista.

Sul sito di Android è scritto chiaramente di NON usare Helios perché ci sono dei bug irrisolti. Ma io ho la testa dura. E comunque ho tenuto la vecchia versione di Eclipse installata, giusto in caso...

Con Helios ho provato a creare un nuovo progetto di test, con target Android 2.2 e minSdk 3 (Android 1.5). Lo crea e mi dà subito errore dicendo di non trovare la package “android”. Lo aggiungo a mano tra le Referenced Libraries del progetto, e gli errori spariscono, ma ora mi dà errore di conversione da Java a Dalvik. Indagherò nelle prossime ore/giorni.

Io pensavo che i problemi si limitassero a un bug già segnalato, peraltro correggibile in modo abbastanza semplice (Window->Preferences, XML->XML Files->Editor, togliere la spunta a “Use inferred grammar...”).

Update 10:10

Il problema con il package android si risolve semplicemente: Window->Preferences, quindi General->Workspace->Linked Resources, attivare la spunta su “Enable Linked Resources”. Bisogna farlo prima di creare o scaricare qualsiasi progetto Android, altrimenti non ho idea di come aggiungerlo in seguito. :)