Domanda

È davvero vantaggioso passare a Rake da Ant?

Qualcuno è emigrato dalla formica e ha trovato qualcosa di monumentale?

PER TUA INFORMAZIONE:L'ambiente attuale è Ant per le build J2ME

È stato utile?

Soluzione

Direi di sì, ma ho una prospettiva diversa rispetto a un tipo dell'ambiente Java, perché sono un tipo dell'ambiente .NET.Avevo scritto e mantenuto uno script di build non banale (pulito, generate-assembly-info, build, test, copertura, analisi, pacchetto) in msbuild (sforzo NAnt basato su XML di MS) ed è stato molto doloroso:

  • XML non è amichevole;è molto rumoroso
  • Nessun altro nel team era interessato ad apprenderlo al punto da eseguire più, e più utili, automazioni;fattore bus così alto (ovvero, se vengo investito da un autobus, rimangono bloccati)
  • Non si prestava al refactoring o al miglioramento: era una di quelle cose "toccate a tuo rischio e pericolo", sai?
  • Aveva bisogno di scrivere attività C# personalizzate per eseguire i vari strumenti necessari alla build (anche se, per essere onesti, spesso questi sono scritti dai fornitori)

In circa una settimana lavorativa del mio tempo (ho imparato ad amare gli uffici vuoti nel periodo natalizio!), ho imparato abbastanza ruby+rake per sostituire il tutto con uno script più breve (in termini di LOC) con leggermente più funzionalità, e maggiore comprensibilità (spero, comunque;non l'ho ancora fatto revisionare).

Beneficia di:- È una lingua nuova, ma una lingua vera.Ai miei compagni di squadra piace imparare nuove lingue e questa, sebbene sia una scusa debole, è pur sempre una scusa ;-) Questo potrebbe mitigare il fattore bus se ho ragione.- Il passo è breve (suppongo) da qui a capistrano, lo strumento di distribuzione automatizzato/remoto/distribuito del mondo RoR.Nonostante sia un negozio MS-stack, lo utilizzeremo in combinazione con IIS7 che avrà finalmente uno strumento di configurazione CLI.

Quindi sì.Il tuo chilometraggio può variare, ma per me ne è valsa la pena.

Altri suggerimenti

Rake è fantastico se vuoi:

  • Accesso a un vero linguaggio di programmazione;condizionali e cicli sono tutti estremamente semplici, rispetto ad Ant (in cui sono quasi impossibili)
  • Formato file facile da leggere e con possibilità di controllo della sintassi
  • Assegnazione più intuitiva/prevedibile dei valori alle variabili

Il rake ti fa male perché:

  • È necessario fornire personalmente molte attività di base (come eseguire Javac, creare file jar, ecc.).Progetti come Corvo potrebbe aiutare, ma sembra orientato verso le dipendenze di download automatico e non tanto automatizzato un processo di creazione/distribuzione.Inoltre la documentazione è un po' carente.
  • La maggior parte degli strumenti Java che possono essere automatizzati vengono eseguiti come attività Ant, che non sono facilmente eseguibili da Rake;l'avvio della JVM può essere fastidioso in fase di compilazione

Potresti voler dare un'occhiata buildr anche.È uno strumento di costruzione di livello superiore basato su rake.IMHO prende molte delle caratteristiche positive di Maven e butta via quelle cattive.Personalmente non l'ho usato in nulla di importante, ma conosco persone che lo hanno fatto e ne sono abbastanza soddisfatti.

Un altro strumento che potresti voler controllare è Gant se la formica non soddisfa le tue esigenze.Aggiunge il supporto completo per lo scripting ad Ant ma consente di riutilizzare le attività di Ant secondo necessità.Dipende davvero da cosa non ti piace della formica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top