Skip to content

Commit d8d82aa

Browse files
committed
Added support for adding project as dependency
1 parent 20ee6c1 commit d8d82aa

File tree

5 files changed

+51
-26
lines changed

5 files changed

+51
-26
lines changed

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,17 @@ configuration = {
2525
}
2626

2727
dependencies = {
28-
'System',
29-
'System.Core',
30-
'Microsoft.Build',
31-
'Microsoft.Build.Framework',
32-
'NLua_Safe:*',
33-
'Mono.NuGet.Core:*',
34-
'Microsoft.Web.Xdt:*'
28+
system = {
29+
'System',
30+
'System.Core',
31+
'Microsoft.Build',
32+
'Microsoft.Build.Framework'
33+
},
34+
nuget = {
35+
'NLua_Safe',
36+
'Mono.NuGet.Core',
37+
'Microsoft.Web.Xdt'
38+
}
3539
}
3640

3741
function compile()

bootstrap/kaizo.exe

512 Bytes
Binary file not shown.

bootstrap/project.lua

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@ configuration = {
1515
}
1616

1717
dependencies = {
18-
'System',
19-
'System.Core',
20-
'Microsoft.Build',
21-
'Microsoft.Build.Framework',
22-
'NLua_Safe:*',
23-
'Mono.NuGet.Core:*',
24-
'Microsoft.Web.Xdt:*'
18+
system = {
19+
'System',
20+
'System.Core',
21+
'Microsoft.Build',
22+
'Microsoft.Build.Framework'
23+
},
24+
nuget = {
25+
'NLua_Safe',
26+
'Mono.NuGet.Core',
27+
'Microsoft.Web.Xdt'
28+
}
2529
}
2630

2731
function compile()

kaizo/src/Tasks/Build.cs

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,20 +76,28 @@ public void Run(string project) {
7676
};
7777

7878
var references = root.AddItemGroup ();
79-
var dependencies = (lua [project + ".dependencies"] as LuaTable).Values;
79+
var dependencies = lua [project + ".dependencies.system"];
8080

81-
foreach (string key in dependencies) {
82-
if (key.IndexOf (':') > -1) {
83-
var splitkey = key.Split (':');
81+
if (dependencies != null) {
82+
foreach (string dep in (dependencies as LuaTable).Values) {
83+
references.AddItem("Reference", dep);
84+
}
85+
}
86+
87+
dependencies = lua [project + ".dependencies.nuget"];
8488

89+
if (dependencies != null) {
90+
foreach (string dep in (dependencies as LuaTable).Values) {
8591
IPackage dependency = null;
8692

87-
if (splitkey[1] == "*") {
88-
packages.InstallPackage (splitkey [0]);
89-
dependency = packages.LocalRepository.FindPackage (splitkey [0]);
93+
if (dep.IndexOf (':') > -1) {
94+
var splitdep = dep.Split (':');
95+
packages.InstallPackage (splitdep [0], SemanticVersion.Parse (splitdep [1]));
96+
dependency = packages.LocalRepository.FindPackage (splitdep [0], SemanticVersion.Parse (splitdep [1]));
97+
9098
} else {
91-
packages.InstallPackage (splitkey [0], SemanticVersion.Parse (splitkey [1]));
92-
dependency = packages.LocalRepository.FindPackage (splitkey [0], SemanticVersion.Parse (splitkey [1]));
99+
packages.InstallPackage (dep);
100+
dependency = packages.LocalRepository.FindPackage (dep);
93101
}
94102

95103
foreach (var reference in dependency.AssemblyReferences) {
@@ -101,8 +109,17 @@ public void Run(string project) {
101109
}
102110
}
103111
}
104-
} else {
105-
references.AddItem("Reference", key);
112+
}
113+
}
114+
115+
dependencies = lua [project + ".dependencies.project"];
116+
117+
if (dependencies != null) {
118+
var projects = root.AddItemGroup();
119+
120+
foreach (string dep in (dependencies as LuaTable).Values) {
121+
MainClass.Call(dep + ".build");
122+
projects.AddItem("ProjectReference", dep + ".csproj").AddMetadata("name", dep);
106123
}
107124
}
108125

kaizo/src/Tasks/Clean.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class Clean : Task
88
public Clean(Lua lua) : base(lua) { }
99

1010
public void Run(string project) {
11-
var output = lua [project + ".csharp.output"] as string;
11+
var output = lua [project + ".configuration.output"] as string;
1212
if (output == null) output = "out";
1313

1414
if (Directory.Exists(output)) Directory.Delete(output, true);

0 commit comments

Comments
 (0)