-
Notifications
You must be signed in to change notification settings - Fork 433
Overview of Repo Structure
This repo contains a number of VSTS build extensions, some containing a single task, some with multiple tasks. Whether each extension should have been in their own repo is a valid question to ask, but for historic reasons I have ended up here and as I know people have forked this repo I don't want to introduce breaking changes if I can avoid it.
If I were starting this project again I would certainly look at YO VSTS to build structure. However, this project pre-dates the availability of this tool hence the structure I have
[root]
.gitignore
license.txt (GitHub files)
readme.md (GitHub files)
Extensions (Each extension has it's own folder)
package.ps1 (packages all extensions)
Extension 1
vss-extension.json (manifest for extension)
readme.md
license.md
images (for extension package)
logo.png
screenshot1.png
Task 1 (PowerShell based)
icon.png (logo icon)
task.json (manifest for task)
mytask.ps1
tasklibrary.psm1 (optional as needed)
Task 2 (Typescript based)
package.json (NPM config)
tsconfig.json (Typescript config)
tslint.json (TSLint config)
src
mytask.ts
tasklibrary.ts
dist (temp folder .ts files transpiled into)
task (folder .js files copied into during packaging, this the only folder in the package)
icon.png (logo icon)
task.json (manifest for task)
test
test.ts
Tests (folder for Powershell Pester based tests*)
Extensions
Extension 1
mytest.tests.ps1
* The plan (Issue #202) is to move the tests folder out of the root into the various Powershell extension folders, so a similar structure to the Typescript based tasks for constancy and help the CI/CD process. This does require an alteration in the vss-extension.json to reflect the revised structure. The new structure would be:
Extension 1
vss-extension.json (Edited for new paths)
readme.md
license.md
images (for extension)
logo.png
screenshot1.png
Task 1 (PowerShell based new layout)
src
icon.png
task.json
mytask.ps1
tasklibrary.psm1 (optional as needed)
test
mytask.tests.ps1
This work will only be done as tasks are updated to add new features or fix bugs