VCP.stml #10

  • //
  • guest/
  • perforce_software/
  • revml/
  • ui_machines/
  • VCP.stml
  • View
  • Commits
  • Open Download .zip Download (2 KB)
<!DOCTYPE author [
  <!ENTITY yes_re "qr/\Ay(es)?\z/i" >
  <!ENTITY no_re "qr/\Ano?\z/i" >
]>

<machine id="VCP" xmlns="http://slaysys.com/StateML/1.0">

  <!-- ============= BASE CLASSES ==================== -->

  <class id="prompt_class"     graphviz:shape="record"/>
  <class id="gathering_class"  graphviz:shape="point"/>
  <class id="entry_class"      graphviz:shape="ellipse"/>
  <class id="exit_class"       graphviz:shape="ellipse"/>

  <!-- ============= EVENT DEFINITIONS =============== -->

  <event id="#DEFAULT" name="">
  </event>

  <!-- ================ TRANSITIONS =================== -->

  <state id="init" class-ids="entry_class">
    <description>Initialize the machine</description>
    <arc goto="intro_prompt"/>
  </state>


  <state id="intro_prompt" class-ids="prompt_class">
    <name>Continue</name>
    <description>

This is vcp's interactive user interface.  
Type 'Enter' key to continue, 'q' to quit.

If you would like help using the vcp scriptable command line
interface, type 'vcp help' from the command line after quitting the
interactive interface.
    
    </description>

    <arc goto="source_prompt" guard="qr/\A(y(es)?)?\z/i" />
    <arc goto="init" guard="qr/\A(q(uit)?)|no?\z/i" >
      <handler>
        exit();
      </handler>
    </arc>
    

  </state>


  <state id="source_prompt" class-ids="prompt_class">
    <name>Source SCM type</name>
    <description>

Enter the kind of repository to copy data from.
    
    </description>

    <!-- no arcs here; see the first state in each of the
         subsidiary VCP-*-*.stml files.
    -->

  </state>


  <state id="dest_prompt" class-ids="prompt_class">
    <name>Destination SCM type</name>
    <description>

Enter the kind of repository to copy data to.
    
    </description>

    <!-- no arcs here; see the final state(s) in each of the
         subsidiary VCP-*-*.stml files.
    -->
  </state>

  <state id="convert" class-ids="exit_class">
    <description>Run VCP with the options entered</description>
    <entry-handler></entry-handler>
  </state>

</machine>
# Change User Description Committed
#21 5399 Barrie Slaymaker - Allow underscores after first chars in source and
         dest IDs.
#20 4581 Barrie Slaymaker - user prompts have been improved, but not tested
#19 4502 Barrie Slaymaker - "Run without saving" option removed
#18 4064 Barrie Slaymaker - RevML is no longer offered in the UI
- Sources and dests are given an id in the UI
- The .vcp file name defaulting now works
#17 3859 Barrie Slaymaker - New UI files
#16 3666 Barrie Slaymaker - vcp can now edit existing .vcp files, for VSS sources and revml dests
#15 3647 Barrie Slaymaker - All UI prompts & descriptions rewritten.
- Minor tweak to VCP::Dest::p4 P4USER defaulting
#14 3644 Barrie Slaymaker - Add Save & Run options to end of UI
#13 3640 Barrie Slaymaker - xmllint no longer require to build UI
- UI now offers multiple choices where appropriate
#12 3481 John Fetkovich intro text moved out of state machine to bin/vcp.
       no longer requires user interaction to move on.
#11 3403 John Fetkovich options given on all multiple choice prompts,
       and most free-form prompts where it makes sense
#10 3395 John Fetkovich various ui refinements
#9 3306 Barrie Slaymaker Add StateML namespace support
#8 3254 Barrie Slaymaker Redo machine naminf convention.
#7 3251 John Fetkovich remove arc to 'convert' state
#6 3244 Barrie Slaymaker Integrate VCP::UI with bin/vcp.
       Type 'vcp' to run the UI.
#5 3240 Barrie Slaymaker UI definition cleanup
#4 3235 John Fetkovich small fixes
#3 3231 Barrie Slaymaker work on STML->source code conventions
#2 3229 Barrie Slaymaker Add more .stml files
#1 3220 Barrie Slaymaker Rename script_machines/ to ui_machines/