||<>|| = Less-common complex recipe use-cases = '''Note''': the following mockups do not try to fit the current implementation of bzr builder recipes or the corresponding current LP models. == A nested merge for a branch already containing packaging data == Guilherme has created his own toggle branch that already has the packaging info (ie. a debian folder) with some new debian 3.0 (quilt) packaging features. He'd like to create a build using this packaging and additionally nest his own toggle-plugin in the source package. While viewing his branch page, Guilherme: 1. Clicks on the "Build this branch" link, (MOCKUP REQUIRED), 1. A "Build this branch to a PPA" overlay appears displaying a selection for his target PPA and someone elses recipe that has been created to build toggle branches (shown below). Guilherme selects his target PPA where he wants the package to be published, and knowing he needs a custom recipe, clicks directly on the "Create a new recipe" link. [[http://people.canonical.com/~michaeln/bfb/build_now_overlay_v2.png|{{http://people.canonical.com/~michaeln/bfb/build_now_overlay_v2.png|Build now overlay}}]] 1.#3 The overlay transitions (fade in/out) to a "Create a build recipe for Toggle" overlay (shown below). Guilherme enters a useful name and description for his new recipe, but as his branch already contains packaging info, he ignores the packaging branch option and instead expands the 'Advanced recipe options' section to enter his custom nest/merge commands, and clicks "Save". [[http://people.canonical.com/~michaeln/bfb/create_recipe_v2.png|{{http://people.canonical.com/~michaeln/bfb/create_recipe_v2.png|Create recipe}}]] 1.#4 The overlay transitions back to the previous "Build this branch to a PPA" dialog, with his new recipe already selected. Guilherme clicks 'Build now'. 1. The overlay disappears and the branch page is updated with a "Recent builds" portlet listing the new build and its status, linking to (somewhere appropriate within) the PPA. = See also = * [[BuildBranchToArchiveUI/UseCaseManualBuild]] * [[BuildBranchToArchiveUI/UseCaseDailyBuild]] * [[BuildBranchToArchiveUI/UseCasePackagingBranch]] = Unresolved questions = * Could we use "Customize my recipe further" or "Further customizations for my recipe" or "Further customizations" instead of "Advanced recipe options"? * Is run command going to be supported? It allows arbitrary command execution eg. "autogen.sh, autoreconf, etc"? * Will the internet be available during source package creation? Eg. to do wget launchpadlibrarian/bug/patch.diff? So that we can pull patches of internet and add them to the patch series?