-
Notifications
You must be signed in to change notification settings - Fork 148
Nant Scripting Language
Nathaniel Sabanski edited this page Jan 20, 2016
·
7 revisions
Added by Rodrigo B. de Oliveira
This example shows how to use boo to enrich your nant build files.
boo includes some nant tasks, more specifically, the boo task allows you to embed boo code directly into your nant build files. The nice thing is that the code has access to the entire nant object model through the Project reference.
<boo>
print("Hello from boo task!")
print("Framework directory: $(Project.TargetFramework.FrameworkAssemblyDirectory)")
</boo>
<boo>
for p as System.Collections.DictionaryEntry in Project.Properties:
print("$(p.Key): $(p.Value)")
</boo>
<target name="create-resources" depends="init">
<boo>
import System.IO
import System.Resources
import System.Windows.Forms from System.Windows.Forms
import System.Drawing from System.Drawing
def MapPath(path):
return Path.Combine(Project.BaseDirectory, path)
def CreateImageList():
imageList = ImageList()
images = (
"namespace.png",
"class.png",
"interface.png",
"enum.png",
"field.png",
"property.png",
"method.png"
)
for image in images:
fname = MapPath("resources/ClassBrowserIcons/${image}")
imageList.Images.Add(Image.FromFile(fname))
return imageList
using imageList=CreateImageList():
using writer=ResourceWriter(MapPath("build/BooExplorer.DocumentOutline.resources")):
writer.AddResource("_imageList", imageList.ImageStream)
</boo>
</target>