2010-10-01 19 views
1

J'utilise buildr pour mon processus de construction.Stockez tous les fichiers jar dépendants dans le répertoire

Ma configuration du projet:

Projet A -> Projet B A du projet nécessite ant.jar

Alors, je veux créer une sortie à la recherche de ce qui suit:

target/a.jar 
target/lib/b.jar 
target/lib/ant.jar 

Jusqu'à présent , J'ai seulement réussi à créer a.jar dans la cible/ Comment puis-je conserver les fichiers jar dépendants?

+0

Je suis familier avec le plug-in de dépendance mvn mais pas sûr si cela fonctionne pour buildr ou non .. – rogerdpack

+0

Non. vous ne pouvez pas l'utiliser. – simonh

Répondre

0

Vous pouvez étendre la tâche de package pour copier toutes les dépendances du projet A dans target/lib comme si,

ANT = 'org.apache.ant:ant:jar:1.8.1' 

define 'my-project' do 

    define 'A' do 
    compile.with project('B'), ANT 

    package.enhance do 
     mkdir_p _(:target, :lib) 
     compile.dependencies.each do |d| 
     cp d.name, _(:target, :lib) 
     end 
    end 
    end 

    define 'B' do 
    # ... 
    end 
end 
+0

fonctionne très bien. Est améliorer la meilleure façon d'étendre les tâches? Comment cela marche-t-il? Je ne trouve rien à propos de cette méthode dans la documentation de buildr – simonh

+0

Oui, 'améliorer 'est la façon standard d'étendre les tâches. Il provient de la bibliothèque Rake, sur laquelle Buildr est basé: http://rake.rubyforge.org/ Et plus spécifiquement, vous pouvez consulter: http://rake.rubyforge.org/files/doc/rakefile_rdoc.html Lorsque nous publierons la prochaine version de Buildr (1.4.3), le site Web sera mis à jour pour refléter une version fusionnée de rdoc de Buildr et de rdoc de Rake afin qu'il soit plus facile de voir les méthodes héritées pour tous les objets. –