Skip to content

Commit 727f504

Browse files
author
Sébastien Geiser
committed
Class selection for fody in progress
1 parent bb145c1 commit 727f504

File tree

4 files changed

+23
-4
lines changed

4 files changed

+23
-4
lines changed

CodingSeb.Localization.AssemblyToProcess/Class1.cs renamed to CodingSeb.Localization.AssemblyToProcess/LocalizedWithFodyClass.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace CodingSeb.Localization.AssemblyToProcess
55
{
6-
public class Class
6+
public class LocalizedWithFodyClass
77
{
88
[Localize]
99
public string TestProperty => Loc.Tr("TestLabel");

CodingSeb.Localization.FodyAddin.Fody/ModuleWeaver.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,34 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Diagnostics;
4+
using System.Linq;
35
using Fody;
6+
using Mono.Cecil;
7+
using Mono.Cecil.Cil;
48

59
namespace CodingSeb.Localization.Fody
610
{
711
public class ModuleWeaver : BaseModuleWeaver
812
{
913
public override void Execute()
1014
{
11-
WriteDebug("Youpieeeeee");
15+
List<string> typeDefinitions = ModuleDefinition.
16+
Types
17+
.Where(td => td.IsClass)
18+
.Select(td => td.Name + ";"+ string.Join(";", td.Properties.Select(p => string.Join(";", p.CustomAttributes.Select(a => a.AttributeType.Name)))))
19+
.ToList();
20+
21+
ModuleDefinition
22+
.Types
23+
.Where(typeDefinition =>
24+
typeDefinition.IsClass &&
25+
typeDefinition.Properties.Any(property => property.CustomAttributes.Any(attribute => attribute.AttributeType.Name.Equals("LocalizeAttribute"))))
26+
.ToList()
27+
.ForEach(typeDefinition =>
28+
{
29+
int i = 0;
30+
Debug.WriteLine(typeDefinition.Name);
31+
});
1232
}
1333

1434
public override IEnumerable<string> GetAssembliesForScanning()

CodingSeb.Localization.FodyAddin.Tests/CodingSeb.Localization.FodyAddin.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,5 @@
1717
<ProjectReference Include="..\CodingSeb.Localization.AssemblyToProcess\CodingSeb.Localization.AssemblyToProcess.csproj" />
1818
<ProjectReference Include="..\CodingSeb.Localization.FodyAddin.Fody\CodingSeb.Localization.FodyAddin.Fody.csproj" />
1919
<ProjectReference Include="..\CodingSeb.Localization.FodyAddin\CodingSeb.Localization.FodyAddin.csproj" />
20-
<Reference Include="Microsoft.CSharp" />
2120
</ItemGroup>
2221
</Project>

CodingSeb.Localization.FodyAddin/CodingSeb.Localization.FodyAddin.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
<PackageProjectUrl>https://github.com/codingseb/Localization</PackageProjectUrl>
1313
<PackageId>CodingSeb.Localization.Fody</PackageId>
1414
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
15-
<Product>CodingSeb.Localization.Fody</Product>
1615
<SignAssembly>true</SignAssembly>
1716
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
17+
<AssemblyName>CodingSeb.Localization.FodyAddin</AssemblyName>
1818
</PropertyGroup>
1919
<ItemGroup>
2020
<PackageReference Include="Fody" Version="6.3.0" PrivateAssets="none" />

0 commit comments

Comments
 (0)