Re: Moving batches of files with Rake
- From: Jim Weirich <jim@xxxxxxxxxxxxxxxx>
- Date: Sat, 31 Mar 2007 21:04:27 +0900
Gavin Kistner wrote:
I'm comparing Rake and NAnt for our pseudo-build process needs. I've
written the NAnt build file, and now I'm trying to port it (directly
at first) to Rake.
NAnt has a 'move' task for moving batches of files to a new directory.
By default, if you list specific files that don't exist, they are
ignored (not errored). Here's an example of the NAnt section I'm
trying to recreate:
<move todir="${path.intermediate}">
<fileset>
<include name="${dae}" />
<include name="${presentation_name}_org.bgf" />
</fileset>
</move>
<move todir="${path.data}">
<fileset basedir="${path.dae}">
<include name="${presentation_name}.bgf" />
<include name="${presentation_name}.nif" />
<include name="*.bvs" />
<include name="*.lua" />
</fileset>
</move>
Is there a built-in method for doing something like this (using
FileSet perhaps) that I'm not seeing in Rake? If not, does someone
else have a pre-built method that does this?
Use a file list to build up your list of files. Eg.
DAE_FILES = FileList[DAE, "#{PRESENTATION_NAME}_org.pgf"]
Then just use a mv command. Unfortunately, using mv with a file list
seems to require an explicit 'to_a' call. That shouldn't be the case
(I'll see if I can fix that in an update).
Example:
task :move_files do
mv DAE_FILES.to_a, PATH_INTERMEDIATE
end
If you don't want errors on non-existent files, you can filter them out:
task :move_files do
mv DAE_FILES.select { |fn| File.exist?(fn) }.to_a,
PATH_INTERMEDIATE
end
Wordy, but it works.
-- Jim Weirich
--
Posted via http://www.ruby-forum.com/.
.
- References:
- Moving batches of files with Rake
- From: Phrogz
- Moving batches of files with Rake
- Prev by Date: Re: Object/Relational Mapping is the Vietnam of Computer Sci
- Next by Date: Oracle driver doesn't want to load
- Previous by thread: Moving batches of files with Rake
- Next by thread: Is there a library/mechanism for an object/hash hybrid?
- Index(es):
Relevant Pages
|