Hello.
I patched RegGen task to fully support /compile resgen.exe
option.
Your old code looks like:
if (Compile) {
bool addComma = false;
writer.Write(" /compile" );
foreach (string fileName in Resources.FileNames) {
if ( addComma ) {
writer.Write(",{0}",fileName );
} else {
writer.Write("{0}",fileName );
addComma = true;
}
}
which constructs such arguments for resgen:
/compile
filename1.from.fileset,filename2.from.fileset,filename3.from.fileset,... outputfile
this is invalid, because resgen wants arguments to look like:
/compile filename1.from.fileset,some.output.name
filename2.from.fileset,some.output.name2 ...
But fileset (resources) only defines source files and it can't define output file
names, so in my version resgen generates resources with default file names
(filename +
".resources") and places them in source file directory.
Now it's possible to generate resource for dir tree like
Resources/strings.txt
Resources/es/strings.txt
Resources/fr/strings.txt
...
by task:
<resgen compile="true">
<resources basedir="${source.dir}/Resources">
<includes name="**.txt"/>
</resources>
</resgen>
and get .resources files in the same directories where source txt files reside.
PS In future, I think, it will be great to have possibility to force generated
resources get some
non-default names with something like ant's <mapper>.
Best regards,
MaxMP mailto:[EMAIL PROTECTED]
ResGenTask.cs
Description: Binary data
