Domanda

Al momento stiamo lavorando su un progetto con sia da ActionScript e Java. Fino ad ora, siamo stati usando Ant come il nostro strumento di compilazione principale, ma la quantità muto della duplicazione esso implica e la mancanza di flessibilità (stiamo costruendo una bella grande quantità di piccoli sotto-progetti, e la copia di tutta la build file ogni volta è un dolore) ci stanno spingendo verso un cambiamento di strumenti.

Edit3: Ho finito di riscrivere tutta la nostra costruisce a Gant, e anche se non è perfetto, è ridimensionato i nostri file di generazione in maniera massiccia e ha fatto aggiungendo nuovo progetto molto più semplice, quindi mi piacerebbe sicuramente recommand Gant per le persone che non vogliono a cambiare la loro filosofia di costruzione e la struttura del progetto, ma solo in cerca di uno strumento più conveniente di formica. Potrei avere un aspetto in graddle e / o Ivy uno di quei giorni.

EDIT2: Dopo aver provato Buildr, abbiamo governato fuori perché fa così più cose di quello che abbiamo effettivamente bisogno. Ora sto cercando di Gant che sembra proprio quello che ci serve, ma la documentazione è piuttosto piccola. Ne vale la pena muoversi fino a Gradle, o è esimo progetto non sufficientemente matura ancora?

EDIT: Cercherò di chiarire i nostri problemi con Ant. Abbiamo diversi sotto-progetti con i layout simili, che dobbiamo compilare ed eseguire i test per. Una volta fatto, alcuni dei quali devono essere confezionati insieme per produrre eseguibili (vale a dire un client, un server, e alcuni demo stand-alone). Il lavoro da descripe nostro layout standard nella formica è piuttosto lungo, ed è terribilmente difficile introdurre piccole variazioni senza dover riscrivere l'intero macro. (Say, uno dei progetti hanno bisogno di afferrare le sue attività visive da un repository diverso).

  • Gant che ci permetterebbe di riutilizzare i compiti formica che sono già là fuori sia per Flash e Java
  • Gradle per le stesse ragioni, anche se sembra un po 'più complicato
  • Rake che sembra essere altamente raccomandato. Il rovescio della medaglia è il supporto sperimentale di integrazione script di azione e la nostra mancanza di conoscenza di Ruby
  • Buildr che sembra piuttosto fresco, ma anche qui, non knowldege di Ruby
  • Scons sembra avere meno slancio, ma Python è un linguaggio di scripting piuttosto fresco

Maven è stata considerata, ma è stata eliminata a causa della complessità intrinseca e l'apparente errori predisposizione. Attualmente stiamo pendente verso Gant. Fa qualcuno di voi ha esperienza nell'utilizzo di alcuni di questi strumenti? Come si confronta?

I nostri bisogni sono piuttosto essenziali: Compilare e pacchetto di progetti, distribuirli a diversi obiettivi e una certa capacità di scripting (per eseguire test specifici progetti di performance, per esempio). Da segnalare potrebbe anche essere che usiamo Hudson per gestire l'integrazione continua.

È stato utile?

Soluzione

So che la gente nella nostra società che fanno Java per vivere giurano da Ivy, ma non avendo alcuna esperienza con esso, non ho abbastanza fatti per eseguire questo suggerimento con argomentazioni tecniche. Hanno fatto parlare di mancanza di duplicazione come un plus se confrontati con Ant hanno usato prima. Caveat emptor.

Altri suggerimenti

Non sono sicuro di commutazione per Gant risolverà i vostri problemi. Gant è solo scrivendo a costruire i file in Groovy invece di XML. Credo che il problema pone più nel modo in cui si sta utilizzando formica. Difficile da dire, senza ulteriori dettagli, ma frasi come "importo muto di duplicazione" e "la copia dei file costruire intorno" mi fanno pensare si potrebbero utilizzare formica in modo più efficiente.

Se non l'hai già, guardare i vostri compiti formica, e vedere se è possibile refactoring in modo eliminano la duplicazione. Inoltre, l'opzione di checkout -find ad ANT, se non avete visto già. Non dovrebbe essere necessario per essere la copia di file di costruire intorno.

A proposito, Ivy è per la gestione delle dipendenze, non costruire.

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