This also required a change to flow all .js source files through the TypeScript transpiler and let TypeScript do the concatenation/bundling where applicable. This has the added bonus of catching more errors in plain .js files as the TypeScript compiler applies its structural and semantic understanding of the JavaScript code.
Removed cloud service things from build and deployment scripts.
Removed Orchard.Azure.sln.
Removed Orchard.Azure.CloudService and Orchard.Azure.Web projects.
Removed Azure Diagnostics support.
Removed cloud service machine name provider.
Removed Azure Cache support.
Updated Orchard.Azure.Tests and moved into main solution.
Removed Orchard.Azure.Tests.sln.
Reasons:
- The world is standardizing more and more on using Node.js with Gulp/Grunt for this kind of thing.
- It's becoming more and more adopted also in the Orchard community, along with increased use in core modules.
- This MSBuild target was added to ensure command-line build support, but Node.js with Gulp/Grunt is arguably even more command-line friendly.
- All the compiled JavaScript output is already added to source control anyway, so it's not needed to do TypeScript compilation to build or package Orchard.
- The MSBuild target only applies to TypeScript, and not to LESS, so it's not a complete solution anyway.
- Build servers now have full support for executing Gulp/Grunt tasks. VSTS Build has it, TeamCity has it, etc. No need to do this on the MSBuild level.
- Updated to newest version of all modules, and tested/verified.
- No longer generate source maps if asset group is neither concatenating nor transforming (LESS or TypeScript).
- Replaced "autoprefixer" and "css-minify" with the newer "css-nano".
- Added "gulp-eol" for normalization of line endings in all outputs.
- Added separate streams for minified and non-minified CSS outputs to work around bugs in source mapping that prevented asset paths containing "../" from being used.
- Added "es6-promise" polyfill for compat with older versions of Node.js.
- Increased global _maxListeners to suppress memory leak warning from gulp.watch().
- Added Roslyn CodeDom Nuget packages to Orchard.Web and Orchard.Azure.Web.
- Added the necessary Web.config section to all modules/themes to make the VS editor recognize C# 6 syntax.
- Added a sample/proof use in BadgeOfHonor.cshtml.
A handful of compiler errors would appear in most modules while having Razor views open in Visual Studio 2015. Adding a reference to System.Core in Web.config of modules fixes this.
- Fixed build warnings and cleaned up Web.config files of new modules.
- Added missing project dependencies to new modules.
- Added new modules to Azure solution.
This prevents VS2015 from creating a local applicationHost.config file in the solution, which in our case is excluded from source control anyway and therefore isn't used as intended.
Update CacheItemRecord.cs
Fixed database output cache module when using SQL Server database. This resolves the following exception which results from NHibernate trying to truncate the Output field to 8K: NHibernate.AssertionFailure: null id in Orchard.OutputCache.Models.CacheItemRecord entry (don't flush the Session after an exception occurs)
NOTE: You need to run "npm update" from the solution folder to download the updated version of the dependencies for the updated Gulpfile to work properly.
This fixes an issue where, if Orchard.Web has not previously been built, the SQL CE binaries will not be included when doing a Web Deploy publish of Orchard.Web.
Code now only restarts watchers for the asset groups in the changed asset manifest file, rather than *all* asset groups. The "build" task now forces rebuild of a given asset group if its asset manifest file is newer than its concatenated output. Refactored and cleaned up the code.
Added support for era names to date formatting/parsing framework. Added handling of cultures with missing AM/PM designators. Fixes failing unit tests on Windows 10. Fixes#5595.