Skip to content

Latest commit

 

History

History
115 lines (87 loc) · 4.41 KB

default-directory-layout.md

File metadata and controls

115 lines (87 loc) · 4.41 KB

PowerShell Default Directory Layout

By default, AutoRest's PowerShell Generator will place all the generated files under the following directory layout:

During subsequent runs of AutoRest, the only directory that will be overwritten is the /generated directory; other directories will only have incremental changes (i.e. files deleted being generated again).

Directories and Files

The following are the description of the directories, denoted by a '/' before the name, and files generated:

/bin

Contains the binary files from which the script cmdlets depend on.

/custom

Contains customized cmdlets.

/docs

Contains miscellaneous documents from the code. For example, cmdlet documentation, code generation instructions, breaking-changes, etc.

/exports

Contains proxy cmdlets.

/generated

Contains all the low-level C# files.

/internal

Contains proxy cmdlets that were hidden.

/obj

Contains temporary files used to create the binaries.

/resources

Contains files not consumed by any process. Only for the repo as reference assets.

/test

Contains tests for the cmdlets. By default, it contains an example pester test and a httpipelinemock.ps1 script.

/UX

This directory is dedicated to Azure-specific content and includes metadata files essential for enhancing the user experience (UX) within the Azure portal. These files are utilized by the Azure portal to effectively present the usage of cmdlets related to specific resources on portal pages.

/node_modules

Contains the packages from which the projects depend on.

.gitignore

Specifies untracked directories and files that Git should ignore. By default directories included here are: /bin, /obj, /exports and /node_modules. By default the files included here are all ps1xml files.

<format-file>.format.ps1xml

Defines the default display of objects in the PS console. Read more: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-6

<cs-project-file>.csproj

C# project file.

<manifest-file>.psd1

Describes the content of a module and determines how a module is processed. Generally, inside this file the author description, files in the module, systems requirements, among other data is specified. Read more at: https://learn.microsoft.com/powershell/developer/module/how-to-write-a-powershell-module-manifest

<module-file>.psm1

Defines a set of related script files, assemblies and related sources as a module. Read more at: https://learn.microsoft.com/powershell/developer/module/understanding-a-windows-powershell-module

build-module.ps1

Compiles the C# source files to binaries used by the script cmdlets.

generate-help.ps1

Generates help file using PlatyPS.

how-to.md

Provides guidance on how to use the code generated by AutoRest as it is, and how it can be customized.

license.txt

Specifies what can and can't be done with the code.

pack-module.ps1

Used to package the module.

readme.md

Serves both as a documentation file for the codebase and as a configuration file to regenerate the code using Autorest.

test-module.ps1

Used to run tests on the cmdlets.

regen-module.ps1

Used to re-run AutoRest using the configuration provided inside 'readme.md' file.

types.ps1xml

Used to extend object types in PowerShell. Read more: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-6

dll-help.ps1xml

Includes the help generated from combining docs and examples.