class: Tools::ProjectBuilderAssistantApplication
authorClaus Gittinger <cg@exept.de>
Sat, 07 Jun 2014 16:22:32 +0200
changeset 3126 9002c0912b90
parent 3125 9d5624af77ab
child 3127 f28722d20fbb
class: Tools::ProjectBuilderAssistantApplication added: #checkSourceCodeManagerType #doStartMakeApp #osIsUnix removed: #doOpenConsoleTerminal #isUnixOS #isWindowsOS changed:7 methods
Tools__ProjectBuilderAssistantApplication.st
--- a/Tools__ProjectBuilderAssistantApplication.st	Fri Jun 06 09:30:03 2014 +0200
+++ b/Tools__ProjectBuilderAssistantApplication.st	Sat Jun 07 16:22:32 2014 +0200
@@ -256,13 +256,13 @@
             windowSpecSelector: page5b_specifyPrerequisitePackages
             enterCallbackSelector: enterPrerequisitesSpecification
             canEnterQuerySelector: #canEnterPrerequisitesSelection
-            infoText: 'Define which packages are needed as prerequisites. Press "<I>Scan</I>" to search for prerequisites; "<I>Browse</I>" to edit the list manually.'
+            infoText: 'Define which packages are needed as prerequisites. These are required class libraries which should be packaged together with the application. Press "<I>Scan</I>" to search for prerequisites; "<I>Browse</I>" to edit the list manually.'
         )
 
         (AssistantPageSpec
             pageTitle: 'Specify Project Attributes'
             windowSpecSelector: page6a_specifyProjectAttributes
-            infoText: 'Define additional attributes. These will be shown during the installation of the deployed pacakge.'
+            infoText: 'Define additional attributes. These will be shown during the installation of the deployed package and affect the name of the deployed self installable file.'
             enterCallbackSelector: updateProjectAttributes
             leaveCallbackSelector: #rememberProjectAttributes
         )
@@ -278,7 +278,8 @@
         (AssistantPageSpec
             pageTitle: 'Check Into Source Repository'
             windowSpecSelector: page7a_checkinSpec
-            infoText: 'Check the package''s source and build-support files into the source code repository (CVS).'
+            enterCallbackSelector: #checkSourceCodeManagerType
+            infoText: 'Check the package''s source and build-support files into the source code repository.'
         )
 
         (AssistantPageSpec
@@ -327,20 +328,20 @@
     ^ super flyByHelpSpec addPairsFrom:#(
 
 #'projectType'
-'Choose the type of Project you are about to deploy.'
+'Choose the type of Project you are about to deploy'
 
 #existingProjects
-'Projects with an existing ProjectDefinition of the chosen type (above).'
+'Projects with an existing ProjectDefinition of the chosen type (above)'
 
 #nameOfApplicationClass
 'For GUI applications: the name of your application class (subclass of ApplicationModel).
 This will be opened by the startup sequence and defines the UI.
 (Usually, these are named "XXXApplication" or "XXXApp")
-Click on the "Create"-button to create a simple helloWorld app to start with.'
+Click on the "Create"-button to create a simple helloWorld app to start with'
 
 #createNewApplication
 'Create a new simple dummy application (HelloWorld-like). 
-Press this button to get some template code to play with - but enter a name first.'
+Press this button to get some template code to play with - but enter a name first'
 
 #nameOfStartupClass
 'This class contains the main method, in which the show starts when the executable runs.
@@ -352,46 +353,55 @@
 #createNewStartupClass
 'Create a new simple startup class which fires up the defined application.
 Press this button to get a standard startup class which does not care for command line args.
-But enter a name first.'
+But enter a name first'
 
 #browseSelectedProject
-'Open a SystemBrowser on the selected Project.'
+'Open a SystemBrowser on the selected Project'
 
 #hideSTXBasePackages
-'Only show packages which are not already included in the basic ST/X delivery.'
+'Only show packages which are not already included in the basic ST/X delivery'
 
 #'listOfNewProjectsName'
 'PackageID (module:directory).
-The pull-down list contains packageIDs for which no ProjectDefinition exists (yet).'
+The pull-down list contains packageIDs for which no ProjectDefinition exists (yet)'
 
 #'createNewProject'
 'PackageID (module:directory).
-Click to create a new (empty) ProjectDefinition for the given PackageID.'
+Click to create a new (empty) ProjectDefinition for the given PackageID'
 
 #clearBuildDirectory
-'Clear the build directory.'
+'Clear the build directory'
 
 #makeAll
-'Build a self-installing deployable package.'
+'Build a self-installing deployable package'
+
+#makeApp
+'Build the app only (for test-running)'
 
 #makeExe
-'Build the executable only (for test-running).'
+'Build the executable only (for test-running)'
 
 #makeExeQuick
 'Quick build the executable only (for test-running). 
-Does not regenerate the header files. Only the target package files are recreated.'
+Does not regenerate the header files. Only the target package files are recreated'
 
 #makeOutput
-'Displays the output of the build process (make command).'
+'Displays the output of the build process (make command)'
 
 #openExplorer
-'Open a Windows Explorer on the build directory. You can double-click on the built executable there.'
+'Open a Windows Explorer on the build directory. You can double-click on the built executable there'
+
+#openFinder
+'Open a Finder on the build directory. You can double-click on the built executable there'
 
 #openFileBrowser
-'Open a Filebrowser on the build directory.'
+'Open a Filebrowser on the build directory'
+
+#openTerminal
+'Open a terminal (console) in the build directory'
 
 #stopMake
-'Abort the ongoing build process. Please clear the build directory afterwards to remove any leftover garbage.'
+'Abort the ongoing build process. Please clear the build directory afterwards to remove any leftover garbage'
 
 #hideOtherStartupClasses
 'Hide startup classes from other packages. Uncheck to see them.\(Notice: the startup class really should be in the same package)'
@@ -1336,175 +1346,184 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page7_buildSpec'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 679 492)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Make Output'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (TextEditorSpec
-                    name: 'MakeOutputWindow'
-                    layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-                    activeHelpKey: makeOutput
-                    model: makeOutputHolder
-                    hasHorizontalScrollBar: true
-                    hasVerticalScrollBar: true
-                    hasKeyboardFocusInitially: false
-                    viewClassName: 'TextCollector'
-                    postBuildCallback: postBuildMakeOutputWindow:
-                  )
+    #(FullSpec
+       name: #'page7_buildSpec'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 679 492)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'Make Output'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (TextEditorSpec
+                   name: 'MakeOutputWindow'
+                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                   activeHelpKey: makeOutput
+                   model: makeOutputHolder
+                   hasHorizontalScrollBar: true
+                   hasVerticalScrollBar: true
+                   hasKeyboardFocusInitially: false
+                   viewClassName: 'TextCollector'
+                   postBuildCallback: postBuildMakeOutputWindow:
+                 )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel1'
+             layout: (LayoutFrame 0 0 -90 1 0 1 -60 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Make All'
+                   name: 'Button3'
+                   activeHelpKey: makeAll
+                   translateLabel: true
+                   model: doStartMakeAll
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Make App'
+                   name: 'Button17'
+                   activeHelpKey: makeAll
+                   visibilityChannel: osIsOSX
+                   translateLabel: true
+                   model: doStartMakeApp
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Make EXE only'
+                   name: 'Button5'
+                   activeHelpKey: makeExe
+                   translateLabel: true
+                   model: doStartMakeExe
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Quick Make EXE'
+                   name: 'Button16'
+                   activeHelpKey: makeExeQuick
+                   translateLabel: true
+                   model: doStartMakeExeQuick
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ViewSpec
+                   name: 'Box1'
+                   extent: (Point 20 10)
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel1'
-              layout: (LayoutFrame 0 0 -90 1 0 1 -60 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Make All'
-                    name: 'Button3'
-                    activeHelpKey: makeAll
-                    translateLabel: true
-                    model: doStartMakeAll
-                    enableChannel: startMakeButtonEnabled
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Make EXE only'
-                    name: 'Button5'
-                    activeHelpKey: makeExe
-                    translateLabel: true
-                    model: doStartMakeExe
-                    enableChannel: startMakeButtonEnabled
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Quick Make EXE'
-                    name: 'Button16'
-                    activeHelpKey: makeExeQuick
-                    translateLabel: true
-                    model: doStartMakeExeQuick
-                    enableChannel: startMakeButtonEnabled
-                    useDefaultExtent: true
-                  )
-                 (ViewSpec
-                    name: 'Box1'
-                    extent: (Point 20 10)
-                  )
-                 (ActionButtonSpec
-                    label: 'Stop Make'
-                    name: 'Button4'
-                    activeHelpKey: stopMake
-                    visibilityChannel: stopMakeButtonVisible
-                    translateLabel: true
-                    model: doStopMake
-                    useDefaultExtent: true
-                  )
+                (ActionButtonSpec
+                   label: 'Stop Make'
+                   name: 'Button4'
+                   activeHelpKey: stopMake
+                   visibilityChannel: stopMakeButtonVisible
+                   translateLabel: true
+                   model: doStopMake
+                   useDefaultExtent: true
+                 )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel2'
+             layout: (LayoutFrame 0 0 -60 1 0 1 -30 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Finder on Build Directory'
+                   name: 'Button13'
+                   activeHelpKey: openFinder
+                   visibilityChannel: osIsOSX
+                   translateLabel: true
+                   model: doOpenFinder
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Explorer on Build Directory'
+                   name: 'Button14'
+                   activeHelpKey: openExplorer
+                   visibilityChannel: osIsWindows
+                   translateLabel: true
+                   model: doOpenExplorer
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel2'
-              layout: (LayoutFrame 0 0 -60 1 0 1 -30 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Finder on Build Directory'
-                    name: 'Button13'
-                    activeHelpKey: openFinder
-                    visibilityChannel: osIsOSX
-                    translateLabel: true
-                    model: doOpenFinder
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Explorer on Build Directory'
-                    name: 'Button14'
-                    activeHelpKey: openExplorer
-                    visibilityChannel: osIsWindows
-                    translateLabel: true
-                    model: doOpenExplorer
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Browser on Build Directory'
-                    name: 'Button11'
-                    activeHelpKey: openFileBrowser
-                    translateLabel: true
-                    model: doBrowseBuildDirectory
-                    useDefaultExtent: true
-                  )
-                 (ViewSpec
-                    name: 'Box2'
-                    extent: (Point 20 10)
-                  )
-                 (ActionButtonSpec
-                    label: 'Clear Build Directory'
-                    name: 'Button12'
-                    activeHelpKey: clearBuildDirectory
-                    translateLabel: true
-                    model: doClearBuildDirectory
-                    useDefaultExtent: true
-                  )
+                (ActionButtonSpec
+                   label: 'Browser on Build Directory'
+                   name: 'Button11'
+                   activeHelpKey: openFileBrowser
+                   translateLabel: true
+                   model: doBrowseBuildDirectory
+                   useDefaultExtent: true
+                 )
+                (ViewSpec
+                   name: 'Box2'
+                   extent: (Point 20 10)
+                 )
+                (ActionButtonSpec
+                   label: 'Clear Build Directory'
+                   name: 'Button12'
+                   activeHelpKey: clearBuildDirectory
+                   translateLabel: true
+                   model: doClearBuildDirectory
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel3'
-              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Terminal in Build Directory'
-                    name: 'Button15'
-                    activeHelpKey: openFinder
-                    visibilityChannel: osIsOSX
-                    translateLabel: true
-                    model: doOpenTerminal
-                    useDefaultExtent: true
-                  )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel3'
+             layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Terminal in Build Directory'
+                   name: 'Button15'
+                   activeHelpKey: openTerminal
+                   translateLabel: true
+                   model: doOpenTerminal
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page7a_checkinSpec
@@ -1546,10 +1565,11 @@
                collection: (
                 (ActionButtonSpec
                    label: 'Checkin...'
-                   name: 'Button13'
+                   name: 'CheckinButton'
                    activeHelpKey: openFinder
                    visibilityChannel: osIsOSX
                    translateLabel: true
+                   resizeForLabel: true
                    model: doCheckin
                    useDefaultExtent: true
                  )
@@ -1571,182 +1591,191 @@
      the UIPainter may not be able to read the specification."
 
     "
-     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page7_buildSpec
-     Tools::ProjectBuilderAssistantApplication new openInterface:#page7_buildSpec
+     UIPainter new openOnClass:Tools::ProjectBuilderAssistantApplication andSelector:#page7b_buildSpec
+     Tools::ProjectBuilderAssistantApplication new openInterface:#page7b_buildSpec
     "
 
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page7b_buildSpec'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 679 492)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Make Output'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (TextEditorSpec
-                    name: 'MakeOutputWindow'
-                    layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-                    activeHelpKey: makeOutput
-                    model: makeOutputHolder
-                    hasHorizontalScrollBar: true
-                    hasVerticalScrollBar: true
-                    hasKeyboardFocusInitially: false
-                    viewClassName: 'TextCollector'
-                    postBuildCallback: postBuildMakeOutputWindow:
-                  )
+    #(FullSpec
+       name: #'page7b_buildSpec'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 679 492)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'Make Output'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (TextEditorSpec
+                   name: 'MakeOutputWindow'
+                   layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                   activeHelpKey: makeOutput
+                   model: makeOutputHolder
+                   hasHorizontalScrollBar: true
+                   hasVerticalScrollBar: true
+                   hasKeyboardFocusInitially: false
+                   viewClassName: 'TextCollector'
+                   postBuildCallback: postBuildMakeOutputWindow:
+                 )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel1'
+             layout: (LayoutFrame 0 0 -90 1 0 1 -60 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Make All'
+                   name: 'Button3'
+                   activeHelpKey: makeAll
+                   translateLabel: true
+                   model: doStartMakeAll
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Make APP only'
+                   name: 'Button17'
+                   activeHelpKey: makeApp
+                   visibilityChannel: osIsOSX
+                   translateLabel: true
+                   model: doStartMakeApp
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Make EXE only'
+                   name: 'Button5'
+                   activeHelpKey: makeExe
+                   translateLabel: true
+                   model: doStartMakeExe
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Quick Make EXE'
+                   name: 'Button16'
+                   activeHelpKey: makeExeQuick
+                   translateLabel: true
+                   model: doStartMakeExeQuick
+                   enableChannel: startMakeButtonEnabled
+                   useDefaultExtent: true
+                 )
+                (ViewSpec
+                   name: 'Box1'
+                   extent: (Point 20 10)
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel1'
-              layout: (LayoutFrame 0 0 -90 1 0 1 -60 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Make All'
-                    name: 'Button3'
-                    activeHelpKey: makeAll
-                    translateLabel: true
-                    model: doStartMakeAll
-                    enableChannel: startMakeButtonEnabled
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Make EXE only'
-                    name: 'Button5'
-                    activeHelpKey: makeExe
-                    translateLabel: true
-                    model: doStartMakeExe
-                    enableChannel: startMakeButtonEnabled
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Quick Make EXE'
-                    name: 'Button16'
-                    activeHelpKey: makeExeQuick
-                    translateLabel: true
-                    model: doStartMakeExeQuick
-                    enableChannel: startMakeButtonEnabled
-                    useDefaultExtent: true
-                  )
-                 (ViewSpec
-                    name: 'Box1'
-                    extent: (Point 20 10)
-                  )
-                 (ActionButtonSpec
-                    label: 'Stop Make'
-                    name: 'Button4'
-                    activeHelpKey: stopMake
-                    visibilityChannel: stopMakeButtonVisible
-                    translateLabel: true
-                    model: doStopMake
-                    useDefaultExtent: true
-                  )
+                (ActionButtonSpec
+                   label: 'Stop Make'
+                   name: 'Button4'
+                   activeHelpKey: stopMake
+                   visibilityChannel: stopMakeButtonVisible
+                   translateLabel: true
+                   model: doStopMake
+                   useDefaultExtent: true
+                 )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel2'
+             layout: (LayoutFrame 0 0 -60 1 0 1 -30 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Finder on Build Directory'
+                   name: 'Button13'
+                   activeHelpKey: openFinder
+                   visibilityChannel: osIsOSX
+                   translateLabel: true
+                   model: doOpenFinder
+                   useDefaultExtent: true
+                 )
+                (ActionButtonSpec
+                   label: 'Explorer on Build Directory'
+                   name: 'Button14'
+                   activeHelpKey: openExplorer
+                   visibilityChannel: osIsWindows
+                   translateLabel: true
+                   model: doOpenExplorer
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel2'
-              layout: (LayoutFrame 0 0 -60 1 0 1 -30 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Finder on Build Directory'
-                    name: 'Button13'
-                    activeHelpKey: openFinder
-                    visibilityChannel: osIsOSX
-                    translateLabel: true
-                    model: doOpenFinder
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Explorer on Build Directory'
-                    name: 'Button14'
-                    activeHelpKey: openExplorer
-                    visibilityChannel: osIsWindows
-                    translateLabel: true
-                    model: doOpenExplorer
-                    useDefaultExtent: true
-                  )
-                 (ActionButtonSpec
-                    label: 'Browser on Build Directory'
-                    name: 'Button11'
-                    activeHelpKey: openFileBrowser
-                    translateLabel: true
-                    model: doBrowseBuildDirectory
-                    useDefaultExtent: true
-                  )
-                 (ViewSpec
-                    name: 'Box2'
-                    extent: (Point 20 10)
-                  )
-                 (ActionButtonSpec
-                    label: 'Clear Build Directory'
-                    name: 'Button12'
-                    activeHelpKey: clearBuildDirectory
-                    translateLabel: true
-                    model: doClearBuildDirectory
-                    useDefaultExtent: true
-                  )
+                (ActionButtonSpec
+                   label: 'Browser on Build Directory'
+                   name: 'Button11'
+                   activeHelpKey: openFileBrowser
+                   translateLabel: true
+                   model: doBrowseBuildDirectory
+                   useDefaultExtent: true
+                 )
+                (ViewSpec
+                   name: 'Box2'
+                   extent: (Point 20 10)
+                 )
+                (ActionButtonSpec
+                   label: 'Clear Build Directory'
+                   name: 'Button12'
+                   activeHelpKey: clearBuildDirectory
+                   translateLabel: true
+                   model: doClearBuildDirectory
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
-           (HorizontalPanelViewSpec
-              name: 'HorizontalPanel3'
-              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-              horizontalLayout: leftSpace
-              verticalLayout: center
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'Terminal in Build Directory'
-                    name: 'Button15'
-                    activeHelpKey: openFinder
-                    visibilityChannel: osIsOSX
-                    translateLabel: true
-                    model: doOpenTerminal
-                    useDefaultExtent: true
-                  )
+                )
+              
+             )
+           )
+          (HorizontalPanelViewSpec
+             name: 'HorizontalPanel3'
+             layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
+             horizontalLayout: leftSpace
+             verticalLayout: center
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (ActionButtonSpec
+                   label: 'Terminal in Build Directory'
+                   name: 'Button15'
+                   activeHelpKey: openTerminal
+                   translateLabel: true
+                   model: doOpenTerminal
+                   useDefaultExtent: true
                  )
-               
-              )
-            )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 !
 
 page8_deploySpec
@@ -1764,76 +1793,84 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: #'page8_deploySpec'
-        window: 
-       (WindowSpec
-          label: 'Project Selection'
-          name: 'Project Selection'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 521 472)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (FramedBoxSpec
-              label: 'Files for Deployment'
-              name: 'FramedBox3'
-              layout: (LayoutFrame 0 0.0 5 0 4 1.0 0 1)
-              labelPosition: topLeft
-              translateLabel: true
-              component: 
-             (SpecCollection
-                collection: (
-                 (SubCanvasSpec
-                    name: 'SubCanvas1'
-                    layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
-                    hasHorizontalScrollBar: false
-                    hasVerticalScrollBar: false
-                    clientHolder: fileBrowserInstance
-                    createNewApplication: true
-                    createNewBuilder: true
-                  )
-                 (HorizontalPanelViewSpec
-                    name: 'HorizontalPanel1'
-                    layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
-                    horizontalLayout: centerMax
-                    verticalLayout: center
-                    horizontalSpace: 3
-                    verticalSpace: 3
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (ActionButtonSpec
-                          label: 'Open Windows Explorer'
-                          name: 'Button1'
-                          visibilityChannel: isWindowsOS
-                          translateLabel: true
-                          resizeForLabel: true
-                          model: doOpenExplorer
-                          extent: (Point 172 22)
-                        )
-                       (ActionButtonSpec
-                          label: 'Open Console'
-                          name: 'Button2'
-                          visibilityChannel: isUnixOS
-                          translateLabel: true
-                          resizeForLabel: true
-                          model: doOpenConsoleTerminal
-                          extent: (Point 172 22)
-                        )
+    #(FullSpec
+       name: #'page8_deploySpec'
+       window: 
+      (WindowSpec
+         label: 'Project Selection'
+         name: 'Project Selection'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 521 472)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (FramedBoxSpec
+             label: 'Files for Deployment'
+             name: 'FramedBox3'
+             layout: (LayoutFrame 0 0.0 5 0 4 1.0 0 1)
+             labelPosition: topLeft
+             translateLabel: true
+             component: 
+            (SpecCollection
+               collection: (
+                (SubCanvasSpec
+                   name: 'SubCanvas1'
+                   layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
+                   hasHorizontalScrollBar: false
+                   hasVerticalScrollBar: false
+                   clientHolder: fileBrowserInstance
+                   createNewApplication: true
+                   createNewBuilder: true
+                 )
+                (HorizontalPanelViewSpec
+                   name: 'HorizontalPanel1'
+                   layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
+                   horizontalLayout: centerMax
+                   verticalLayout: center
+                   horizontalSpace: 3
+                   verticalSpace: 3
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (ActionButtonSpec
+                         label: 'Open Windows Explorer'
+                         name: 'Button1'
+                         visibilityChannel: osIsWindows
+                         translateLabel: true
+                         resizeForLabel: true
+                         model: doOpenExplorer
+                         extent: (Point 172 22)
                        )
-                     
-                    )
-                  )
+                      (ActionButtonSpec
+                         label: 'Open Finder'
+                         name: 'Button3'
+                         visibilityChannel: osIsOSX
+                         translateLabel: true
+                         resizeForLabel: true
+                         model: doOpenFinder
+                         extent: (Point 172 22)
+                       )
+                      (ActionButtonSpec
+                         label: 'Open Terminal'
+                         name: 'Button2'
+                         translateLabel: true
+                         resizeForLabel: true
+                         model: doOpenTerminal
+                         extent: (Point 172 22)
+                       )
+                      )
+                    
+                   )
                  )
-               
-              )
-            )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 ! !
 
 !ProjectBuilderAssistantApplication class methodsFor:'misc specs'!
@@ -2178,19 +2215,6 @@
     ].
 !
 
-doOpenConsoleTerminal
-"/    OperatingSystem
-"/        executeCommand:'cmd.exe'        
-"/        inDirectory:(projectBuilder packageBuildDirectory)
-    OperatingSystem isUNIXlike ifTrue:[
-        VT100TerminalView openShellIn:(projectBuilder packageBuildDirectory)
-    ] ifFalse:[
-        OperatingSystem
-            executeCommand:'c:\windows\System32\cmd.exe'        
-            inDirectory:(projectBuilder packageBuildDirectory)
-    ]
-!
-
 doOpenExplorer
     projectBuilder isNil ifTrue:[ self getProjectBuilder ].
     projectBuilder buildDirectory isNil ifTrue:[
@@ -2255,6 +2279,12 @@
     self doStartMake:'all'
 !
 
+doStartMakeApp
+    <resource: #uiCallback>
+
+    self doStartMake:'app'
+!
+
 doStartMakeExe
     <resource: #uiCallback>
 
@@ -2333,6 +2363,7 @@
     ] do:[
         self getProjectBuilder.
         projectBuilder makeExeOnly:((what = 'exe') or:[what = 'exeQuick']).
+        projectBuilder makeAppOnly:(what = 'app').
         projectBuilder makeQuick:(what = 'exeQuick').
 
         Error handle:[:ex |
@@ -2673,6 +2704,10 @@
    ^ OperatingSystem isOSXlike
 !
 
+osIsUnix
+   ^ OperatingSystem isUNIXlike 
+!
+
 osIsWindows
    ^ OperatingSystem isMSWINDOWSlike
 !
@@ -3128,14 +3163,6 @@
     "Modified: / 23-08-2011 / 12:16:35 / cg"
 !
 
-isUnixOS
-    ^ OperatingSystem isUNIXlike
-!
-
-isWindowsOS
-    ^ OperatingSystem isMSWINDOWSlike
-!
-
 projectTypeIsGuiApplication
     ^ self projectTypeHolder value == ProjectDefinition guiApplicationType
 
@@ -3221,6 +3248,26 @@
     "Modified: / 06-09-2012 / 15:58:58 / cg"
 !
 
+checkSourceCodeManagerType
+    |button scm package|
+
+    button := self builder componentAt:'CheckinButton'.
+
+    package := selectedProjectDefinition package.
+    scm := AbstractSourceCodeManager managerForPackage:package.
+    scm isNil ifTrue:[
+        scm := selectedApplication sourceCodeManager.
+        scm isNil ifTrue:[
+            scm := SourceCodeManager
+        ].
+    ].
+    scm isNil ifTrue:[
+        button disable
+    ] ifFalse:[
+        button label:(resources string:'Checkin (%1)...' with:scm managerTypeName)
+    ].
+!
+
 delayedUpdate:something with:anArgument from:changedObject
     changedObject == Smalltalk ifTrue:[
         (something == #newClass