Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .github/actions/build-vsix/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,15 @@ runs:
shell: bash

- name: Update optional extension dependencies
run: npm run addExtensionPackDependencies
run: |
if [[ "${VSIX_NAME}" == *"insiders"* ]]; then
npm run addExtensionPackDependenciesPreRelease
else
npm run addExtensionPackDependencies
fi
shell: bash
env:
VSIX_NAME: ${{ inputs.vsix_name }}

- name: Build Webpack
run: |
Expand Down
2 changes: 1 addition & 1 deletion build/azure-pipeline.pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ extends:
- script: python ./build/update_package_file.py
displayName: Update telemetry in package.json

- script: npm run addExtensionPackDependencies
- script: npm run addExtensionPackDependenciesPreRelease
displayName: Update optional extension dependencies

- script: npx gulp prePublishBundle
Expand Down
19 changes: 13 additions & 6 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,23 @@ gulp.task('addExtensionPackDependencies', async () => {
await addExtensionPackDependencies();
});

async function addExtensionPackDependencies() {
// This task adds 'ms-python.vscode-python-envs' as required deps only for pre-release builds.
gulp.task('addExtensionPackDependenciesPreRelease', async () => {
await buildLicense();
await addExtensionPackDependencies(true);
});

async function addExtensionPackDependencies(isPreRelease = false) {
// Update the package.json to add extension pack dependencies at build time so that
// extension dependencies need not be installed during development
const packageJsonContents = await fsExtra.readFile('package.json', 'utf-8');
const packageJson = JSON.parse(packageJsonContents);
packageJson.extensionPack = [
'ms-python.vscode-pylance',
'ms-python.debugpy',
'ms-python.vscode-python-envs',
].concat(packageJson.extensionPack ? packageJson.extensionPack : []);
let deps = ['ms-python.vscode-pylance', 'ms-python.debugpy'];
if (isPreRelease) {
deps.push('ms-python.vscode-python-envs');
}
packageJson.extensionPack = deps.concat(packageJson.extensionPack ? packageJson.extensionPack : []);

// Remove potential duplicates.
packageJson.extensionPack = packageJson.extensionPack.filter(
(item, index) => packageJson.extensionPack.indexOf(item) === index,
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -1671,6 +1671,7 @@
"format-fix": "prettier --write 'src/**/*.ts' 'build/**/*.js' '.github/**/*.yml' gulpfile.js",
"clean": "gulp clean",
"addExtensionPackDependencies": "gulp addExtensionPackDependencies",
"addExtensionPackDependenciesPreRelease": "gulp addExtensionPackDependenciesPreRelease",
"updateBuildNumber": "gulp updateBuildNumber",
"verifyBundle": "gulp verifyBundle",
"webpack": "webpack"
Expand Down