I would advise you to have a look at the patch that was submitted as part of
bug report #805307
(http://sourceforge.net/tracker/index.php?func=detail&aid=805307&group_id=31
650&atid=402868) and at the remarks I made to the author (included in the
log of the bug report) ...

I really think we can use large parts of the patch ...

Gert

----- Original Message ----- 
From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "James C. Papp" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, October 07, 2003 6:51 AM
Subject: [nant-dev] Re: [Fwd: Ready to tackle next release] (Patches)


> James,
> zip them up and post to me or the list. Big zips will get bounced by the
> list software so better if you can post it on a site somewhere.
>
> If you want to make patches the easiest way is to use tortoisecvs.
> http://www.tortoisecvs.org/. WIth it you can just select a file or group
> of files and select the 'make patch' option.
> Funnily enough someone else submitted a fix for the resx issue that I am
> currently reviewing - it required the addition of about 6 new files so
> it may not be the most efficent design. I'd like to compare your
> implementation and take the best from both of them. The other impl
> includes a bunch of unit tests which will also be useful.
>
> Ian
>
> James C. Papp wrote:
>
> >Great!   I will need to refresh the source with the latest code under CVS
(I'm
> >currently using code released under v0.83), though I do not think that
there
> >will be many changes.  Do you want me to zip up the source files that
have
> >changed and post them to the list, or do you want me to use some tool to
> >create differences.  Does CVS do that?  I've used CVS but not
extensively, I'm
> >a Perforce fan.
> >
> >Also, to clear some confusion:
> >
> >Matthew, I am referring to Compilerbase.cs as Ian has suggested.  I've
checked
> >the latest version under CVS and it has the same problems (actually, it
does
> >not look like the RESX stuff was touched since the v.083 release).
> >
> >Here's what in CVS now (Compilerbase.cs):
> >
> >protected virtual string GetFormNamespace(string resxPath) {
> >  string retnamespace = "";
> >  StreamReader sr = null;
> >
> >  // open matching source file if it exists
> >  string sourceFile = resxPath.Replace("resx", Extension);
> >
> >  try {
> >    sr = File.OpenText(sourceFile);
> >
> >    while (sr.Peek() > -1) {
> >      string str = sr.ReadLine();
> >      string matchnamespace =  @"namespace ((\w+.)*)";
> >      string matchnamespaceCaps =  @"Namespace ((\w+.)*)";
> >      Regex matchNamespaceRE = new Regex(matchnamespace);
> >      Regex matchNamespaceCapsRE = new Regex(matchnamespaceCaps);
> >
> >      if (matchNamespaceRE.Match(str).Success){
> >        Match namematch = matchNamespaceRE.Match(str);
> >        retnamespace = namematch.Groups[1].Value;
> >        retnamespace = retnamespace.Replace("{", "");
> >        retnamespace = retnamespace.Trim();
> >        break;
> >      }
> >      else if (matchNamespaceCapsRE.Match(str).Success) {
> >        Match namematch = matchNamespaceCapsRE.Match(str);
> >        retnamespace = namematch.Groups[1].Value;
> >        retnamespace = retnamespace.Trim();
> >        break;
> >      }
> >    }
> >    return retnamespace;
> >  } catch (FileNotFoundException) {
> >    // if no matching file, dump out
> >    return null;
> >  } finally {
> >    if (sr != null) {
> >      sr.Close();
> >    }
> >  }
> >}
> >
> >Ellaborting on #2, from this code you can see that regardless of file
type the
> >matchNamespaceCapsRE can still be executed.  We were hit by this because
at
> >the top of each of our sorucefiles we have a standard header as well as
> >documention, and it just so happened to include the word "Namespace".
> >
> >With #3, NAnt does nothing to look for the class name, and just uses the
> >filename which is not always correct; the path to a RESX file is
assocated
> >with the class name, not the filename.
> >
> >Matt, you seem to indicate that this type of work is being done somewhere
> >else.  Where is this located, I should take a look at it, to make sure
what I
> >summit is compatible, especially if we want to standardize this stuff in
one
> >place.
> >
> >Thanks,
> >James.
> >
> >Quoting Ian MacLean <[EMAIL PROTECTED]>:
> >
> >
> >
> >>James,
> >>We'd love to see your patches. The resx issues was a known one - if your
> >>solution is cleaner and more accurate then obviously thats the way to
go.
> >>Post patches here and they will be reviewed.
> >>Ian
> >>
> >>
> >>
> >
> >Quoting Matthew Mastracci
> >
> >
> >
> >>Please let me know if I'm totally out to lunch on this one- I'm guessing
> >>that this resx issue you are describing is a problem with the <solution>
> >>task.
> >>
> >>
> >
> >
> >
> >>I haven't really been in the code there lately, but checking in CVS, it
> >>looks as if the resource-compiling functionality is operating correctly
> >>(with the exception of the not-so-smart regex's you mentioned in your
> >>note).  I can't see how more than one regex could be run on a single
> >>file.  Are you running with an older version, or does CVS exhibit the
> >>problems you are seeing?
> >>
> >>
> >
> >
> >
> >>Also with regards to "The biggest problem is that NAnt assumes the
> >>filename (of the source file) is the name of the class that the RESX
> >>should be associated too"- we should (according to the latest code) be
> >>parsing the files to determine the correct namespace/filename of the
> >>final .resource file.  Resources should never be named to match their
> >>dependent files.  Are you perhaps referring to .resx files that are not
> >>associated with any .cs or .vb files?  I could see that there could be a
> >>problem there, but it seems to match VS.NET's behaviour in all of my
> >>tests.
> >>
> >>
> >
> >
> >
> >>Can you please elaborate on #2 and #3 more?  Again, if you're not
> >>talking about what I think you are, let me know, and I apologize in
> >>advance. :)
> >>
> >>
> >
> >
> >
> >>Thanks,
> >>Matt.
> >>
> >>
>
>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> nant-developers mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/nant-developers
>
>



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to