Skip to content

Commit 0d70729

Browse files
Merge pull request #672 from ngbrown/NH-3990-HbmXsdExe
NH-3990 - Fixes for upgrade to VS2017 project structure
2 parents 9527cb0 + ab8fcb7 commit 0d70729

File tree

7 files changed

+113
-10
lines changed

7 files changed

+113
-10
lines changed

src/NHibernate.Test/NHibernate.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
</ItemGroup>
2222

2323
<ItemGroup>
24-
<EmbeddedResource Include="**\*.hbm.xml" />
24+
<EmbeddedResource Include="**\*.hbm.xml" Exclude="bin\**\*.*" />
2525
<EmbeddedResource Include="**\*.jpg" />
2626
<EmbeddedResource Include="TestEmbeddedConfig.cfg.xml">
2727
<CopyToOutputDirectory>Always</CopyToOutputDirectory>

src/NHibernate.Tool.HbmXsd/HbmCodeGenerator.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using System.CodeDom;
23
using System.IO;
34
using System.Xml.Schema;
@@ -18,6 +19,8 @@ public void Execute(string outputFileName)
1819
{
1920
using (Stream stream = GetType().Assembly.GetManifestResourceStream(MappingSchemaResourceName))
2021
{
22+
if (stream == null)
23+
throw new InvalidOperationException($"Unable to load resource {MappingSchemaResourceName}");
2124
XmlSchema schema = XmlSchema.Read(stream, null);
2225
Execute(outputFileName, GeneratedCodeNamespace, schema);
2326
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
1) Clean the "EveryThing" solution
22
2) Build all
3-
3) open console and change dir to "src\NHibernate.Tool.HbmXsd\bin\Debug"
4-
4) run: hbmxsd ..\..\..\NHibernate\Cfg\MappingSchema\Hbm.generated.cs
3+
3) open console and change dir to "src\NHibernate.Tool.HbmXsd\bin\Debug\net461"
4+
4) run: HbmXsd ..\..\..\..\NHibernate\Cfg\MappingSchema\Hbm.generated.cs

src/NHibernate.Tool.HbmXsd/NHibernate.Tool.HbmXsd.csproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,24 @@
22

33
<PropertyGroup>
44
<TargetFramework>net461</TargetFramework>
5+
<OutputType>Exe</OutputType>
6+
<StartupObject>NHibernate.Tool.HbmXsd.Program</StartupObject>
57
<GenerateAssemblyTitleAttribute>False</GenerateAssemblyTitleAttribute>
68
<GenerateAssemblyProductAttribute>False</GenerateAssemblyProductAttribute>
79
<GenerateAssemblyCompanyAttribute>False</GenerateAssemblyCompanyAttribute>
810
<GenerateAssemblyDescriptionAttribute>False</GenerateAssemblyDescriptionAttribute>
911
<GenerateAssemblyVersionAttribute>False</GenerateAssemblyVersionAttribute>
1012
<GenerateAssemblyFileVersionAttribute>False</GenerateAssemblyFileVersionAttribute>
1113
<GenerateAssemblyInformationalVersionAttribute>False</GenerateAssemblyInformationalVersionAttribute>
14+
<AssemblyName>HbmXsd</AssemblyName>
1215
</PropertyGroup>
1316

1417
<ItemGroup>
1518
<Compile Include="..\SharedAssemblyInfo.cs" Link="SharedAssemblyInfo.cs" />
1619
</ItemGroup>
1720

21+
<ItemGroup>
22+
<EmbeddedResource Include="..\NHibernate\nhibernate-mapping.xsd" />
23+
</ItemGroup>
24+
1825
</Project>

src/NHibernate.Tool.HbmXsd/Program.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
using System;
12
using System.Globalization;
3+
using System.IO;
24
using System.Threading;
35

46
namespace NHibernate.Tool.HbmXsd
@@ -7,11 +9,21 @@ public class Program
79
{
810
private static void Main(string[] args)
911
{
10-
string outFile = args.Length == 0 ? @"..\..\..\NHibernate\Cfg\MappingSchema\Hbm.generated.cs" : args[0];
12+
string outFile = Path.GetFullPath(args.Length == 0
13+
? @"..\..\..\..\NHibernate\Cfg\MappingSchema\Hbm.generated.cs"
14+
: args[0]);
15+
if (!Directory.Exists(Path.GetDirectoryName(outFile)))
16+
{
17+
Console.Error.WriteLine("Invalid target path: directory does not exist.");
18+
Console.Error.WriteLine(outFile);
19+
Environment.ExitCode = -1;
20+
return;
21+
}
1122
var currentUiCulture = new CultureInfo("en-us");
1223
Thread.CurrentThread.CurrentCulture = currentUiCulture;
1324
Thread.CurrentThread.CurrentUICulture = currentUiCulture;
1425
new HbmCodeGenerator().Execute(outFile);
26+
Console.WriteLine("Done");
1527
}
1628
}
1729
}

src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs

Lines changed: 87 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1627,6 +1627,7 @@ public partial class HbmClass {
16271627

16281628
/// <remarks/>
16291629
[System.Xml.Serialization.XmlElementAttribute("timestamp", typeof(HbmTimestamp))]
1630+
[System.Xml.Serialization.XmlElementAttribute("timestamputc", typeof(HbmTimestamputc))]
16301631
[System.Xml.Serialization.XmlElementAttribute("version", typeof(HbmVersion))]
16311632
public object Item1;
16321633

@@ -3595,6 +3596,89 @@ public enum HbmVersionGeneration {
35953596
Always,
35963597
}
35973598

3599+
/// <remarks/>
3600+
[System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.0.0.Alpha1")]
3601+
[System.SerializableAttribute()]
3602+
[System.Diagnostics.DebuggerStepThroughAttribute()]
3603+
[System.ComponentModel.DesignerCategoryAttribute("code")]
3604+
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
3605+
[System.Xml.Serialization.XmlRootAttribute("timestamputc", Namespace="urn:nhibernate-mapping-2.2", IsNullable=false)]
3606+
public partial class HbmTimestamputc {
3607+
3608+
/// <remarks/>
3609+
[System.Xml.Serialization.XmlElementAttribute("meta")]
3610+
public HbmMeta[] meta;
3611+
3612+
/// <remarks/>
3613+
[System.Xml.Serialization.XmlAttributeAttribute()]
3614+
public string name;
3615+
3616+
/// <remarks/>
3617+
[System.Xml.Serialization.XmlAttributeAttribute()]
3618+
public string node;
3619+
3620+
/// <remarks/>
3621+
[System.Xml.Serialization.XmlAttributeAttribute()]
3622+
public string column;
3623+
3624+
/// <remarks/>
3625+
[System.Xml.Serialization.XmlAttributeAttribute()]
3626+
public string access;
3627+
3628+
/// <remarks/>
3629+
[System.Xml.Serialization.XmlAttributeAttribute("unsaved-value")]
3630+
public HbmTimestamputcUnsavedvalue unsavedvalue;
3631+
3632+
/// <remarks/>
3633+
[System.Xml.Serialization.XmlIgnoreAttribute()]
3634+
public bool unsavedvalueSpecified;
3635+
3636+
/// <remarks/>
3637+
[System.Xml.Serialization.XmlAttributeAttribute()]
3638+
[System.ComponentModel.DefaultValueAttribute(HbmTimestamputcSource.Vm)]
3639+
public HbmTimestamputcSource source;
3640+
3641+
/// <remarks/>
3642+
[System.Xml.Serialization.XmlAttributeAttribute()]
3643+
[System.ComponentModel.DefaultValueAttribute(HbmVersionGeneration.Never)]
3644+
public HbmVersionGeneration generated;
3645+
3646+
public HbmTimestamputc() {
3647+
this.source = HbmTimestamputcSource.Vm;
3648+
this.generated = HbmVersionGeneration.Never;
3649+
}
3650+
}
3651+
3652+
/// <remarks/>
3653+
[System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.0.0.Alpha1")]
3654+
[System.SerializableAttribute()]
3655+
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
3656+
public enum HbmTimestamputcUnsavedvalue {
3657+
3658+
/// <remarks/>
3659+
[System.Xml.Serialization.XmlEnumAttribute("null")]
3660+
Null,
3661+
3662+
/// <remarks/>
3663+
[System.Xml.Serialization.XmlEnumAttribute("undefined")]
3664+
Undefined,
3665+
}
3666+
3667+
/// <remarks/>
3668+
[System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.0.0.Alpha1")]
3669+
[System.SerializableAttribute()]
3670+
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
3671+
public enum HbmTimestamputcSource {
3672+
3673+
/// <remarks/>
3674+
[System.Xml.Serialization.XmlEnumAttribute("vm")]
3675+
Vm,
3676+
3677+
/// <remarks/>
3678+
[System.Xml.Serialization.XmlEnumAttribute("db")]
3679+
Db,
3680+
}
3681+
35983682
/// <remarks/>
35993683
[System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.0.0.Alpha1")]
36003684
[System.SerializableAttribute()]
@@ -4294,15 +4378,15 @@ public enum HbmFlushMode {
42944378
/// <remarks/>
42954379
[System.Xml.Serialization.XmlEnumAttribute("auto")]
42964380
Auto,
4297-
4381+
42984382
/// <remarks/>
42994383
[System.Xml.Serialization.XmlEnumAttribute("manual")]
43004384
Manual,
4301-
4385+
43024386
/// <remarks/>
43034387
[System.Xml.Serialization.XmlEnumAttribute("always")]
43044388
Always,
4305-
4389+
43064390
/// <remarks/>
43074391
[System.Xml.Serialization.XmlEnumAttribute("never")]
43084392
Never,

src/NHibernate/NHibernate.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@
4747
</ItemGroup>
4848

4949
<ItemGroup>
50-
<Reference Include="System" />
51-
<Reference Include="System.Core" />
52-
<Reference Include="System.Data" />
5350
<Reference Include="System.ServiceModel" />
5451
<Reference Include="System.Transactions" />
5552
<Reference Include="System.Configuration" />

0 commit comments

Comments
 (0)