[svn] r7272: nemerle/trunk: macros/Util.n ncc/misc/AssemblyInfo.n
tools/msbuild-task/MSBuildTask.n
nazgul
svnadmin at nemerle.org
Mon Jan 15 23:29:09 CET 2007
Log:
SVN attribute
Author: nazgul
Date: Mon Jan 15 23:29:01 2007
New Revision: 7272
Modified:
nemerle/trunk/macros/Util.n
nemerle/trunk/ncc/misc/AssemblyInfo.n
nemerle/trunk/tools/msbuild-task/MSBuildTask.n
Modified: nemerle/trunk/macros/Util.n
==============================================================================
--- nemerle/trunk/macros/Util.n (original)
+++ nemerle/trunk/macros/Util.n Mon Jan 15 23:29:01 2007
@@ -255,6 +255,50 @@
}
}
+ [Nemerle.MacroUsage (Nemerle.MacroPhase.BeforeInheritance,
+ Nemerle.MacroTargets.Assembly)]
+ macro AssemblyVersionFromSVN (val : string) {
+ def rev () {
+ try {
+ def svn = System.Diagnostics.Process();
+ svn.StartInfo.FileName = "svn";
+ svn.StartInfo.Arguments = "info";
+ svn.StartInfo.CreateNoWindow = true;
+ svn.StartInfo.UseShellExecute = false;
+ svn.StartInfo.RedirectStandardOutput = true;
+ svn.StartInfo.RedirectStandardError = true;
+ _ = svn.Start();
+ def stdout = svn.StandardOutput.ReadToEnd();
+ svn.WaitForExit ();
+ if (svn.ExitCode == 0) {
+ foreach (l in stdout.Split ('\n'))
+ when (l.StartsWith ("Revision"))
+ Nemerle.Text.regexp (match (l) {
+ | @".* (?<num : int>\d+).*" => Nemerle.Imperative.Return (num)
+ | _ => ()
+ });
+ -1
+ }
+ else -2
+ }
+ catch {
+ | _ => -3
+ }
+ }
+ def svnidx = val.IndexOf ("SVN", System.StringComparison.InvariantCultureIgnoreCase);
+ def val =
+ if (svnidx != -1) {
+ def svnrev = rev ();
+ if (svnrev < 0)
+ val.Substring (0, svnidx) + "*" + val.Substring (svnidx + 3)
+ else
+ val.Substring (0, svnidx) + svnrev.ToString () + val.Substring (svnidx + 3)
+ }
+ else val;
+ Nemerle.Macros.Manager().Hierarchy.AddAssemblyAttribute (Nemerle.Macros.Manager().CoreEnv,
+ <[ System.Reflection.AssemblyVersion ($(val : string)) ]>);
+ }
+
[Nemerle.MacroUsage (Nemerle.MacroPhase.WithTypedMembers,
Nemerle.MacroTargets.Class,
Modified: nemerle/trunk/ncc/misc/AssemblyInfo.n
==============================================================================
--- nemerle/trunk/ncc/misc/AssemblyInfo.n (original)
+++ nemerle/trunk/ncc/misc/AssemblyInfo.n Mon Jan 15 23:29:01 2007
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004 The University of Wroclaw.
+ * Copyright (c) 2003-2007 The University of Wroclaw.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
[assembly: System.Reflection.AssemblyDescription("Nemerle (http://nemerle.org) Language Compiler Library")]
[assembly: System.Reflection.AssemblyCompany("University of Wroclaw")]
[assembly: System.Reflection.AssemblyProduct("Nemerle Language Compiler")]
-[assembly: System.Reflection.AssemblyCopyright("Copyright @ University of Wroclaw 2003-2005")]
+[assembly: System.Reflection.AssemblyCopyright("Copyright @ University of Wroclaw 2003-2007")]
[assembly: System.Reflection.AssemblyVersion("0.9.3.*")]
[assembly: System.Runtime.InteropServices.ComVisible (false)]
Modified: nemerle/trunk/tools/msbuild-task/MSBuildTask.n
==============================================================================
--- nemerle/trunk/tools/msbuild-task/MSBuildTask.n (original)
+++ nemerle/trunk/tools/msbuild-task/MSBuildTask.n Mon Jan 15 23:29:01 2007
@@ -39,6 +39,8 @@
using Nemerle.Utility;
+[assembly: AssemblyVersionFromSVN ("0.9.3.SVN")]
+
namespace Nemerle.Tools.MSBuildTask
{
[Record]
More information about the svn
mailing list