#21249: Removed build dependency on TypeScript.

Instead added a gulpfile to enable compilation of TypeScript files when needed.

Work Item: 21249
This commit is contained in:
Daniel Stolt
2015-03-18 12:34:29 +01:00
parent 039220f1f5
commit 2d4c1c817d
4 changed files with 66 additions and 30 deletions

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -25,7 +24,6 @@
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -157,6 +155,7 @@
<Compile Include="Helpers\FileSizeFormatProvider.cs" />
<Compile Include="Infrastructure\Assets\AssetDriver.cs" />
<Compile Include="Helpers\NamespaceHelper.cs" />
<Content Include="gulpfile.js" />
<Content Include="Images\Loader1.GIF" />
<Content Include="Images\Thumbnail-Placeholder2.png" />
<Content Include="Images\Thumbnail-Placeholder1.png" />
@@ -186,15 +185,15 @@
<Content Include="Scripts\lib\dash.all.js" />
<Content Include="Scripts\lib\dash.min.js" />
<Content Include="Scripts\lib\jquery.blockui.js" />
<TypeScriptCompile Include="Scripts\cloudmedia-admin-job.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-admin-common.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-autorefresh.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-edit-asset-video.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-edit-asset.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-edit-cloudvideopart-direct.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-edit-cloudvideopart.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-edit-cloudvideopart-proxied.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-metadata-cloudvideopart.ts" />
<Content Include="Scripts\cloudmedia-admin-job.ts" />
<Content Include="Scripts\cloudmedia-admin-common.ts" />
<Content Include="Scripts\cloudmedia-autorefresh.ts" />
<Content Include="Scripts\cloudmedia-edit-asset-video.ts" />
<Content Include="Scripts\cloudmedia-edit-asset.ts" />
<Content Include="Scripts\cloudmedia-edit-cloudvideopart-direct.ts" />
<Content Include="Scripts\cloudmedia-edit-cloudvideopart.ts" />
<Content Include="Scripts\cloudmedia-edit-cloudvideopart-proxied.ts" />
<Content Include="Scripts\cloudmedia-metadata-cloudvideopart.ts" />
<Content Include="Scripts\lib\jquery.fileupload-process.js" />
<Content Include="Scripts\lib\jquery.fileupload-validate.js" />
<Content Include="Scripts\lib\jquery.fileupload.js" />
@@ -285,16 +284,16 @@
<Content Include="Styles\Web.config" />
<Content Include="Properties\AssemblyInfo.cs" />
<Content Include="Module.txt" />
<TypeScriptCompile Include="Scripts\cloudmedia-videoplayer-data.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-videoplayer-injectors-dash.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-videoplayer-injectors-html5.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-videoplayer-injectors-alt.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-videoplayer-injectors-smp.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-videoplayer-injectors.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-videoplayer-main.ts" />
<TypeScriptCompile Include="Scripts\typings\moment.d.ts" />
<TypeScriptCompile Include="Scripts\typings\underscore.d.ts" />
<TypeScriptCompile Include="Scripts\typings\uri.d.ts" />
<Content Include="Scripts\cloudmedia-videoplayer-data.ts" />
<Content Include="Scripts\cloudmedia-videoplayer-injectors-dash.ts" />
<Content Include="Scripts\cloudmedia-videoplayer-injectors-html5.ts" />
<Content Include="Scripts\cloudmedia-videoplayer-injectors-alt.ts" />
<Content Include="Scripts\cloudmedia-videoplayer-injectors-smp.ts" />
<Content Include="Scripts\cloudmedia-videoplayer-injectors.ts" />
<Content Include="Scripts\cloudmedia-videoplayer-main.ts" />
<Content Include="Scripts\typings\moment.d.ts" />
<Content Include="Scripts\typings\underscore.d.ts" />
<Content Include="Scripts\typings\uri.d.ts" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj">
@@ -448,10 +447,10 @@
<Content Include="Views\Parts\CloudVideo.SummaryAdmin.cshtml" />
</ItemGroup>
<ItemGroup>
<TypeScriptCompile Include="Scripts\typings\jquery.d.ts" />
<TypeScriptCompile Include="Scripts\typings\jqueryui.d.ts" />
<TypeScriptCompile Include="Scripts\typings\knockout.d.ts" />
<TypeScriptCompile Include="Scripts\cloudmedia-admin-settings.ts" />
<Content Include="Scripts\typings\jquery.d.ts" />
<Content Include="Scripts\typings\jqueryui.d.ts" />
<Content Include="Scripts\typings\knockout.d.ts" />
<Content Include="Scripts\cloudmedia-admin-settings.ts" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\CloudVideo.Edit.Assets.cshtml" />
@@ -563,10 +562,6 @@
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptSourceMap>False</TypeScriptSourceMap>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@@ -16,7 +16,7 @@ var Orchard;
"core": {
"animation": 0,
"check_callback": true,
"themes": { "stripes": true },
"themes": { "stripes": true }
},
"plugins": ["state", "wholerow"]
});

View File

@@ -0,0 +1,40 @@
/*
* This gulpfile enables compilation of the TypeScript files in this project. The TypeScript
* project properties have been removed, and this glupfile created instead, to remove the requirement
* on Visual Studio and TypeScript for compiling/building Orchard while still allowing TypeScript
* code in this project to be maintained.
*
* To use this file you will need to:
* - Install Node.js on your machine
* - Install the following Node.js modules in this project folder:
* npm install gulp
* npm install gulp-typescript
*
* NOTE: The above Node.js modules should not be committed to version control. They should only be used
* locally on your dev machine, while you have the need to edit and compile the TypeScript files in
* this project.
*
* NOTE: Optionally you can use this gulpfile with the Task Runner Explorer extension in Visual Studio
* if you want a more integrated/automated workflow.
*/
var gulp = require("gulp"),
ts = require("gulp-typescript");
gulp.task("default", ["scripts"]);
var project = ts.createProject({
declarationFiles: false,
noExternalResolve: true
});
gulp.task("scripts", function() {
var result = gulp
.src([
"Scripts/*.ts",
"Scripts/typings/*.d.ts"
])
.pipe(ts(project));
return result.js.pipe(gulp.dest("Scripts"));
});