eric,
it
does look like the syntax is as advertized.
i
thought you had other slingshot tasks in your projects. what's different
here?
as i
look in the code for SlingshotTask, i see there's some confusion about how
OptionSets are iterated. pls. try something crazy like the following and
see whether it goes:
<project
name="Web">
<slingshot solution="Project.SubProject.Web.sln" format="nant" output="MySolution.build">
<parameters>
<build.basedir value="bin"/>
</parameters>
<maps>
<option name="http://localhost" value="."/>
</maps>
</slingshot>
</project>
<slingshot solution="Project.SubProject.Web.sln" format="nant" output="MySolution.build">
<parameters>
<build.basedir value="bin"/>
</parameters>
<maps>
<option name="http://localhost" value="."/>
</maps>
</slingshot>
</project>
if
that's so, it's really wacky but at least you're going.
the
code i'm talking about is the following in SlingshotTask.cs. it's there
because i'd found inconsistencies in how <parameters> returns
options...
///
<summary>Converts an <see cref="OptionSet"/> to a <see
cref="Hashtable"/>.</summary>
private Hashtable OptionSetToHashtable(OptionSet options, string optionSetName) {
private Hashtable OptionSetToHashtable(OptionSet options, string optionSetName) {
Hashtable convertedOptions = new Hashtable();
if (options != null)
{
foreach (object option in options) {
string name;
string value;
if ( option is OptionValue ) {
OptionValue ov = (OptionValue) option;
name = ov.Name;
value = ov.Value;
} else if ( option is OptionElement ) {
OptionElement oe = (OptionElement) option;
name = oe.OptionName;
value = oe.Value;
} else {
throw new BuildException( string.Format( "Invalid Option type {0} in {1} OptionSet", option.GetType(), optionSetName) );
}
Log.WriteLine( LogPrefix + " -- {0} = {1}", name, value );
foreach (object option in options) {
string name;
string value;
if ( option is OptionValue ) {
OptionValue ov = (OptionValue) option;
name = ov.Name;
value = ov.Value;
} else if ( option is OptionElement ) {
OptionElement oe = (OptionElement) option;
name = oe.OptionName;
value = oe.Value;
} else {
throw new BuildException( string.Format( "Invalid Option type {0} in {1} OptionSet", option.GetType(), optionSetName) );
}
Log.WriteLine( LogPrefix + " -- {0} = {1}", name, value );
// name must be
specified
if (name == null) {
string msg = String.Format("Unspecified name for <{0}> option '{1}'", optionSetName, name);
throw new BuildException(msg);
// value must be specified
} else if (value == null) {
string msg = String.Format("Unspecified value for <{0}> option '{1}'", optionSetName, name);
throw new BuildException(msg);
} else {
convertedOptions.Add(name, value);
}
}
}
if (name == null) {
string msg = String.Format("Unspecified name for <{0}> option '{1}'", optionSetName, name);
throw new BuildException(msg);
// value must be specified
} else if (value == null) {
string msg = String.Format("Unspecified value for <{0}> option '{1}'", optionSetName, name);
throw new BuildException(msg);
} else {
convertedOptions.Add(name, value);
}
}
}
return convertedOptions;
}
}
}
HTH ! ??
/jean
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Eric Fetzer
Sent: Wednesday, August 27, 2003 17:09
To: Nant Users
Subject: [Nant-users] slingshot taskI'm experiencing a problem with slingshot:D:\projects\procard>nant -f:BuildWebBuild.build
NAnt version 0.8.3 Copyright (C) 2001-2003 Gerry Shaw
http://nant.sourceforge.netBuildfile: file:///D:/projects/procard/BuildWebBuild.build
[slingshot] Converting ProCard.Centre.Web.sln to MySolution.build using nant format
[slingshot] -- option = bin
Total time: 0 seconds.BUILD FAILEDThe <parameters> option 'build.basedir' is required.My <parameters> option contains build.basedir as follows:<project name="Web">
<slingshot solution="Project.SubProject.Web.sln" format="nant" output="MySolution.build">
<parameters>
<option name="build.basedir" value="bin"/>
</parameters>
<maps>
<option name="http://localhost" value="."/>
</maps>
</slingshot>
</project>I'm having the problem no matter which version of the binaries I download. Anybody have a clue?Thanks,Eric
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!