Exemplo n.º 1
0
        ///////////////////////////////////////////////////////////////////////

        #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);
        }
Exemplo n.º 2
0
        ///////////////////////////////////////////////////////////////////////

        #region IPackage Members
        public virtual ReturnCode Select(
            PackagePreference preference,
            ref Version version,
            ref Result error
            )
        {
            return(ReturnCode.Ok);
        }
Exemplo n.º 3
0
        ///////////////////////////////////////////////////////////////////////

        #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);
            }
        }