/////////////////////////////////////////////////////////////////////// #region IPackage Members public override ReturnCode Select( PackagePreference preference, ref Version version, ref Result error ) { if (preference == PackagePreference.Default) { string name = this.Name; VersionStringDictionary ifNeeded = this.IfNeeded; if (ifNeeded != null) { // // NOTE: *HACK* For now, always select the latest version // from the list of candidate versions. // Version latest = null; foreach (Version candidate in ifNeeded.Keys) { if (PackageOps.VersionCompare(candidate, latest) > 0) { latest = candidate; } } // // NOTE: Were we able to find the latest (i.e. any) // version? // if (latest != null) { version = latest; return(ReturnCode.Ok); } else { error = String.Format( "can't find package \"{0}\"", FormatOps.PackageName(name, null)); } } else { error = String.Format( "package \"{0}\" ifneeded scripts not available", name); } } else { error = String.Format( "unsupported package preference \"{0}\"", preference); } return(ReturnCode.Error); }
/////////////////////////////////////////////////////////////////////// #region IPackage Members public virtual ReturnCode Select( PackagePreference preference, ref Version version, ref Result error ) { return(ReturnCode.Ok); }
/////////////////////////////////////////////////////////////////////// #region IPackage Members public ReturnCode Select( PackagePreference preference, ref Version version, ref Result error ) { if (package != null) { return(package.Select(preference, ref version, ref error)); } else { return(ReturnCode.Error); } }