diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2010-02-02 20:39:52 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2010-02-02 20:39:52 -0800 |
commit | 08b0d4456dbcf25a3a0b57d0d1154455e7dc033f (patch) | |
tree | 0d8a954c0ec7f31c1498885e0a4967c32af759f1 | |
parent | ad1da88a61ca9ab4d59df68c432ba1d4dd3bbc99 (diff) | |
download | DotNetOpenAuth-08b0d4456dbcf25a3a0b57d0d1154455e7dc033f.zip DotNetOpenAuth-08b0d4456dbcf25a3a0b57d0d1154455e7dc033f.tar.gz DotNetOpenAuth-08b0d4456dbcf25a3a0b57d0d1154455e7dc033f.tar.bz2 |
Work toward generating VSIX files for each individual project template.
-rw-r--r-- | build.proj | 50 | ||||
-rw-r--r-- | projecttemplates/MvcRelyingParty.vsixmanifest | 27 | ||||
-rw-r--r-- | projecttemplates/WebFormsRelyingParty.vsixmanifest | 27 | ||||
-rw-r--r-- | tools/Documentation.targets | 1 |
4 files changed, 99 insertions, 6 deletions
@@ -12,6 +12,7 @@ <VS2010ProjectTemplatesDirectory>$(IntermediatePath)VS2010projecttemplates\</VS2010ProjectTemplatesDirectory> <ExtensionVsixLayoutDirectory>$(IntermediatePath)Vsix\</ExtensionVsixLayoutDirectory> + <ProjectTemplateSubdirectory>$(ExtensionVsixLayoutDirectory)PT\CSharp\Web\</ProjectTemplateSubdirectory> <ZipLevel>6</ZipLevel> </PropertyGroup> @@ -158,7 +159,7 @@ <MSBuild Projects="@(ProjectTemplates)" /> </Target> - <Target Name="ProjectTemplatesLayout" DependsOnTargets="GetBuildVersion;BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildProjectTemplates;VsixManifestLayout"> + <Target Name="ProjectTemplatesLayout" DependsOnTargets="GetBuildVersion;VsixManifestLayout"> <ItemGroup> <ProjectTemplatesSource Include="$(ProjectRoot)projecttemplates\**\*" Exclude=" @@ -323,9 +324,6 @@ </Target> <Target Name="ProjectTemplates2010" DependsOnTargets="ProjectTemplatesLayout"> - <PropertyGroup> - <ProjectTemplateSubdirectory>$(ExtensionVsixLayoutDirectory)PT\CSharp\Web\</ProjectTemplateSubdirectory> - </PropertyGroup> <ItemGroup> <ProjectTemplates2010Source Include="$(ProjectTemplatesLayoutPath)**" /> <ProjectTemplates2010Layout Include="@(ProjectTemplates2010Source->'$(VS2010ProjectTemplatesDirectory)%(RecursiveDir)%(FileName)%(Extension)')" /> @@ -440,6 +438,41 @@ <Copy SourceFiles="@(ExtensionVsixSources)" DestinationFiles="@(ExtensionVsixTargets)" SkipUnchangedFiles="true" /> <Purge Directories="$(ExtensionVsixLayoutDirectory)" IntendedFiles="@(ExtensionVsixContents)" /> + + <!-- Build individual VSIX files for each project template for the Visual Studio Gallery, + which only allows one project template per VSIX. --> + <ItemGroup> + <VSGalleryProjectTemplates Include="$(ProjectTemplateSubdirectory)*.zip" /> + <VSGalleryVsixRawSources Include="$(ExtensionVsixLayoutDirectory)**" + Exclude="$(ProjectTemplateSubdirectory)*.zip;$(ExtensionVsixLayoutDirectory)*.vsixmanifest"> + <VSGalleryVsix>$(DropsRoot)$(ProductName) %(VSGalleryProjectTemplates.FileName)-$(BuildVersion).vsix</VSGalleryVsix> + <TopLevelTemplate>%(VSGalleryProjectTemplates.FileName)</TopLevelTemplate> + </VSGalleryVsixRawSources> + <VSGalleryVsixSources Include="@(VSGalleryVsixRawSources)"> + <TargetPath>$(IntermediatePath)%(TopLevelTemplate).vsix\%(FileName)%(Extension)</TargetPath> + </VSGalleryVsixSources> + + <VSGalleryVsixZipSources Include="$(ExtensionVsixLayoutDirectory)**\*.zip"/> + <VSGalleryVsixSources Include="@(VSGalleryVsixZipSources)"> + <TopLevelTemplate>%(FileName)</TopLevelTemplate> + <VSGalleryVsix>$(DropsRoot)$(ProductName) %(FileName)-$(BuildVersion).vsix</VSGalleryVsix> + <TargetPath>$(IntermediatePath)%(FileName).vsix\%(RecursiveDir)%(FileName)%(Extension)</TargetPath> + </VSGalleryVsixSources> + + <VSGalleryVsixSources Include="@(VSGalleryProjectTemplates->'$(ProjectRoot)projecttemplates\%(FileName).vsixmanifest')"> + <VSGalleryVsix>$(DropsRoot)$(ProductName) %(VSGalleryProjectTemplates.FileName)-$(BuildVersion).vsix</VSGalleryVsix> + <TopLevelTemplate>%(VSGalleryProjectTemplates.FileName)</TopLevelTemplate> + <TargetPath>$(IntermediatePath)%(VSGalleryProjectTemplates.FileName).vsix\extension.vsixmanifest</TargetPath> + </VSGalleryVsixSources> + + <VSGalleryVsixTargets Include="@(VSGalleryVsixSources->'%(TargetPath)')"> + <WorkingDirectory>$(IntermediatePath)%(TopLevelTemplate).vsix</WorkingDirectory> + </VSGalleryVsixTargets> + </ItemGroup> + <Message Importance="high" Text="VSGalleryVsixSources: @(VSGalleryVsixSources)" /> + <Message Importance="high" Text="VSGalleryVsixTargets: @(VSGalleryVsixTargets)" /> + <Message Importance="high" Text="ZZZ %(VSGalleryVsixSources.Identity) -> %(VSGalleryVsixSources.TargetPath)" /> + <HardLinkCopy SourceFiles="@(VSGalleryVsixSources)" DestinationFiles="@(VSGalleryVsixTargets)" /> </Target> <Target Name="vsix" DependsOnTargets="VsixLayout;_SetDropProperties"> @@ -452,6 +485,13 @@ WorkingDirectory="$(ExtensionVsixLayoutDirectory)" ZipLevel="$(ZipLevel)" /> + + <Zip + Files="@(VSGalleryVsixTargets)" + ZipFileName="%(VSGalleryVsixTargets.VSGalleryVsix)" + WorkingDirectory="%(VSGalleryVsixTargets.WorkingDirectory)" + ZipLevel="$(ZipLevel)" + /> </Target> <Target Name="Documentation" DependsOnTargets="BuildProduct;Chm" Condition="'$(NoDocumentation)' != 'true'"> @@ -470,7 +510,7 @@ ExcludeCategory="$(NUnitExcludeCategories)"/> </Target> - <Target Name="_SetDropProperties"> + <Target Name="_SetDropProperties" DependsOnTargets="GetBuildVersion"> <!-- This target is necessary because PropertyGroups within the same Target as where CallTarget is fired do NOT affect those called targets. --> <!-- The rest of these are here so that other DependsOn targets have access to these properties. --> diff --git a/projecttemplates/MvcRelyingParty.vsixmanifest b/projecttemplates/MvcRelyingParty.vsixmanifest new file mode 100644 index 0000000..023e42a --- /dev/null +++ b/projecttemplates/MvcRelyingParty.vsixmanifest @@ -0,0 +1,27 @@ +<?xml version="1.0"?> +<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010"> + <Identifier Id="DotNetOpenAuth.MvcRelyingParty.15E8EC96-BDC3-47E2-8BB1-0483E9D16705"> + <Name>MvcRelyingParty</Name> + <Author>DotNetOpenAuth</Author> + <Version>$version$</Version> + <Description>Resources for developing applications that use OpenID, OAuth, and InfoCard.</Description> + <Locale>1033</Locale> + <License>LICENSE.txt</License> + <GettingStartedGuide>http://www.dotnetopenauth.net/ProjectTemplateGettingStarted</GettingStartedGuide> + <Icon>VSIXProject_small.png</Icon> + <PreviewImage>VSIXProject_large.png</PreviewImage> + <InstalledByMsi>false</InstalledByMsi> + <SupportedProducts> + <VisualStudio Version="10.0"> + <Edition>VSTS</Edition> + <Edition>VSTD</Edition> + <Edition>Pro</Edition> + </VisualStudio> + </SupportedProducts> + <SupportedFrameworkRuntimeEdition MinVersion="3.5" MaxVersion="3.5" /> + </Identifier> + <References /> + <Content> + <ProjectTemplate>PT</ProjectTemplate> + </Content> +</Vsix> diff --git a/projecttemplates/WebFormsRelyingParty.vsixmanifest b/projecttemplates/WebFormsRelyingParty.vsixmanifest new file mode 100644 index 0000000..bd8eb13 --- /dev/null +++ b/projecttemplates/WebFormsRelyingParty.vsixmanifest @@ -0,0 +1,27 @@ +<?xml version="1.0"?> +<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010"> + <Identifier Id="DotNetOpenAuth.WebFormsRelyingParty.FB0AB0B2-B447-4F10-A03E-F488DDAF024A"> + <Name>WebFormsRelyingParty</Name> + <Author>DotNetOpenAuth</Author> + <Version>$version$</Version> + <Description>Resources for developing applications that use OpenID, OAuth, and InfoCard.</Description> + <Locale>1033</Locale> + <License>LICENSE.txt</License> + <GettingStartedGuide>http://www.dotnetopenauth.net/ProjectTemplateGettingStarted</GettingStartedGuide> + <Icon>VSIXProject_small.png</Icon> + <PreviewImage>VSIXProject_large.png</PreviewImage> + <InstalledByMsi>false</InstalledByMsi> + <SupportedProducts> + <VisualStudio Version="10.0"> + <Edition>VSTS</Edition> + <Edition>VSTD</Edition> + <Edition>Pro</Edition> + </VisualStudio> + </SupportedProducts> + <SupportedFrameworkRuntimeEdition MinVersion="3.5" MaxVersion="3.5" /> + </Identifier> + <References /> + <Content> + <ProjectTemplate>PT</ProjectTemplate> + </Content> +</Vsix> diff --git a/tools/Documentation.targets b/tools/Documentation.targets index dff4d88..faf1f75 100644 --- a/tools/Documentation.targets +++ b/tools/Documentation.targets @@ -5,7 +5,6 @@ <ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot> <OutputAssembly>DotNetOpenAuth</OutputAssembly> <DocOutputPath>$(ProjectRoot)doc\</DocOutputPath> - <IntermediatePath>$(ProjectRoot)obj\$(Configuration)\</IntermediatePath> <DocumentationFile>$(OutputPath)$(OutputAssembly).xml</DocumentationFile> </PropertyGroup> |