Skip to content

Command Reference

Paul Mansour edited this page Apr 27, 2023 · 28 revisions

Most Dado commands operate on the current project. The current project is determined by the current namespace in the session when calling the command. The current namespace may be the root of the project or any subspace of the project.

AddRemote

]Dado.AddRemote URL

Adds the bare remote repository at URL as a remote to the local project and pushes the local repository. This function also establishes the URL in the acre config file.

Build

]Dado.Build version

Builds the application. The argument version is a string, and may be empty or may be a full version, e.g. "2.1.3", corresponding to a pre-existing release. If version is empty, then a non-versioned application is built based on the current state of the project and any dependencies that are local. If a version is specified, then a versioned application is built from the primary package and all dependent packages. In either case, any required packages are generated from local projects or downloaded as necessary and placed in the package cache folder. The Build function also executes the callback function assigned to the OnBuild parameter in the acre.config file. Before executing the callback, if a callback is in fact specified, the Build function increments a BuildID and places this ID in the manifest.json file of the application. This BuildID is then available to be used by the callback function for generating, for example, Windows installation executables.

Checkout

]Dado.Checkout branch

Checks out a branch.

Commit

]Dado.Commit [message]

Commits changes on the current branch. The vast majority of the time this branch will be a feature branch, and there is no need to provide a message. All commits on a feature branch are squashed and the messages discarded when merging. If on the master branch, a message is required.

CreateProject

]Dado.CreateProject Folder Space

This creates the project and initializes it as a Git repository.

NewFeatureBranch

]Dado.NewFeatureBranch name

Create and switch to a new feature branch.

MergeFeatureBranch

]Dado.MergeFeatureBranch message

Merges feature branch into master, and then deletes it. Choose the message carefully, as it will become a release note. You may prepend the message with a tilde (~) to omit the message from the release notes.

OpenProject

]Dado.OpenProject Folder

This opens the project and all dependent components (either projects or packages). In addition it sets up workspace references to project APIs.

ReleaseNewVersion

]Dado.ReleaseNewVersion [major|minor|patch]

Releases a new version. The argument may be omitted and will default to patch. This command bumps up the version number (major, minor, or patch, depending on the argument) commits and tags the release, builds the package and application, builds any additional application specific artifacts, generates release notes, creates a new release on GitHub and uploads all the release artifacts.

RebaseFeatureBranch

]Dado.RebaseFeatureBranch

Rebases a feature branch to the master branch.

RebaseContinue

]Dado.RebaseContinue

Completes the rebase after resolving merge conflicts.

RunGitCommand

]Dado.RunGitCommand command

Runs any arbitrary Git command on the current project.

RunTests

]Dado.RunTests

Runs the Provanto test framework on the current project. You must be in or under the project namespace.

ShowBranches

]Dado.ShowBranches

Display branches of the current project.

      ]aCRETOOLS.showbranches
* master                              
  remotes/origin/HEAD -> origin/master
  remotes/origin/master               

ShowCommitSummary

]Dado.ShowCommitSummary [n]

Display n most recent commits, one line per commit. n defaults to 10. Use 0 for complete history.

      ]Dado.showcommitsummary 5
440e23b Paul Mansour, 5 hours ago, Release 0.0.10                               
5cdb273 Paul Mansour, 5 hours ago, Extract Build function from ReleaseNewVersion
8164456 Paul Mansour, 5 hours ago, Add command SourceCode to display source     
df63686 Paul Mansour, 25 hours ago, Release 0.0.9                               
d9f7a7b Paul Mansour, 25 hours ago, Revamp User Command installation    

ShowCommitDetail

]Dado.ShowCommitDetail [n]

Display n most recent commits in detail. n defaults to 1. Use 0 for complete history.

      ]Dado.showcommitdetail 3
commit 440e23b7e070e112a884949403f837917dab3a5b    
Author: Paul Mansour <[email protected]>      
Date:   Sun Jul 28 11:26:37 2019 -0400             
                                                   
    Release 0.0.10                                 
                                                   
M       acre.config                                
                                                   
commit 5cdb273675d94488be6ba0bf905d855b53baacdd    
Author: Paul Mansour <[email protected]>      
Date:   Sun Jul 28 11:26:19 2019 -0400             
                                                   
    Extract Build function from ReleaseNewVersion  
                                                   
A       #.Dado.Build            
M       #.Dad.ReleaseNewVersion
                                                   
commit 8164456e20a006999d218b6ad7a5f4052d238a88    
Author: Paul Mansour <[email protected]>      
Date:   Sun Jul 28 11:01:48 2019 -0400             
                                                   
    Add command SourceCode to display source       
                                                   
A       #.Dado.SourceCode       
M       #.Dado.UserCommandList  

ShowChanges

]Dado.ShowChanges

Display all uncommitted and committed changed items on the current branch of the current project as compared to the master branch. In other words, show all items that you have changed since creating the feature branch.

      ]Dado.showchanges 
Project/Branch: Dado/feature/WIP         
Uncommitted Changes:                          
 {none}                                       
Committed Changes:                            
 M  #.Dado.UserCommandList 

ShowHistory

]Dado.ShowHistory item

Display the function history. Item may be the fully qualified path or the simple name of an item in the current namespace.

      ]Dado.ShowHistory 'GetBlock'
 
 Paul Mansour  2019-02-08 14:03:39 -0500 M 88210a7                              
--------------------------------------------------------------------------------
 GetBlock←{                                                                     
     p←⍵                                                                        
     bs←p.WorkbookInfo.BlockSize                                                
     s←bs⌊p.Length-p.Start                                                      
     c←p.SheetData[p.Start+⍳s]                                                  
     n←6+¯1↑⍸'</row>'⍷c                                                         
     n=6:''                                                                     
     p.Start+←n                                                                 
     n↑c                                                                        
 }                                                                              
                                                                                
 Paul Mansour  2019-01-31 09:58:23 -0500 M 08edff4                              
--------------------------------------------------------------------------------
 GetBlock←{                                                                     
     p←⍵                                                                        
     bs←p.WorkbookInfo.BlockSize                                                
     s←bs⌊p.Length-p.Start                                                      
     c←p.SheetData[p.Start+⍳s]                                                  
     n←6+¯1↑⍸'</row>'⍷c                                                         
     p.Start+←n                                                                 
     n↑c                                                                        
 }                                                                              
                                                                                
 Paul Mansour  2019-01-29 14:35:05 -0500 A d52de37                              
--------------------------------------------------------------------------------
 GetBlock←{                                                                     
     p←⍵                                                                        
     s←p.BlockSize⌊p.Length-p.Start                                             
     c←p.SheetData[p.Start+⍳s]                                                  
     n←6+¯1↑⍸'</row>'⍷c                                                         
     p.Start+←n                                                                 
     n↑c                                                                        
 }                    

ShowProjects

]Dado.ShowProjects

Display all open projects, their current branch, and the number of committed and uncommitted changes on the branch.

      ]Dado.showprojects                                                                       
 Project        Branch       UC  CC 
 -------        ------       --  -- 
 Rumba          master        0   0 
 XL2APL         master        0   0 
 CashFlow       master        0   0 
 FlipDB         feature/WIP   0   0 
 FlipDBDesktop  feature/WIP   8   0 
 AcreTools      feature/WIP   0   0  

SourceCode

]Dado.SourceCode command

Display the source code of the command (or any command sub-function)

      ]Dado.sourcecode Commit
 Commit←{                               
     ⍝ ⍺ ←→ [Project Folder|Space]      
     ⍝ ⍵ ←→ Message                     
     ⍺←0                                
     p←GetProjectFolder ⍺               
     nm←'master'≢p GetCurrentBranch''   
     m←⍵,(nm∧0=≢⍵)/'Save point'         
     _←p RunGitCommand'add --all'       
     ⊃p RunGitCommand'commit -m "',m,'"'
 }                                      

Version

]Dado.Version

Returns the AcreTools version number.

      ]Dado.version
0.0.9
Clone this wiki locally