예제 #1
0
        private static ProcessArgumentBuilder GetYarnPublishArguments(YarnPublishSettings settings)
        {
            var args = new ProcessArgumentBuilder();

            settings?.Evaluate(args);
            return(args);
        }
예제 #2
0
        /// <summary>
        /// execute 'yarn publish' with options
        /// </summary>
        /// <param name="publishSettings">options when running 'yarn publish'</param>
        /// <example>
        /// <para>Run 'yarn publish'</para>
        /// <code>
        /// <![CDATA[
        /// Task("Yarn-Publish")
        ///     .Does(() =>
        /// {
        ///     Yarn.Publish();
        /// });
        /// ]]>
        /// </code>
        /// </example>
        /// <example>
        /// <para>Run 'yarn publish --new-version 1.2.3'</para>
        /// <code>
        /// <![CDATA[
        /// Task("Yarn-Publish-With-New-Version")
        ///     .Does(() =>
        /// {
        ///     Yarn.Publish(settings => settings.NewVersion(1, 2, 3));
        /// });
        /// ]]>
        /// </code>
        /// </example>
        /// <example>
        /// <para>Run 'yarn publish --tag beta'</para>
        /// <code>
        /// <![CDATA[
        /// Task("Yarn-Publish-With-Tag")
        ///     .Does(() =>
        /// {
        ///     Yarn.Publish(settings => settings.Tag("beta"));
        /// });
        /// ]]>
        /// </code>
        /// </example>
        public IYarnRunnerCommands Publish(Action <YarnPublishSettings> publishSettings = null)
        {
            var settings = new YarnPublishSettings();

            publishSettings?.Invoke(settings);
            var args = GetYarnPublishArguments(settings);

            Run(settings, args);
            return(this);
        }