Browse Source

Merge branch 'gitUpdateAssemblyInfo4'

pull/1/head
Daniel Grunwald 15 years ago
parent
commit
6eceaaafce
  1. 1018
      doc/ChangeLog.template.html
  2. 4
      src/AddIns/Misc/StartPage/Project/Src/StartPageControl.xaml
  3. 5
      src/AddIns/Misc/StartPage/Project/Src/StartPageControl.xaml.cs
  4. 17
      src/Automated.proj
  5. 2
      src/Main/Base/Project/Resources/CommonAboutDialog.xfrm
  6. 5
      src/Main/Base/Project/Src/Gui/Dialogs/CommonAboutDialog.cs
  7. 4
      src/Main/Core/Project/ICSharpCode.Core.csproj
  8. 4
      src/Main/GlobalAssemblyInfo.template
  9. 1
      src/Setup/Files.wxs
  10. 6
      src/Setup/SharpDevelop.Setup.wixproj.user
  11. 2
      src/Setup/SharpDevelop.Setup.wixproj.user.template
  12. 2
      src/Setup/buildSetup.bat
  13. 118
      src/Tools/SVNChangeLogToXml/Main.cs
  14. 61
      src/Tools/SVNChangeLogToXml/SVNChangelogToXml.csproj
  15. 1
      src/Tools/SVNChangeLogToXml/SVNChangelogToXml.csproj.user
  16. 18
      src/Tools/SVNChangeLogToXml/SVNChangelogToXml.sln
  17. 115
      src/Tools/SVNChangeLogToXml/SVNChangelogToXml.xsl
  18. 11
      src/Tools/Tools.build
  19. 194
      src/Tools/UpdateAssemblyInfo/Main.cs
  20. 36
      src/Tools/UpdateAssemblyInfo/Readme.txt
  21. 30
      src/Tools/UpdateAssemblyInfo/UpdateAssemblyInfo.csproj
  22. BIN
      src/Tools/UpdateAssemblyInfo/bin/Debug/UpdateAssemblyInfo.exe
  23. 232
      src/Tools/UpdateSetupInfo/Main.cs
  24. 36
      src/Tools/UpdateSetupInfo/Readme.txt
  25. 52
      src/Tools/UpdateSetupInfo/UpdateSetupInfo.csproj
  26. 18
      src/Tools/UpdateSetupInfo/UpdateSetupInfo.sln

1018
doc/ChangeLog.template.html

File diff suppressed because it is too large Load Diff

4
src/AddIns/Misc/StartPage/Project/Src/StartPageControl.xaml

@ -74,9 +74,7 @@ @@ -74,9 +74,7 @@
Grid.Row="2"
Padding="4,0,4,0"
TextWrapping="WrapWithOverflow">
Copyright ©<Run Name="copyrightYearRange"/>
<Hyperlink
NavigateUri="mailto:webmaster@icsharpcode.net">IC#SharpCode</Hyperlink>
Copyright ©<Run Name="copyrightText"/>
<Run Text=" "/>
<Run
Text="{x:Static gui:AboutSharpDevelopTabPage.LicenseSentence}" />

5
src/AddIns/Misc/StartPage/Project/Src/StartPageControl.xaml.cs

@ -11,6 +11,7 @@ using System.Reflection; @@ -11,6 +11,7 @@ using System.Reflection;
using System.Windows.Controls;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.StartPage
{
@ -27,8 +28,8 @@ namespace ICSharpCode.StartPage @@ -27,8 +28,8 @@ namespace ICSharpCode.StartPage
List<BoxEntry> entries = items.ConvertAll(control => new BoxEntry { Control = control } );
startPageItems.ItemsSource = entries;
var aca = (AssemblyCopyrightAttribute)typeof(StartPageControl).Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0];
copyrightYearRange.Text = aca.Copyright.Substring(0, 9);
var aca = (AssemblyCopyrightAttribute)typeof(CommonAboutDialog).Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0];
copyrightText.Text = aca.Copyright;
}
sealed class BoxEntry

17
src/Automated.proj

@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
<SharpDevelopSrc>$(ProjectDir)\src</SharpDevelopSrc>
<SharpDevelopBin>$(ProjectDir)\bin</SharpDevelopBin>
<MSBuildCommunityTasksPath>$(MSBuildProjectDirectory)\Tools\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
<ArtefactPrefix>SharpDevelop_4.0.0.</ArtefactPrefix>
<ArtefactPrefix>SharpDevelop_</ArtefactPrefix>
<NUnitToolPath>$(MSBuildProjectDirectory)\Tools\NUnit</NUnitToolPath>
<NUnitTempToolPath>$(SharpDevelopBin)\Tools\x86NUnit</NUnitTempToolPath>
<ProfilerSrc>$(SharpDevelopSrc)\AddIns\Misc\Profiler</ProfilerSrc>
@ -57,13 +57,11 @@ @@ -57,13 +57,11 @@
Targets="PrepareRelease"
Properties="Configuration=Release"/>
<!-- read content of REVISION into $(BuildNumer) -->
<ReadLinesFromFile File="$(ProjectDir)\REVISION">
<Output TaskParameter="Lines" ItemName="REVISIONLines"/>
</ReadLinesFromFile>
<CreateProperty Value="@(REVISIONLines)">
<Output TaskParameter="Value" PropertyName="BuildNumber"/>
</CreateProperty>
<!-- read content of REVISION into $(BuildNumber) -->
<XmlRead XPath="/versionInfo/version"
XmlFileName="$(ProjectDir)\REVISION">
<Output TaskParameter="Value" PropertyName="BuildNumber" />
</XmlRead>
<Message Importance="high" Text="BuildNumber=$(BuildNumber)"/>
<Copy SourceFiles="$(ProjectDir)\REVISION"
@ -122,9 +120,6 @@ @@ -122,9 +120,6 @@
</Target>
<Target Name="createsetup">
<Exec WorkingDirectory="$(SharpDevelopSrc)\Tools\UpdateSetupInfo\bin\"
Command="UpdateSetupInfo.exe"/>
<Exec WorkingDirectory="$(SharpDevelopSrc)\Setup"
Command="$(MSBuildExecutable) SharpDevelop.Setup.sln $(BuildProperties)"/>

2
src/Main/Base/Project/Resources/CommonAboutDialog.xfrm

@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
<!-- The copyright label -->
<System.Windows.Forms.Label>
<Text value = "(c) 2000-2010 by icsharpcode.net"/>
<Name value = "copyrightLabel"/>
<Width value = "400"/>
<Height value = "20"/>
<Location value = "{X=8, Y=234}"/>

5
src/Main/Base/Project/Src/Gui/Dialogs/CommonAboutDialog.cs

@ -7,8 +7,9 @@ @@ -7,8 +7,9 @@
using System;
using System.Drawing;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using ICSharpCode.Core.WinForms;
using ICSharpCode.SharpDevelop.Gui.XmlForms;
@ -132,6 +133,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -132,6 +133,8 @@ namespace ICSharpCode.SharpDevelop.Gui
public CommonAboutDialog()
{
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("Resources.CommonAboutDialog.xfrm"));
var aca = (AssemblyCopyrightAttribute)typeof(CommonAboutDialog).Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0];
ControlDictionary["copyrightLabel"].Text = "Copyright " + aca.Copyright;
}
protected override void SetupXmlLoader()

4
src/Main/Core/Project/ICSharpCode.Core.csproj

@ -140,4 +140,8 @@ @@ -140,4 +140,8 @@
<PropertyGroup>
<PreBuildEvent>..\src\Tools\UpdateAssemblyInfo\bin\Debug\UpdateAssemblyInfo.exe</PreBuildEvent>
</PropertyGroup>
<Target Name="BeforeBuild">
<MSBuild Projects="$(MSBuildProjectDirectory)\..\..\..\Tools\UpdateAssemblyInfo\UpdateAssemblyInfo.csproj" Targets="Build" Properties="Configuration=Debug"/>
<Exec WorkingDirectory="$(MSBuildProjectDirectory)\..\..\..\Tools\UpdateAssemblyInfo\bin\Debug" Command="UpdateAssemblyInfo.exe" />
</Target>
</Project>

4
src/Main/GlobalAssemblyInfo.template

@ -20,7 +20,7 @@ using System.Reflection; @@ -20,7 +20,7 @@ using System.Reflection;
[assembly: System.Runtime.InteropServices.ComVisible(false)]
[assembly: AssemblyCompany("ic#code")]
[assembly: AssemblyProduct("SharpDevelop")]
[assembly: AssemblyCopyright("2000-2010 AlphaSierraPapa")]
[assembly: AssemblyCopyright("2000-$INSERTYEAR$ AlphaSierraPapa for the SharpDevelop Team")]
[assembly: AssemblyVersion(RevisionClass.FullVersion)]
[assembly: NeutralResourcesLanguage("en-US")]
@ -29,7 +29,7 @@ internal static class RevisionClass @@ -29,7 +29,7 @@ internal static class RevisionClass
public const string Major = "4";
public const string Minor = "0";
public const string Build = "0";
public const string Revision = "-INSERTREVISION-";
public const string Revision = "$INSERTREVISION$";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

1
src/Setup/Files.wxs

@ -442,6 +442,7 @@ @@ -442,6 +442,7 @@
<Directory Id="DocFolder" Name="doc">
<Component Guid="9DCED5AC-B771-4A4F-B4FE-69867BF2EBDE" Id="SharpDevelopDocFiles" DiskId="1">
<File Source="..\..\doc\BuiltWithSharpDevelop.png" Id="BuiltWithSharpDevelop.png" Name="BuiltWithSharpDevelop.png" />
<File Source="..\..\doc\ChangeLog.html" Id="ChangeLog.html" Name="ChangeLog.html" />
<File Source="..\..\doc\copyright.txt" Id="copyright.txt" Name="copyright.txt" />
<File Source="..\..\doc\license.txt" Name="license.txt" Id="DocFolderLicense.txt" />
<File Source="..\..\doc\readme.rtf" Name="readme.rtf" Id="readme.rtf" />

6
src/Setup/SharpDevelop.Setup.wixproj.user

@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<SetupProductBuildVersion>1</SetupProductBuildVersion>
<DefineConstants>PRODUCTBUILDVERSION=$(SetupProductBuildVersion)</DefineConstants>
</PropertyGroup>
</Project>

2
src/Setup/SharpDevelop.Setup.wixproj.user.template

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<SetupProductBuildVersion>$INSERTPRODUCTBUILDVERSION$</SetupProductBuildVersion>
<SetupProductBuildVersion>$INSERTREVISION$</SetupProductBuildVersion>
<DefineConstants>PRODUCTBUILDVERSION=$(SetupProductBuildVersion)</DefineConstants>
</PropertyGroup>
</Project>

2
src/Setup/buildSetup.bat

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
del "bin\SharpDevelop.msi"
"..\Tools\UpdateSetupInfo\bin\UpdateSetupInfo.exe"
"..\Tools\UpdateAssemblyInfo\bin\Debug\UpdateAssemblyInfo.exe"
%windir%\microsoft.net\framework\v4.0.30319\msbuild SharpDevelop.Setup.sln "/p:SharpDevelopBinPath=%CD%\..\..\bin"
@IF %ERRORLEVEL% NEQ 0 PAUSE

118
src/Tools/SVNChangeLogToXml/Main.cs

@ -1,118 +0,0 @@ @@ -1,118 +0,0 @@
using System;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Xsl;
using SharpSvn;
class MainClass
{
public static int Main(string[] args)
{
Console.WriteLine("Initializing changelog application...");
try {
if (!File.Exists("SharpDevelop.sln")) {
if (File.Exists(@"..\..\..\..\..\SharpDevelop.sln")) {
Directory.SetCurrentDirectory(@"..\..\..\..\..");
}
}
if (!File.Exists("SharpDevelop.sln")) {
Console.WriteLine("Working directory must be 'SharpDevelop'");
return 2;
}
int start = 2;
for(int i = 0; i < args.Length; i++)
{
if(args[i] == "--REVISION")
{
CreateRevisionFile();
}
else if(args[i] == "--START") {
Int32.TryParse(args[i + 1], out start);
}
}
ConvertChangeLog(start);
return 0;
} catch (Exception ex) {
Console.WriteLine(ex);
return 1;
}
}
static void CreateRevisionFile()
{
Console.Write("Writing revision to file: ");
long rev = 0;
string filename = Path.GetFullPath(".");
SvnWorkingCopyClient client = new SvnWorkingCopyClient();
SvnWorkingCopyVersion version;
if (client.GetVersion(filename, out version)) {
rev = version.Start;
}
Console.WriteLine(rev);
using (StreamWriter writer = new StreamWriter("REVISION")) {
writer.Write(rev.ToString());
}
}
static void ConvertChangeLog(int startRevision)
{
Console.WriteLine("Reading SVN changelog, this might take a while...");
SvnClient client = new SvnClient();
StringWriter writer = new StringWriter();
XmlTextWriter xmlWriter = new XmlTextWriter(writer);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("log");
int progressCount = 0;
client.Log(
Environment.CurrentDirectory,
new SvnLogArgs {
// retrieve log in reverse order
Start = SvnRevision.Base,
End = new SvnRevision(startRevision)
},
delegate(object sender, SvnLogEventArgs e) {
if (++progressCount == 10) {
Console.Write(".");
progressCount = 0;
}
xmlWriter.WriteStartElement("logentry");
xmlWriter.WriteAttributeString("revision", e.Revision.ToString(CultureInfo.InvariantCulture));
xmlWriter.WriteElementString("author", e.Author);
xmlWriter.WriteElementString("date", e.Time.ToUniversalTime().ToString("MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture));
xmlWriter.WriteElementString("msg", e.LogMessage);
xmlWriter.WriteEndElement();
}
);
xmlWriter.WriteEndDocument();
Console.WriteLine();
XmlTextReader input = new XmlTextReader(new StringReader(writer.ToString()));
XslCompiledTransform xsl = new XslCompiledTransform();
xsl.Load(Path.Combine(Path.GetDirectoryName(typeof(MainClass).Assembly.Location), "SVNChangelogToXml.xsl"));
StreamWriter tw = new StreamWriter(@"doc\ChangeLog.xml", false, Encoding.UTF8);
xmlWriter = new XmlTextWriter(tw);
xmlWriter.Formatting = Formatting.Indented;
xsl.Transform(input, xmlWriter);
xmlWriter.Close();
tw.Close();
client.Dispose();
Console.WriteLine("Finished");
}
}

61
src/Tools/SVNChangeLogToXml/SVNChangelogToXml.csproj

@ -1,61 +0,0 @@ @@ -1,61 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.40607</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{c6159c5e-f6ef-4a63-b152-0e49159b6059}</ProjectGuid>
<RootNamespace>SVNChangelogToXml</RootNamespace>
<AssemblyName>SVNChangelogToXml</AssemblyName>
<OutputTarget>Exe</OutputTarget>
<NoStdLib>False</NoStdLib>
<NoConfig>False</NoConfig>
<RunPostBuildEvent>OnSuccessfulBuild</RunPostBuildEvent>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>x86</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<NoWarn>1607</NoWarn>
<StartArguments>--REVISION --START 100</StartArguments>
<SourceAnalysisOverrideSettingsFile>C:\Users\Daniel\AppData\Roaming\ICSharpCode/SharpDevelop3.0\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<OutputPath>bin\Debug\</OutputPath>
<Optimize>False</Optimize>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugType>Full</DebugType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>False</DebugSymbols>
<Optimize>True</Optimize>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<OutputPath>bin\Release\</OutputPath>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Reference Include="SharpSvn">
<HintPath>..\..\Libraries\SharpSvn\SharpSvn.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Main.cs" />
</ItemGroup>
<ItemGroup>
<None Include="SVNChangelogToXml.xsl">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project>

1
src/Tools/SVNChangeLogToXml/SVNChangelogToXml.csproj.user

@ -1 +0,0 @@ @@ -1 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

18
src/Tools/SVNChangeLogToXml/SVNChangelogToXml.sln

@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
# SharpDevelop 4.0.0.4979
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVNChangelogToXml", "SVNChangelogToXml.csproj", "{c6159c5e-f6ef-4a63-b152-0e49159b6059}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C6159C5E-F6EF-4A63-B152-0E49159B6059}.Debug|Any CPU.Build.0 = Debug|AnyCPU
{C6159C5E-F6EF-4A63-B152-0E49159B6059}.Debug|Any CPU.ActiveCfg = Debug|AnyCPU
{C6159C5E-F6EF-4A63-B152-0E49159B6059}.Release|Any CPU.Build.0 = Release|AnyCPU
{C6159C5E-F6EF-4A63-B152-0E49159B6059}.Release|Any CPU.ActiveCfg = Release|AnyCPU
EndGlobalSection
EndGlobal

115
src/Tools/SVNChangeLogToXml/SVNChangelogToXml.xsl

@ -1,115 +0,0 @@ @@ -1,115 +0,0 @@
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="log">
<ChangeLog project="SharpDevelop">
<xsl:for-each select="./logentry">
<Change>
<xsl:attribute name="author">
<xsl:variable name="orig_author" select="./author" />
<xsl:variable name="author">
<xsl:choose>
<xsl:when test="$orig_author = 'mikekrueger'">
<xsl:text>Mike Krüger</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'roma'">
<xsl:text>Roman Taranchenko</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'georgb'">
<xsl:text>Georg Brandl</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'andreapaatz'">
<xsl:text>Andrea Paatz</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'danielgrunwald'">
<xsl:text>Daniel Grunwald</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'denise'">
<xsl:text>Denis Erchoff</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'markuspalme'">
<xsl:text>Markus Palme</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'ivoko'">
<xsl:text>Ivo Kovacka</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'jfreilly'">
<xsl:text>John Reilly</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'christophw'">
<xsl:text>Christoph Wille</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'alexandre'">
<xsl:text>Alexandre Semenov</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'nikola'">
<xsl:text>Nikola Kavaldjiev</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'mattward'">
<xsl:text>Matt Ward</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'mathiassimmack'">
<xsl:text>Mathias Simmack</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'davidsrbecky'">
<xsl:text>David Srbecký</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'davidalpert'">
<xsl:text>David Alpert</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'peterforstmeier'">
<xsl:text>Peter Forstmeier</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'scottferrett'">
<xsl:text>Scott Ferrett</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'dickonfield'">
<xsl:text>Dickon Field</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'itaibarhaim'">
<xsl:text>Itai Bar-Haim</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'christianhornung'">
<xsl:text>Christian Hornung</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'justindearing'">
<xsl:text>Justin Dearing</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'russellwilkins'">
<xsl:text>Russell Wilkins</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'robertpickering'">
<xsl:text>Robert Pickering</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'siegfriedpammer'">
<xsl:text>Siegfried Pammer</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'ivanshumilin'">
<xsl:text>Ivan Shumilin</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'philippmaihart'">
<xsl:text>Philipp Maihart</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'martinkonicek'">
<xsl:text>Martin Koníček</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'tomasztretkowski'">
<xsl:text>Tomasz Tretkowski</xsl:text>
</xsl:when>
<xsl:when test="$orig_author = 'sergejandrejev'">
<xsl:text>Sergej Andrejev</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="./author" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$author" />
</xsl:attribute>
<xsl:attribute name="date">
<xsl:value-of select="./date" />
</xsl:attribute>
<xsl:value-of select="./msg" />
</Change>
</xsl:for-each>
</ChangeLog>
</xsl:template>
</xsl:transform>

11
src/Tools/Tools.build

@ -52,16 +52,9 @@ @@ -52,16 +52,9 @@
<Target Name="Rebuild" DependsOnTargets="Build"/>
<ItemGroup>
<PrepareReleaseProject Include="SVNChangeLogToXml\SVNChangeLogToXml.csproj" />
</ItemGroup>
<Target Name="PrepareRelease">
<MSBuild Projects="@(PrepareReleaseProject)" Targets="Build"/>
<Exec Command="SVNChangelogToXml.exe --START 3392" WorkingDirectory="SVNChangeLogToXml\bin\Release" Timeout = "120000" IgnoreExitCode = "false"/>
<Exec WorkingDirectory="UpdateAssemblyInfo\bin\Debug" Command="UpdateAssemblyInfo.exe --REVISION" Timeout = "60000" IgnoreExitCode = "false"/>
<RemoveDir Directories="SVNChangeLogToXml\bin" />
<RemoveDir Directories="SVNChangeLogToXml\obj" />
<!--<MSBuild Projects="@(PrepareReleaseProject)" Targets="Build"/>-->
<Exec Command="UpdateAssemblyInfo.exe --REVISION" WorkingDirectory = "UpdateAssemblyInfo\bin\Debug" Timeout = "60000" IgnoreExitCode = "false"/>
</Target>
<ItemGroup>

194
src/Tools/UpdateAssemblyInfo/Main.cs

@ -9,25 +9,50 @@ using System.Collections.Specialized; @@ -9,25 +9,50 @@ using System.Collections.Specialized;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using SharpSvn;
using System.Threading;
using System.Xml.Linq;
namespace UpdateAssemblyInfo
{
// Updates the version numbers in the assembly information.
class MainClass
{
const string templateFile = "src/Main/GlobalAssemblyInfo.template";
const string globalAssemblyInfo = "src/Main/GlobalAssemblyInfo.cs";
const string configTemplateFile = "src/Main/StartUp/Project/app.template.config";
const string configFile = "src/Main/StartUp/Project/SharpDevelop.exe.config";
const string configFile2 = "src/Main/ICSharpCode.SharpDevelop.Sda/ICSharpCode.SharpDevelop.Sda.dll.config";
const string subversionLibraryDir = "src/Libraries/SharpSvn";
const string BaseCommit = "f118057b0f20994c272aba765b54db10d5c1c793";
const int BaseCommitRev = 6366;
const string globalAssemblyInfoTemplateFile = "src/Main/GlobalAssemblyInfo.template";
static readonly TemplateFile[] templateFiles = {
new TemplateFile {
Input = globalAssemblyInfoTemplateFile,
Output = "src/Main/GlobalAssemblyInfo.cs"
},
new TemplateFile {
Input = "src/Main/StartUp/Project/app.template.config",
Output = "src/Main/StartUp/Project/SharpDevelop.exe.config"
},
new TemplateFile {
Input = "src/Main/StartUp/Project/app.template.config",
Output = "src/Main/ICSharpCode.SharpDevelop.Sda/ICSharpCode.SharpDevelop.Sda.dll.config"
},
new TemplateFile {
Input = "src/Setup/SharpDevelop.Setup.wixproj.user.template",
Output = "src/Setup/SharpDevelop.Setup.wixproj.user"
},
new TemplateFile {
Input = "doc/ChangeLog.template.html",
Output = "doc/ChangeLog.html"
},
};
class TemplateFile
{
public string Input, Output;
}
public static int Main(string[] args)
{
@ -54,18 +79,16 @@ namespace UpdateAssemblyInfo @@ -54,18 +79,16 @@ namespace UpdateAssemblyInfo
Console.WriteLine("Working directory must be SharpDevelop!");
return 2;
}
FileCopy(Path.Combine(subversionLibraryDir, "SharpSvn.dll"),
Path.Combine(exeDir, "SharpSvn.dll"));
RetrieveRevisionNumber();
string versionNumber = GetMajorVersion() + "." + revisionNumber;
UpdateStartup();
UpdateRedirectionConfig(versionNumber);
foreach (string arg in args) {
if (arg == "--REVISION") {
using (StreamWriter writer = new StreamWriter("REVISION")) {
writer.Write(revisionNumber);
}
}
UpdateFiles();
if (args.Contains("--REVISION")) {
var doc = new XDocument(new XElement(
"versionInfo",
new XElement("version", fullVersionNumber),
new XElement("revision", revisionNumber),
new XElement("commitHash", gitCommitHash)
));
doc.Save("REVISION");
}
return 0;
}
@ -75,58 +98,30 @@ namespace UpdateAssemblyInfo @@ -75,58 +98,30 @@ namespace UpdateAssemblyInfo
}
}
static void FileCopy(string source, string target)
{
if (File.Exists(target)) {
// don't copy file if it is up-to-date: repeatedly copying a 3 MB file slows down the build
if (File.GetLastWriteTimeUtc(source) == File.GetLastWriteTimeUtc(target))
return;
}
File.Copy(source, target, true);
}
static void UpdateStartup()
{
string content;
using (StreamReader r = new StreamReader(templateFile)) {
content = r.ReadToEnd();
}
content = content.Replace("-INSERTREVISION-", revisionNumber);
if (File.Exists(globalAssemblyInfo)) {
using (StreamReader r = new StreamReader(globalAssemblyInfo)) {
if (r.ReadToEnd() == content) {
// nothing changed, do not overwrite file to prevent recompilation
// every time.
return;
}
}
}
using (StreamWriter w = new StreamWriter(globalAssemblyInfo, false, Encoding.UTF8)) {
w.Write(content);
}
}
static void UpdateRedirectionConfig(string fullVersionNumber)
static void UpdateFiles()
{
foreach (var file in templateFiles) {
string content;
using (StreamReader r = new StreamReader(configTemplateFile)) {
using (StreamReader r = new StreamReader(file.Input)) {
content = r.ReadToEnd();
}
content = content.Replace("$INSERTVERSION$", fullVersionNumber);
if (File.Exists(configFile) && File.Exists(configFile2)) {
using (StreamReader r = new StreamReader(configFile)) {
content = content.Replace("$INSERTREVISION$", revisionNumber);
content = content.Replace("$INSERTCOMMITHASH$", gitCommitHash);
content = content.Replace("$INSERTDATE$", DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture));
content = content.Replace("$INSERTYEAR$", DateTime.Now.Year.ToString());
if (File.Exists(file.Output)) {
using (StreamReader r = new StreamReader(file.Output)) {
if (r.ReadToEnd() == content) {
// nothing changed, do not overwrite file to prevent recompilation
// every time.
return;
continue;
}
}
}
using (StreamWriter w = new StreamWriter(configFile, false, Encoding.UTF8)) {
using (StreamWriter w = new StreamWriter(file.Output, false, Encoding.UTF8)) {
w.Write(content);
}
using (StreamWriter w = new StreamWriter(configFile2, false, Encoding.UTF8)) {
w.Write(content);
}
}
@ -134,7 +129,7 @@ namespace UpdateAssemblyInfo @@ -134,7 +129,7 @@ namespace UpdateAssemblyInfo
{
string version = "?";
// Get main version from startup
using (StreamReader r = new StreamReader(templateFile)) {
using (StreamReader r = new StreamReader(globalAssemblyInfoTemplateFile)) {
string line;
while ((line = r.ReadLine()) != null) {
string search = "string Major = \"";
@ -175,60 +170,61 @@ namespace UpdateAssemblyInfo @@ -175,60 +170,61 @@ namespace UpdateAssemblyInfo
}
#region Retrieve Revision Number
static string revisionNumber = "0";
static string ReadRevisionFromFile()
static string revisionNumber;
static string fullVersionNumber;
static string gitCommitHash;
static void RetrieveRevisionNumber()
{
try {
using (StreamReader reader = new StreamReader(@"REVISION")) {
return reader.ReadLine();
}
} catch (Exception e) {
Console.WriteLine(e.Message);
Console.WriteLine();
Console.WriteLine("The revision number of the SharpDevelop version being compiled could not be retrieved.");
Console.WriteLine();
Console.WriteLine("Build continues with revision number '0'...");
return "0";
if (revisionNumber == null) {
if (Directory.Exists("..\\.git")) {
ReadRevisionNumberFromGit();
}
}
static void RetrieveRevisionNumber()
{
if (Directory.Exists(".svn")) {
string oldWorkingDir = Environment.CurrentDirectory;
try {
// Change working dir so that the subversion libraries can be found
Environment.CurrentDirectory = Path.Combine(Environment.CurrentDirectory, subversionLibraryDir);
using (SvnClient client = new SvnClient()) {
client.Info(
oldWorkingDir,
(sender, info) => {
revisionNumber = info.Revision.ToString(CultureInfo.InvariantCulture);
});
}
} catch (Exception e) {
Console.WriteLine("Reading revision number with SharpSvn failed: " + e.ToString());
} finally {
Environment.CurrentDirectory = oldWorkingDir;
if (revisionNumber == null) {
ReadRevisionFromFile();
}
fullVersionNumber = GetMajorVersion() + "." + revisionNumber;
}
if (revisionNumber == null || revisionNumber.Length == 0 || revisionNumber == "0") {
if (Directory.Exists("..\\.git")) {
ProcessStartInfo info = new ProcessStartInfo("cmd", "/c git log HEAD~20..HEAD --no-color");
static void ReadRevisionNumberFromGit()
{
ProcessStartInfo info = new ProcessStartInfo("cmd", "/c git rev-list --first-parent " + BaseCommit + "..HEAD");
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
using (Process p = Process.Start(info)) {
string output = p.StandardOutput.ReadToEnd();
var m = Regex.Match(output, @"git-svn-id:.*@(\d+) [0-9a-f]{8}-");
if (m.Success) {
revisionNumber = m.Groups[1].Value;
string line;
int revNum = BaseCommitRev;
while ((line = p.StandardOutput.ReadLine()) != null) {
if (gitCommitHash == null) {
// first entry is HEAD
gitCommitHash = line;
}
revNum++;
}
revisionNumber = revNum.ToString();
p.WaitForExit();
if (p.ExitCode != 0)
throw new Exception("git-rev-list exit code was " + p.ExitCode);
}
}
if (revisionNumber == null || revisionNumber.Length == 0 || revisionNumber == "0") {
revisionNumber = ReadRevisionFromFile();
static void ReadRevisionFromFile()
{
try {
XDocument doc = XDocument.Load("REVISION");
revisionNumber = (string)doc.Root.Element("revision");
gitCommitHash = (string)doc.Root.Element("commitHash");
} catch (Exception e) {
Console.WriteLine(e.Message);
Console.WriteLine();
Console.WriteLine("The revision number of the SharpDevelop version being compiled could not be retrieved.");
Console.WriteLine();
Console.WriteLine("Build continues with revision number '0'...");
revisionNumber = "0";
gitCommitHash = null;
}
if (revisionNumber == null || revisionNumber.Length == 0) {
revisionNumber = "0";

36
src/Tools/UpdateAssemblyInfo/Readme.txt

@ -1 +1,35 @@ @@ -1 +1,35 @@
Read doc/technotes/Versioning.html
Assembly versioning: Please read doc/technotes/Versioning.html
Updates the SharpDevelop Setup information
------------------------------------------
Product Revision (Subversion revision number)
With WiX 3 the package code and product code guids do not need to be generated by
this tool and can be autogenerated by WiX.
The build server and the buildSetup.bat executes the UpdateSetupInfo tool before
building SharpDevelop.Setup.sln. The SharpDevelop.Setup project does not use the tool.
Operation
---------
1) The SharpDevelop.Setup.wixproj.user is is generated each time the tool is run
based on the SharpDevelop.Setup.wixproj.user.template file. The product revision is inserted
into the newly generated file.
2) The build server and buildSetup.bat will run the UpdateSetupInfo tool.
This is not done by the SharpDevelop.Setup project itself intentionally so
nothing changes when building the project from inside SharpDevelop. The
modified SharpDevelop.Setup.wixproj.user need not be checked into the
repository on each build on the build server.
Creating Releases
-----------------
When creating a release either the setup msi from the build server should be
used or that generated after running buildSetup.bat. This will revision number
if the current revision has changed.

30
src/Tools/UpdateAssemblyInfo/UpdateAssemblyInfo.csproj

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<OutputType>Exe</OutputType>
<RootNamespace>UpdateAssemblyInfo</RootNamespace>
@ -9,7 +10,6 @@ @@ -9,7 +10,6 @@
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<NoStdLib>False</NoStdLib>
<DebugType>PdbOnly</DebugType>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
@ -17,10 +17,10 @@ @@ -17,10 +17,10 @@
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugSymbols>false</DebugSymbols>
<NoWarn>1607</NoWarn>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<SourceAnalysisOverrideSettingsFile>C:\Users\Daniel\AppData\Roaming\ICSharpCode/SharpDevelop3.0\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile>
<StartArguments>--REVISION</StartArguments>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
@ -32,14 +32,28 @@ @@ -32,14 +32,28 @@
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugType>Full</DebugType>
<DebugSymbols>true</DebugSymbols>
<StartAction>Project</StartAction>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugType>None</DebugType>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<Reference Include="SharpSvn">
<HintPath>..\..\Libraries\SharpSvn\SharpSvn.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Main.cs" />

BIN
src/Tools/UpdateAssemblyInfo/bin/Debug/UpdateAssemblyInfo.exe

Binary file not shown.

232
src/Tools/UpdateSetupInfo/Main.cs

@ -1,232 +0,0 @@ @@ -1,232 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Globalization;
using System.IO;
using System.Text;
using SharpSvn;
namespace UpdateSetupInfo
{
/// <summary>
/// Creates the SharpDevelop.Setup.wixproj.user file based on the
/// SharpDevelop.Setup.wixproj.user.template.
/// </summary>
class UpdateApplication
{
/// <summary>
/// Path to the setup project relative to the UpdateSetupInfo.exe file.
/// </summary>
const string SetupProjectFolderRelativePath = @"..\..\..\Setup";
/// <summary>
/// Name of the setup template file.
/// </summary>
const string SetupTemplateFileName = "SharpDevelop.Setup.wixproj.user.template";
/// <summary>
/// Name of the setup project user file that will be generated.
/// </summary>
const string SetupProjectUserFileName = "SharpDevelop.Setup.wixproj.user";
const int SetupTemplateFileNotFoundReturnCode = 1;
const int UpdateSetupInfoExceptionReturnCode = 2;
/// <summary>
/// The full filename including path to the setup template file.
/// </summary>
string setupTemplateFullFileName;
/// <summary>
/// The full filename including path to the setup project user file that
/// will be generated.
/// </summary>
string setupProjectUserFullFileName;
/// <summary>
/// The folder containing the UpdateSetupInfo application.
/// </summary>
string applicationFolder;
/// <summary>
/// The file that contains the last revision number used to update the
/// template.
/// </summary>
string previousRevisionFileName;
/// <summary>
/// The folder that contains the last revision number used to update the
/// template.
/// </summary>
string previousRevisionFolder;
public UpdateApplication()
{
// Work out filenames.
applicationFolder = Path.GetDirectoryName(GetType().Assembly.Location);
string setupProjectFolder = Path.Combine(applicationFolder, SetupProjectFolderRelativePath);
setupProjectFolder = Path.GetFullPath(setupProjectFolder);
setupTemplateFullFileName = Path.Combine(setupProjectFolder, SetupTemplateFileName);
setupProjectUserFullFileName = Path.Combine(setupProjectFolder, SetupProjectUserFileName);
previousRevisionFolder = Path.Combine(setupProjectFolder, @"bin");
previousRevisionFileName = Path.Combine(previousRevisionFolder, "REVISION");
FileCopy(Path.Combine(Path.Combine(applicationFolder, subversionLibraryDir), "SharpSvn.dll"),
Path.Combine(applicationFolder, "SharpSvn.dll"));
// Set current directory to a folder that is in the repository.
Environment.CurrentDirectory = setupProjectFolder;
}
static void FileCopy(string source, string target)
{
if (File.Exists(target)) {
// don't copy file if it is up-to-date: repeatedly copying a 3 MB file slows down the build
if (File.GetLastWriteTimeUtc(source) == File.GetLastWriteTimeUtc(target))
return;
}
File.Copy(source, target, true);
}
public static int Main(string[] args)
{
try {
UpdateApplication app = new UpdateApplication();
return app.Run();
} catch (Exception ex) {
Console.WriteLine(ex.ToString());
return UpdateApplication.UpdateSetupInfoExceptionReturnCode;
}
}
public int Run()
{
// Read setup template contents.
if (!SetupTemplateFileExists) {
Console.WriteLine(String.Concat(SetupTemplateFileName, " not found. Unable to update setup information."));
return SetupTemplateFileNotFoundReturnCode;
}
string template = ReadSetupTemplate();
// Get current revision.
string currentRevision = GetCurrentRevision();
// Populate setup template.
template = PopulateSetupTemplate(template, currentRevision);
// Create setup user file.
SaveSetupUserFile(template);
return 0;
}
bool SetupUserFileExists {
get { return File.Exists(setupProjectUserFullFileName); }
}
bool SetupTemplateFileExists {
get { return File.Exists(setupTemplateFullFileName); }
}
string ReadSetupTemplate() {
using (StreamReader reader = new StreamReader(setupTemplateFullFileName, true)) {
return reader.ReadToEnd();
}
}
string PopulateSetupTemplate(string template, string revision)
{
return template.Replace("$INSERTPRODUCTBUILDVERSION$", revision);
}
string GetNewGuid()
{
return Guid.NewGuid().ToString().ToUpperInvariant();
}
void SaveSetupUserFile(string contents)
{
using (StreamWriter writer = new StreamWriter(setupProjectUserFullFileName, false, Encoding.UTF8)) {
writer.Write(contents);
}
}
const string subversionLibraryDir = @"..\..\..\Libraries\SharpSvn";
/// <summary>
/// Code taken directly from UpdateAssemblyInfo and the paths slightly modified.
/// </summary>
/// <remarks>
/// The product build version maps to the Subversion revision number.
/// </remarks>
string GetCurrentRevision()
{
string revisionNumber = null;
string oldWorkingDir = Environment.CurrentDirectory;
try {
// Set working directory so msvcp70.dll and msvcr70.dll can be found
Environment.CurrentDirectory = Path.Combine(applicationFolder, subversionLibraryDir);
using (SvnClient client = new SvnClient()) {
client.Info(
oldWorkingDir,
(sender, info) => {
revisionNumber = info.Revision.ToString(CultureInfo.InvariantCulture);
});
}
} catch (Exception e) {
Console.WriteLine("Reading revision number with Svn.Net failed: " + e.ToString());
} finally {
Environment.CurrentDirectory = oldWorkingDir;
}
if (revisionNumber == null || revisionNumber.Length == 0 || revisionNumber == "0") {
revisionNumber = ReadCurrentRevisionFromFile();
}
if (revisionNumber == null || revisionNumber.Length == 0 || revisionNumber == "0") {
throw new ApplicationException("Error reading revision number");
}
return revisionNumber;
}
string ReadCurrentRevisionFromFile()
{
using (StreamReader reader = new StreamReader(Path.Combine(applicationFolder, @"..\..\..\..\REVISION"))) {
return reader.ReadLine();
}
}
/// <summary>
/// Checks that the current revision matches the revision last used to
/// update the SharpDevelop.Setup.wixproj.user file.
/// </summary>
bool RevisionExists(string currentRevision)
{
// Read previous revision.
string previousRevision = ReadPreviousRevision();
if (previousRevision != null) {
return previousRevision == currentRevision;
}
return false;
}
/// <summary>
/// Reads the previous revision number from the Setup\bin\REVISION file.
/// </summary>
string ReadPreviousRevision()
{
if (File.Exists(previousRevisionFileName)) {
using (StreamReader reader = new StreamReader(previousRevisionFileName, true)) {
return reader.ReadLine();
}
}
return null;
}
}
}

36
src/Tools/UpdateSetupInfo/Readme.txt

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@

Updates the SharpDevelop Setup information
------------------------------------------
Product Revision (Subversion revision number)
With WiX 3 the package code and product code guids do not need to be generated by
this tool and can be autogenerated by WiX.
The build server and the buildSetup.bat executes the UpdateSetupInfo tool before
building SharpDevelop.Setup.sln. The SharpDevelop.Setup project does not use the tool.
Operation
---------
1) The SharpDevelop.Setup.wixproj.user is is generated each time the tool is run
based on the SharpDevelop.Setup.wixproj.user.template file. The product revision is inserted
into the newly generated file. The last used revision is written to a REVISION
file which is put in the Setup\bin folder. This not in the repository and is only
used to stop the tool from regenerating the product guid if the revision number has not
changed.
2) The build server and buildSetup.bat will run the UpdateSetupInfo tool.
This is not done by the SharpDevelop.Setup project itself intentionally so
nothing changes when building the project from inside SharpDevelop. The
modified SharpDevelop.Setup.wixproj.user need not be checked into the
repository on each build on the build server.
Creating Releases
-----------------
When creating a release either the setup msi from the build server should be
used or that generated after running buildSetup.bat. This will revision number
if the current revision has changed.

52
src/Tools/UpdateSetupInfo/UpdateSetupInfo.csproj

@ -1,52 +0,0 @@ @@ -1,52 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<OutputType>Exe</OutputType>
<RootNamespace>UpdateSetupInfo</RootNamespace>
<AssemblyName>UpdateSetupInfo</AssemblyName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{75E6D78C-DC66-40F1-90AC-F9F97ADE3506}</ProjectGuid>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>x86</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<OutputPath>bin</OutputPath>
<SourceAnalysisOverrideSettingsFile>C:\Users\Daniel\AppData\Roaming\ICSharpCode/SharpDevelop3.0\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<Optimize>False</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<IntermediateOutputPath>obj\Release\</IntermediateOutputPath>
<Optimize>True</Optimize>
<DefineConstants>TRACE</DefineConstants>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
</PropertyGroup>
<ItemGroup>
<Reference Include="SharpSvn">
<HintPath>..\..\Libraries\SharpSvn\SharpSvn.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Main.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Readme.txt" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

18
src/Tools/UpdateSetupInfo/UpdateSetupInfo.sln

@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
# SharpDevelop 3.1.0.3932
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateSetupInfo", "UpdateSetupInfo.csproj", "{75E6D78C-DC66-40F1-90AC-F9F97ADE3506}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{75E6D78C-DC66-40F1-90AC-F9F97ADE3506}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75E6D78C-DC66-40F1-90AC-F9F97ADE3506}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75E6D78C-DC66-40F1-90AC-F9F97ADE3506}.Release|Any CPU.Build.0 = Release|Any CPU
{75E6D78C-DC66-40F1-90AC-F9F97ADE3506}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal
Loading…
Cancel
Save