diff --git a/Build/BuildReleaseHelpers.psm1 b/Build/BuildReleaseHelpers.psm1 index 4d444ab18..ebc3a7b90 100644 --- a/Build/BuildReleaseHelpers.psm1 +++ b/Build/BuildReleaseHelpers.psm1 @@ -78,7 +78,7 @@ function begin_sign_files { $job.SelectCertificate("67") # StrongName key } if ($certificates -match "vsix") { - $job.SelectCertificate("10040160") # Microsoft OPC Publisher (VSIX) + $job.SelectCertificate("160") # Microsoft OPC Publisher (VSIX) } foreach ($approver in $approvers) { diff --git a/Build/BuildReleaseMockHelpers.psm1 b/Build/BuildReleaseMockHelpers.psm1 index 41e52420a..37262c18d 100644 --- a/Build/BuildReleaseMockHelpers.psm1 +++ b/Build/BuildReleaseMockHelpers.psm1 @@ -92,8 +92,8 @@ job.SelectCertificate(67)" } if ($certificates -match "vsix") { $msg = "$msg -job.SelectCertificate(100040160)" - $job.SelectCertificate("100040160") # Microsoft OPC Publisher (VSIX) +job.SelectCertificate(160)" + $job.SelectCertificate("160") # Microsoft OPC Publisher (VSIX) } foreach ($approver in $approvers) { diff --git a/Build/Common.Build.VSSDK.targets b/Build/Common.Build.VSSDK.targets index 6c4cc9d53..5455df5e8 100644 --- a/Build/Common.Build.VSSDK.targets +++ b/Build/Common.Build.VSSDK.targets @@ -200,7 +200,7 @@ - + @@ -234,39 +234,6 @@ Condition="'$(CopyOutputsToPath)' != ''" /> - - - - - <_VSIXSourceItems Include="%(VSIX.SourceDir)**\*" /> - <_VSIXSourceItems> - %(RecursiveDir)%(Filename)%(Extension) - - - - - <_Container>%(VSIX.Container) - - - - - - - - - $(CopyOutputsToPath)\ - <_PathSuffix Condition="'$(SignedBinariesPath)' != ''">SignedBinariesUnsignedMsi\ - <_PathSuffix Condition="'$(SignedBinariesPath)' == ''">UnsignedMsi\ - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Product/Nodejs/Microsoft.NodejsTools.targets b/Nodejs/Product/Nodejs/Microsoft.NodejsTools.targets index 166b0d8a1..53adf848d 100644 --- a/Nodejs/Product/Nodejs/Microsoft.NodejsTools.targets +++ b/Nodejs/Product/Nodejs/Microsoft.NodejsTools.targets @@ -57,7 +57,7 @@ - + <_NodeModulesContentProperty>@(NodeModulesContent) diff --git a/Nodejs/Product/Nodejs/Navigation/IScopeNode.cs b/Nodejs/Product/Nodejs/Navigation/IScopeNode.cs deleted file mode 100644 index 43ff5d211..000000000 --- a/Nodejs/Product/Nodejs/Navigation/IScopeNode.cs +++ /dev/null @@ -1,45 +0,0 @@ -//*********************************************************// -// Copyright (c) Microsoft. All rights reserved. -// -// Apache 2.0 License -// -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -// implied. See the License for the specific language governing -// permissions and limitations under the License. -// -//*********************************************************// - -using System.Collections.Generic; -using Microsoft.VisualStudioTools.Parsing; - -namespace Microsoft.VisualStudioTools.Navigation { - interface IScopeNode { - LibraryNodeType NodeType { - get; - } - - string Name { - get; - } - - string Description { - get; - } - - SourceLocation Start { - get; - } - SourceLocation End { - get; - } - - IEnumerable NestedScopes { - get; - } - } -} diff --git a/Nodejs/Product/Nodejs/Nodejs.csproj b/Nodejs/Product/Nodejs/Nodejs.csproj index 9a0f8a300..03448d97b 100644 --- a/Nodejs/Product/Nodejs/Nodejs.csproj +++ b/Nodejs/Product/Nodejs/Nodejs.csproj @@ -907,19 +907,10 @@ PreserveNewest true - - PreserveNewest - true - - - PreserveNewest - true - ItemTemplates - Designer @@ -1353,7 +1344,7 @@ PreserveNewest - true + false PreserveNewest @@ -1720,6 +1711,10 @@ true true + + True + True + @@ -1750,4 +1745,24 @@ copy /y $(OutDir)..\WebRole\Microsoft.NodejsTools.WebRole.dll $(OutDir)Debugger\RemoteDebug\ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Product/Nodejs/ProjectTemplates/VS_Nodejs.project.vstman b/Nodejs/Product/Nodejs/ProjectTemplates/VS_Nodejs.project.vstman deleted file mode 100644 index 775ba9b00..000000000 --- a/Nodejs/Product/Nodejs/ProjectTemplates/VS_Nodejs.project.vstman +++ /dev/null @@ -1,577 +0,0 @@ - - - JavaScript\Node.js\AddWebSiteAzureExpressApp.zip - AddWebSiteAzureExpressApp.vstemplate - - - Basic Azure Node.js Express 3 Application - A basic Node.js Express 3 application for Microsoft Azure. - - Web - JavaScript - Microsoft.JavaScript.AddWebSiteAzureExpressApp - 145 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AddWebSiteAzureNodejsApp.zip - AddWebSiteAzureNodejsApp.vstemplate - - - Blank Azure Node.js Web Application - An empty Node.js application for Microsoft Azure. - - Web - JavaScript - Microsoft.Web.JavaScript.AddWebSiteAzureNodejsApp - 140 - true - NodejsWebApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AddWebSiteAzureStarterExpressApp.zip - AddWebSiteAzureStarterExpressApp.vstemplate - - - Starter Azure Node.js Express 3 Application - A project for creating an application for Microsoft Azure using the Express 3 web framework with the Jade template engine. It features sample pages that use the Twitter Bootstrap framework for responsive web design. - - Web - JavaScript - Microsoft.JavaScript.AddWebSiteAzureStarterExpressApp - 146 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AddWebSiteExpressApp.zip - AddWebSiteExpressApp.vstemplate - - - Basic Node.js Express 3 Application - A basic Node.js Express 3 application. - - Web - JavaScript - Microsoft.JavaScript.AddWebSiteExpressApp - 135 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AddWebSiteNodejsWebApp.zip - AddWebSiteNodejsWebApp.vstemplate - - - Blank Node.js Web Application - An empty Node.js web application. - - Web - JavaScript - Microsoft.Web.JavaScript.AddWebSiteNodejsWebApp - 130 - true - NodejsWebApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AddWebSiteStarterExpressApp.zip - AddWebSiteStarterExpressApp.vstemplate - - - Starter Node.js Express 3 Application - A project for creating an application using the Express 3 web framework with the Jade template engine. It features sample pages that use the Twitter Bootstrap framework for responsive web design. - - Web - JavaScript - Microsoft.JavaScript.AddWebSiteStarterExpressApp - 136 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AzureExpress4App.zip - ExpressApp.vstemplate - - - Basic Azure Node.js Express 4 Application - A basic Node.js Express 4 application for Microsoft Azure. - - JavaScript - Microsoft.JavaScript.AzureExpressApp - 150 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AzureNodejsApp.zip - AzureNodejsApp.vstemplate - - - Blank Azure Node.js Web Application - An empty Node.js application for Microsoft Azure. - - JavaScript - Microsoft.JavaScript.AzureNodejsApp - 140 - true - NodejsWebApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AzureNodejsWorker.zip - Worker.vstemplate - - - Blank Azure Node.js Worker Role - An empty Node.js worker role for Microsoft Azure. - - JavaScript - Microsoft.JavaScript.AzureNodejsWorker - true - 150 - true - NodejsWorker - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\AzureStarterExpressApp.zip - AzureStarterExpressApp.vstemplate - - - Starter Azure Node.js Express 3 Application - A project for creating an application for Microsoft Azure using the Express 3 web framework with the Jade template engine. It features sample pages that use the Twitter Bootstrap framework for responsive web design. - - JavaScript - Microsoft.JavaScript.AzureStarterExpressApp - 146 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\CloudService.zip - CloudService.vstemplate - - - Azure Cloud Service - A project for creating a scalable service that runs on Microsoft Azure. - JavaScript - CloudServiceProject - Microsoft.CloudServiceProject.CloudService_js - 3.5 - 30 - 1 - true - AzureCloudService - true - cloudservice.ico - true - Enabled - true - - - - - JavaScript\Node.js\Express4App.zip - ExpressApp.vstemplate - - - Basic Node.js Express 4 Application - A basic Node.js Express 4 application. - - JavaScript - Microsoft.JavaScript.ExpressApp - 140 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\FromExistingCode.zip - FromExistingCode.vstemplate - - - From Existing Node.js code - Creates a new Node.js project from existing code. - - JavaScript - Microsoft.JavaScript.NodejsFromExistingCode - 120 - false - NodejsApp - true - 1 - true - - - - - JavaScript\Node.js\NodejsConsoleApp.zip - NodejsConsoleApp.vstemplate - - - Blank Node.js Console Application - An empty Node.js application. - - JavaScript - Microsoft.JavaScript.NodejsConsoleApp - 125 - true - NodejsConsoleApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\NodejsWebApp.zip - NodejsWebApp.vstemplate - - - Blank Node.js Web Application - An empty Node.js Web application. - - JavaScript - Microsoft.JavaScript.NodejsWebApp - 130 - true - NodejsWebApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\StarterExpressApp.zip - StarterExpressApp.vstemplate - - - Starter Node.js Express 3 Application - A project for creating an application using the Express 3 web framework with the Jade template engine. It features sample pages that use the Twitter Bootstrap framework for responsive web design. - - JavaScript - Microsoft.JavaScript.StarterExpressApp - 136 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptAzureExpressApp.zip - TypeScriptExpressApp.vstemplate - - - Basic Azure Node.js Express 3 Application - A basic Node.js Express 3 application for Microsoft Azure. - - TypeScript - Microsoft.TypeScript.AzureExpressApp - 145 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptAzureExpressWebRole.zip - TypeScriptExpressApp.vstemplate - - - Basic Azure Node.js Express 3 Application - A basic Node.js Express 3 application for Microsoft Azure. - - JavaScript - Microsoft.JavaScript.TypeScriptExpressApp - true - 145 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptAzureNodejsWorker.zip - Worker.vstemplate - - - Blank Azure Node.js Worker Role - An empty Node.js worker role for Microsoft Azure. - - TypeScript - Microsoft.TypeScript.AzureNodejsWorker - true - 150 - true - NodejsWorker - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptAzureNodejsWorkerRole.zip - Worker.vstemplate - - - Blank Azure Node.js Worker Role - An empty Node.js worker role for Microsoft Azure. - - JavaScript - Microsoft.JavaScript.TypeScriptAzureNodejsWorker - true - 150 - true - NodejsWorker - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptAzureStarterExpressApp.zip - TypeScriptAzureStarterExpressApp.vstemplate - - - Starter Azure Node.js Express 3 Application - A project for creating an application for Microsoft Azure using the Express 3 web framework with the Jade template engine. It features sample pages that use the Twitter Bootstrap framework for responsive web design. - - TypeScript - Microsoft.TypeScript.AzureStarterExpressApp - 146 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptAzureWebApp.zip - TypeScriptWebApp.vstemplate - - - Blank Azure Node.js Web Application - An empty Node.js application for Microsoft Azure. - - TypeScript - Microsoft.TypeScript.NodejsAzureWebApp - 140 - true - NodejsWebApp - true - 1 - true - Preview.png - Node.jss - - - - - JavaScript\Node.js\TypeScriptAzureWebRole.zip - TypeScriptWebApp.vstemplate - - - Blank Azure Node.js Web Application - An empty Node.js application for Microsoft Azure. - - JavaScript - Microsoft.JavaScript.TypeScriptNodejsWebApp - 140 - true - true - NodejsWebApp - true - 1 - true - Preview.png - Node.jss - - - - - JavaScript\Node.js\TypeScriptConsoleApp.zip - NodejsConsoleApp.vstemplate - - - Blank Node.js Console Application - An empty Node.js application. - - TypeScript - Microsoft.TypeScript.NodejsConsoleApp - 125 - true - NodejsConsoleApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptExpressApp.zip - ExpressApp.vstemplate - - - Basic Node.js Express 3 Application - A basic Node.js Express 3 application. - - TypeScript - Microsoft.TypeScript.ExpressApp - 135 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptFromExistingCode.zip - FromExistingCode.vstemplate - - - From Existing Node.js code - Creates a new Node.js project from existing code. - - TypeScript - Microsoft.TypeScript.NodejsFromExistingCode - 120 - false - NodejsApp - true - 1 - true - - - - - JavaScript\Node.js\TypeScriptStarterExpressApp.zip - TypeScriptStarterExpressApp.vstemplate - - - Starter Node.js Express 3 Application - A project for creating an application using the Express 3 web framework with the Jade template engine. It features sample pages that use the Twitter Bootstrap framework for responsive web design. - - TypeScript - Microsoft.TypeScript.StarterExpressApp - 136 - true - ExpressApp - true - 1 - true - Preview.png - - - - - JavaScript\Node.js\TypeScriptWebApp.zip - NodejsWebApp.vstemplate - - - Blank Node.js Web Application - An empty Node.js application. - - TypeScript - Microsoft.TypeScript.NodejsWebApp - 130 - true - NodejsWebApp - true - 1 - true - Preview.png - Node.jss - - - - \ No newline at end of file diff --git a/Nodejs/Product/Nodejs/Properties/AssemblyInfo.cs b/Nodejs/Product/Nodejs/Properties/AssemblyInfo.cs index 0711fa2b7..5b68d8713 100644 --- a/Nodejs/Product/Nodejs/Properties/AssemblyInfo.cs +++ b/Nodejs/Product/Nodejs/Properties/AssemblyInfo.cs @@ -19,6 +19,8 @@ using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using Microsoft.VisualStudio.Shell; + // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information @@ -26,10 +28,24 @@ [assembly: AssemblyTitle("Node.js Tools for Visual Studio")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: ComVisible(false)] + +[assembly: ComVisible(false)] [assembly: CLSCompliant(false)] [assembly: NeutralResourcesLanguage("en-US")] +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools", CodeBase = "Microsoft.NodejsTools.dll", Version = AssemblyVersionInfo.StableVersion)] +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools.Analysis", CodeBase = "Microsoft.NodejsTools.Analysis.dll", Version = AssemblyVersionInfo.StableVersion)] +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools.Npm", CodeBase = "Microsoft.NodejsTools.Npm.dll", Version = AssemblyVersionInfo.StableVersion)] +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools.PressAnyKey", CodeBase = "Microsoft.NodejsTools.PressAnyKey.exe", Version = AssemblyVersionInfo.StableVersion)] +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools.ProjectWizard", CodeBase = "Microsoft.NodejsTools.ProjectWizard.dll", Version = "1.0.0.0")] +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools.TestAdapter", CodeBase = "Microsoft.NodejsTools.TestAdapter.dll", Version = AssemblyVersionInfo.StableVersion)] + +#if DEV14 +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools.Telemetry.14.0", CodeBase = "Microsoft.NodejsTools.Telemetry.14.0.dll", Version = "14.0.1.0")] +#elif DEV15 +[assembly: ProvideCodeBase(AssemblyName = "Microsoft.NodejsTools.Telemetry.15.0", CodeBase = "Microsoft.NodejsTools.Telemetry.15.0.dll", Version = "15.0.1.0")] +#endif + [assembly: InternalsVisibleTo("TestUtilities.NodeJS, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")] [assembly: InternalsVisibleTo("NodeTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")] [assembly: InternalsVisibleTo("Nodejs.Tests.UI, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")] diff --git a/Nodejs/Product/Nodejs/Templates/VS_Nodejs.item.vstman b/Nodejs/Product/Nodejs/Templates/VS_Nodejs.item.vstman deleted file mode 100644 index 62d9e7fbb..000000000 --- a/Nodejs/Product/Nodejs/Templates/VS_Nodejs.item.vstman +++ /dev/null @@ -1,157 +0,0 @@ - - - CloudService\NETFramework4\Web Role\Node.js\CloudServiceExpressWebRole.zip - ExpressWebRole.vstemplate - - - Express Web Role - Service with a web interface using the Express web framework. - - CloudServiceProject - WebRole - 22 - - - - - CloudService\NETFramework4\Web Role\Node.js\CloudServiceTypeScriptExpressWebRole.zip - TypeScriptExpressWebRole.vstemplate - - - TypeScript Express Web Role - Service with a web interface using the Express web framework with TypeScript. - - CloudServiceProject - WebRole - 32 - - - - - CloudService\NETFramework4\Web Role\Node.js\CloudServiceTypeScriptWebRole.zip - TypeScriptWebRole.vstemplate - - - TypeScript Web Role - Service with a web interface using TypeScript. - - CloudServiceProject - WebRole - 31 - - - - - CloudService\NETFramework4\Web Role\Node.js\CloudServiceWebRole.zip - WebRole.vstemplate - - - Web Role - Node.js service with a web interface. - - CloudServiceProject - WebRole - 21 - - - - - CloudService\NETFramework4\Worker Role\Node.js\CloudServiceTypeScriptWorkerRole.zip - TypeScriptWorkerRole.vstemplate - - - TypeScript Worker Role - Node.js background processing service using TypeScript. - - CloudServiceProject - WorkerRole - 30 - - - - - CloudService\NETFramework4\Worker Role\Node.js\CloudServiceWorkerRole.zip - WorkerRole.vstemplate - - - Worker Role - Node.js background processing service. - - CloudServiceProject - WorkerRole - 20 - - - - - JavaScript\DockerfileTemplate.zip - Dockerfile.vstemplate - - - - - Node.js - Docker - Dockerfile - false - 500 - - - - - JavaScript\MochaUnitTest.zip - UnitTest.vstemplate - - - - - - Node.js - UnitTest.js - 320 - - - - - JavaScript\TypeScriptMochaUnitTest.zip - UnitTest.vstemplate - - - - - - Node.js - UnitTest.ts - 330 - - - - - JavaScript\TypeScriptUnitTest.zip - UnitTest.vstemplate - - - - - - Node.js - UnitTest.ts - 310 - - - - - JavaScript\UnitTest.zip - UnitTest.vstemplate - - - - - - Node.js - UnitTest.js - 300 - - - - \ No newline at end of file diff --git a/Nodejs/Product/Nodejs/source.extension.vsixmanifest b/Nodejs/Product/Nodejs/source.extension.vsixmanifest index bf25307ef..773058742 100644 --- a/Nodejs/Product/Nodejs/source.extension.vsixmanifest +++ b/Nodejs/Product/Nodejs/source.extension.vsixmanifest @@ -8,17 +8,16 @@ NodeJS.ico NodeJS_200x.png - - - - + + + + + + + - - diff --git a/Nodejs/Product/Profiling/Profiling.csproj b/Nodejs/Product/Profiling/Profiling.csproj index 8cd68bb8d..24096a92a 100644 --- a/Nodejs/Product/Profiling/Profiling.csproj +++ b/Nodejs/Product/Profiling/Profiling.csproj @@ -231,6 +231,10 @@ true true + + True + True + + + + + + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/BuildRelease.ps1 b/Nodejs/Setup/BuildRelease.ps1 index 71d4e604e..7351403be 100644 --- a/Nodejs/Setup/BuildRelease.ps1 +++ b/Nodejs/Setup/BuildRelease.ps1 @@ -141,10 +141,11 @@ $version_file = gi "$buildroot\Nodejs\Product\AssemblyVersion.cs" $build_project = gi "$buildroot\Nodejs\dirs.proj" $setup_project = gi "$buildroot\Nodejs\Setup\setup.proj" +$setup_swix_project = gi "$buildroot\Nodejs\Setup\setup-swix.proj" # Project metadata $project_name = "Node.js Tools for Visual Studio" -$project_url = "http://nodejstools.codeplex.com" +$project_url = "https://github.com/Microsoft/nodejstools" $project_keywords = "NTVS; Visual Studio; Node.js" # These people are able to approve code signing operations @@ -218,6 +219,10 @@ function msbuild-options($target) { # This function is invoked after each target is built. function after-build($buildroot, $target) { Copy-Item -Force "$buildroot\Nodejs\Prerequisites\*.reg" $($target.destdir) + + $setup15 = mkdir "$($target.destdir)\Setup15" -Force + Copy-Item -Recurse -Force "$buildroot\BuildOutput\$($target.config)$($target.VSTarget)\Setup\*.json" $setup15 + Copy-Item -Recurse -Force "$buildroot\BuildOutput\$($target.config)$($target.VSTarget)\Setup\*.vsman" $setup15 if ($copytests) { Copy-Item -Recurse -Force "$buildroot\BuildOutput\$($target.config)$($target.VSTarget)\Tests" "$($target.destdir)\Tests" @@ -230,6 +235,11 @@ function after-build-all($buildroot, $outdir) { if (-not $release) { Copy-Item -Force "$buildroot\Nodejs\Prerequisites\*.reg" $outdir } + + $vsdrop = mkdir "$env:BUILD_STAGINGDIRECTORY\vsdrop" -Force + Copy-Item -Force "$outdir\**.vsman" $vsdrop + Copy-Item -Force "$outdir\**.json" $vsdrop + Copy-Item -Force "$outdir\**.vsix" $vsdrop } # Add product name mappings here @@ -239,6 +249,15 @@ function after-build-all($buildroot, $outdir) { # {3} will be replaced by the config ('Debug') marker preceded by a space $installer_names = @{ 'NodejsToolsInstaller.msi'="NTVS{1}{2}{3}.msi"; + 'Microsoft.NodejsTools.vsix' = 'Microsoft.NodejsTools.vsix'; + 'Microsoft.NodejsTools.Profiling.vsix' = 'Microsoft.NodejsTools.Profiling.vsix'; + 'Microsoft.NodejsTools.InteractiveWindow.vsix' = 'Microsoft.NodejsTools.InteractiveWindow.vsix'; + 'Microsoft.VisualStudio.NodejsTools.Targets.vsix' = 'Microsoft.VisualStudio.NodejsTools.Targets.vsix'; + 'NodejsTools.vsman' = 'NodejsTools.vsman'; + 'Microsoft.VisualStudio.NodejsTools.NodejsTools.json' = 'Microsoft.VisualStudio.NodejsTools.NodejsTools.json'; + 'Microsoft.VisualStudio.NodejsTools.Profiling.json' = 'Microsoft.VisualStudio.NodejsTools.Profiling.json'; + 'Microsoft.VisualStudio.NodejsTools.InteractiveWindow.json' = 'Microsoft.VisualStudio.NodejsTools.InteractiveWindow.json'; + 'Microsoft.VisualStudio.NodejsTools.Targets.json' = 'Microsoft.VisualStudio.NodejsTools.Targets.json'; } # Add list of files requiring signing here @@ -535,8 +554,14 @@ try { & $target_msbuild_exe $global_msbuild_options $target_msbuild_options ` /fl /flp:logfile=$($i.signed_logfile) ` /p:SignedBinariesPath=$($i.signed_bindir) ` - /p:RezipVSIXFiles=true ` + /p:RezipVSIXFiles=false ` $setup_project + + & $target_msbuild_exe $global_msbuild_options $target_msbuild_options ` + /fl /flp:logfile=$($i.signed_logfile) ` + /p:SignedBinariesPath=$($i.signed_bindir) ` + /p:RezipVSIXFiles=true ` + $setup_swix_project } $jobs = @() @@ -592,7 +617,7 @@ try { if ($i.VSName) {$fmt.VSName = " $($i.VSName)"} else {$fmt.VSName = ""} - Get-ChildItem "$($i.final_msidir)\*.msi", "$($i.final_msidir)\*.vsix" | ` + Get-ChildItem "$($i.final_msidir)\*.msi", "$($i.final_msidir)\*.vsix", "$($i.destdir)\Setup15\*.json", "$($i.destdir)\Setup15\*.vsman" | ` ?{ $installer_names[$_.Name] } | ` %{ @{ src=$_; diff --git a/Nodejs/Setup/NodejsTools/NodejsToolsFiles.proj b/Nodejs/Setup/NodejsTools/NodejsToolsFiles.proj index 5eedb0380..8c249d77b 100644 --- a/Nodejs/Setup/NodejsTools/NodejsToolsFiles.proj +++ b/Nodejs/Setup/NodejsTools/NodejsToolsFiles.proj @@ -63,10 +63,6 @@ ItemTemplates\JavaScript\TypeScriptTapeUnitTest.zip; ItemTemplates\JavaScript\TypeScriptMochaUnitTest.zip; ItemTemplates\JavaScript\DockerfileTemplate.zip"/> - - - AllItemTemplates - - - - AllProjectTemplates - + + + + diff --git a/Nodejs/Setup/dirs.proj b/Nodejs/Setup/dirs.proj index c2ef7964d..91d49541b 100644 --- a/Nodejs/Setup/dirs.proj +++ b/Nodejs/Setup/dirs.proj @@ -16,6 +16,7 @@ + diff --git a/Nodejs/Setup/setup-swix.proj b/Nodejs/Setup/setup-swix.proj new file mode 100644 index 000000000..7cb46e58d --- /dev/null +++ b/Nodejs/Setup/setup-swix.proj @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/Nodejs/Setup/swix/InteractiveWindow_files.swr b/Nodejs/Setup/swix/InteractiveWindow_files.swr new file mode 100644 index 000000000..5f3823af0 --- /dev/null +++ b/Nodejs/Setup/swix/InteractiveWindow_files.swr @@ -0,0 +1,9 @@ +use vs + +package name=Microsoft.VisualStudio.NodejsTools.InteractiveWindow + version=1.2 + vs.package.type=vsix + vs.package.vsixId=29102E6C-34F2-4FF1-BA2F-C02ADE3846E8 + +vs.payloads + vs.payload source=$(BuildOutputRoot)\Binaries\InteractiveWindow\Microsoft.NodejsTools.InteractiveWindow.vsix \ No newline at end of file diff --git a/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.InteractiveWindow.swixproj b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.InteractiveWindow.swixproj new file mode 100644 index 000000000..0c47892c8 --- /dev/null +++ b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.InteractiveWindow.swixproj @@ -0,0 +1,20 @@ + + + + + + neutral + false + manifest + + + + $(PackagePreprocessorDefinitions);BuildOutputRoot=$(BuildOutputRoot) + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.NodejsTools.swixproj b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.NodejsTools.swixproj new file mode 100644 index 000000000..4f947d966 --- /dev/null +++ b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.NodejsTools.swixproj @@ -0,0 +1,20 @@ + + + + + + neutral + false + manifest + + + + $(PackagePreprocessorDefinitions);BuildOutputRoot=$(BuildOutputRoot) + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.Profiling.swixproj b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.Profiling.swixproj new file mode 100644 index 000000000..8ae837933 --- /dev/null +++ b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.Profiling.swixproj @@ -0,0 +1,20 @@ + + + + + + neutral + false + manifest + + + + $(PackagePreprocessorDefinitions);BuildOutputRoot=$(BuildOutputRoot) + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.Targets.swixproj b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.Targets.swixproj new file mode 100644 index 000000000..fa58688c4 --- /dev/null +++ b/Nodejs/Setup/swix/Microsoft.VisualStudio.NodejsTools.Targets.swixproj @@ -0,0 +1,42 @@ + + + + + + neutral + false + Vsix + true + Microsoft.VisualStudio.NodejsTools.Targets + $(BuildOutputRoot)Setup\Microsoft.VisualStudio.NodejsTools.Targets.vsix + + + + + $(CopyOutputsToPath)\ + <_PathSuffix Condition="'$(SignedBinariesPath)' != ''">SignedBinariesUnsignedMsi\ + <_PathSuffix Condition="'$(SignedBinariesPath)' == ''">UnsignedMsi\ + + + + + + + + + + + $(PackagePreprocessorDefinitions);BuildOutputRoot=$(BuildOutputRoot) + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/swix/NodejsTools.vsmanproj b/Nodejs/Setup/swix/NodejsTools.vsmanproj new file mode 100644 index 000000000..ad2fa7290 --- /dev/null +++ b/Nodejs/Setup/swix/NodejsTools.vsmanproj @@ -0,0 +1,31 @@ + + + + + + + true + true + $(VSTarget).$(BuildNumber) + $(MSBuildProjectName) + + + + + $(BuildVersion) + $(BinDirectory)\$(Configuration)\ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/swix/NodejsTools_sideload.vsmanproj b/Nodejs/Setup/swix/NodejsTools_sideload.vsmanproj new file mode 100644 index 000000000..8b4e74f1c --- /dev/null +++ b/Nodejs/Setup/swix/NodejsTools_sideload.vsmanproj @@ -0,0 +1,28 @@ + + + + + + + true + true + $(VSTarget).$(BuildNumber) + $(MSBuildProjectName) + + + + + $(BuildVersion) + $(BinDirectory)\$(Configuration)\ + + + + + + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/swix/Nodejs_files.swr b/Nodejs/Setup/swix/Nodejs_files.swr new file mode 100644 index 000000000..cb0342020 --- /dev/null +++ b/Nodejs/Setup/swix/Nodejs_files.swr @@ -0,0 +1,9 @@ +use vs + +package name=Microsoft.VisualStudio.NodejsTools.NodejsTools + version=1.2 + vs.package.type=vsix + vs.package.vsixId=FE8A8C3D-328A-476D-99F9-2A24B75F8C7F + +vs.payloads + vs.payload source=$(BuildOutputRoot)\Binaries\Nodejs\Microsoft.NodejsTools.vsix \ No newline at end of file diff --git a/Nodejs/Setup/swix/Profiling_files.swr b/Nodejs/Setup/swix/Profiling_files.swr new file mode 100644 index 000000000..54d436c72 --- /dev/null +++ b/Nodejs/Setup/swix/Profiling_files.swr @@ -0,0 +1,9 @@ +use vs + +package name=Microsoft.VisualStudio.NodejsTools.Profiling + version=1.2 + vs.package.type=vsix + vs.package.vsixId=B515653F-FB69-4B64-9D3F-F1FCF8421DD0 + +vs.payloads + vs.payload source="$(BuildOutputRoot)\Binaries\Profiling\Microsoft.NodejsTools.Profiling.vsix" \ No newline at end of file diff --git a/Nodejs/Setup/swix/Targets_files.swr b/Nodejs/Setup/swix/Targets_files.swr new file mode 100644 index 000000000..0bf662780 --- /dev/null +++ b/Nodejs/Setup/swix/Targets_files.swr @@ -0,0 +1,9 @@ +use vs + +package name="Microsoft.VisualStudio.NodejsTools.Targets" + version=1.2 + +folder "InstallFolder:\" + folder "MSBuild\Microsoft\VisualStudio\v15.0\Node.js Tools" + file source=$(BuildOutputRoot)\Binaries\Nodejs\Microsoft.NodejsTools.targets + file source=$(BuildOutputRoot)\Binaries\Nodejs\Debugger\RemoteDebug\Microsoft.NodejsTools.WebRole.dll \ No newline at end of file diff --git a/Nodejs/Setup/swix/packages.config b/Nodejs/Setup/swix/packages.config new file mode 100644 index 000000000..6e558cf36 --- /dev/null +++ b/Nodejs/Setup/swix/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Nodejs/Setup/swix/sideload.json b/Nodejs/Setup/swix/sideload.json new file mode 100644 index 000000000..3ec42213c --- /dev/null +++ b/Nodejs/Setup/swix/sideload.json @@ -0,0 +1,47 @@ +{ + "manifestVersion": "1.0", + "info": { + "id": "Microsoft.NodejsTools_Sideload,version=15.0.0.0" + }, + "packages": [ + { + "installParams": { + "fileName": "[InstallDir]\\Common7\\IDE\\devenv.exe", + "parameters": "/setup" + }, + "repairParams": { + "fileName": "[InstallDir]\\Common7\\IDE\\devenv.exe", + "parameters": "/setup" + }, + "uninstallParams": { + "fileName": "[InstallDir]\\Common7\\IDE\\devenv.exe", + "parameters": "/setup" + }, + "language": "en-us", + "dependencies": { + "Microsoft.VisualStudio.NodejsTools.InteractiveWindow": { + "version": "1.2" + }, + "Microsoft.VisualStudio.NodejsTools.NodejsTools": { + "version": "1.2" + }, + "Microsoft.VisualStudio.NodejsTools.Profiling": { + "version": "1.2" + }, + "Microsoft.VisualStudio.NodejsTools.Targets": { + "version": "1.2" + } + }, + "localizedResources": [ + { + "language": "en-us", + "title": "Node.js", + "description": "Develop and debug Node.js code." + } + ], + "id": "Microsoft.NodejsTools_Sideload", + "version": "15.0.0.0", + "type": "Product" + } + ] +} \ No newline at end of file