Mon but est de copier un ensemble de fichiers spécifié par un modèle dans le répertoire cible. Les fichiers du répertoire source peuvent avoir des sous-répertoires.Copier des fichiers en conservant la structure du répertoire avec rake
J'ai essayé:
cp_r(Dir.glob('**/*.html'), @target_dir):
et
cp_r(FileList['**/*.html'], @target_dir):
mais ni travail.
il ne fonctionne que quand je fais quelque chose comme:
cp_r(Dir['.'], @target_dir):
Mais je dois copier uniquement les fichiers * .html pas quoi que ce soit d'autre.
J'ai besoin ce que
cp --parents
commande ne
Tout conseil en utilisant des méthodes existantes Ruby/Rake?
MISE À JOUR Cela ressemble à quelque chose qui est plus facile à faire avec Ant, n'est pas possible avec Ruby/Rake pile - peut-être que je devrais regarder dans autre chose. Je ne veux pas écrire de code personnalisé pour le faire fonctionner dans Ruby. J'ai juste pensé à Ruby/Rake comme solution appropriée pour cela.
MISE À JOUR 2 Voici comment je le fais avec Ant
<target name="buildeweb" description="Builds web site" depends="clean">
<mkdir dir="${build.dir.web}" />
<copy todir="${build.dir.web}" verbose="true">
<fileset dir="${source.dir.web}">
<include name="**/*.html" />
<include name="**/*.htm" />
</fileset>
</copy>
<chmod perm="a+x">
<fileset dir="${build.dir.web}">
<include name="**/*.html" />
<include name="**/*.htm" />
</fileset>
</chmod>
</target>
Vous pouvez copier tout, puis supprimez ceux qui ne sont pas .html. Ce serait plus facile, puisque vous n'avez pas besoin de jouer avec les chemins. – d11wtq
@ d11wtq, ce n'est pas une bonne solution car dans ce cas, vous devez faire deux choses supplémentaires: copier les fichiers inutiles, puis supprimer les fichiers inutiles. – Vladimir