Skip to content

Commit df417c8

Browse files
Matt Masonmathewc
authored andcommitted
Add azurefunctions scripts to nuget package
1 parent 727d9ab commit df417c8

File tree

10 files changed

+42
-9
lines changed

10 files changed

+42
-9
lines changed

WebJobs.Script.proj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,11 @@
114114
<ItemGroup>
115115
<ScriptHostBinaries Include="$(ScriptHostOutput)\*.dll;$(ScriptHostOutput)\*.exe*;$(ScriptHostOutput)\*.optdata;$(ScriptHostOutput)\*.sigdata"/>
116116
<EdgeJsFiles Include="$(ScriptHostOutput)\edge\**\*.*"/>
117-
<StaticContent Include="$(ScriptHostOutput)\Content\**\*.*"/>
117+
<StaticContent Include="$(ScriptHostOutput)\azurefunctions\**\*.*"/>
118118
</ItemGroup>
119119
<Copy SourceFiles="@(ScriptHostBinaries)" DestinationFolder="$(PublishPath)\Binaries\WebJobs.Script.Host" />
120120
<Copy SourceFiles="@(EdgeJsFiles)" DestinationFiles="@(EdgeJsFiles->'$(PublishPath)\Binaries\WebJobs.Script.Host\edge\%(RecursiveDir)%(Filename)%(Extension)')" />
121-
<Copy SourceFiles="@(StaticContent)" DestinationFiles="@(StaticContent->'$(PublishPath)\Binaries\WebJobs.Script.Host\Content\%(RecursiveDir)%(Filename)%(Extension)')" />
121+
<Copy SourceFiles="@(StaticContent)" DestinationFiles="@(StaticContent->'$(PublishPath)\Binaries\WebJobs.Script.Host\azurefunctions\%(RecursiveDir)%(Filename)%(Extension)')" />
122122
<Zip
123123
InputPath="$(PublishPath)\Binaries\WebJobs.Script.Host"
124124
OutputFileName="$(PublishPath)\Packages\WebJobs.Script.Host.zip"

src/Packages/Packages.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
<Link>NuGetProj.settings.targets</Link>
5151
</None>
5252
<None Include="app.config" />
53+
<None Include="tools\install.ps1" />
5354
</ItemGroup>
5455
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
5556
<Target Name="Build">

src/Packages/tools/install.ps1

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
param($installPath, $toolsPath, $package, $project)
2+
3+
function MarkDirectoryAsCopyToOutputRecursive($item)
4+
{
5+
$item.ProjectItems | ForEach-Object { MarkFileASCopyToOutputDirectory($_) }
6+
}
7+
8+
function MarkFileASCopyToOutputDirectory($item)
9+
{
10+
Try
11+
{
12+
Write-Host Try set $item.Name
13+
$item.Properties.Item("CopyToOutputDirectory").Value = 2
14+
}
15+
Catch
16+
{
17+
Write-Host RecurseOn $item.Name
18+
MarkDirectoryAsCopyToOutputRecursive($item)
19+
}
20+
}
21+
22+
# nuget packages are a zip
23+
# objects in the 'content' directory will be added to the user project root
24+
# we have content/Content/Scripts/functions.js -> add Content folder to root of user project
25+
# recursively step through Content folder of user project marking objects as CopyAlways
26+
MarkDirectoryAsCopyToOutputRecursive($project.ProjectItems.Item("azurefunctions"))

src/WebJobs.Script.NuGet/WebJobs.Script.nuproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
<NuGetContent Include="$(WebJobsRootPath)\src\WebJobs.Script\bin\$(Configuration)\Microsoft.Azure.WebJobs.Script.dll">
1818
<Destination>lib\net451\Microsoft.Azure.WebJobs.Script.dll</Destination>
1919
</NuGetContent>
20+
<NuGetContent Include="$(WebJobsRootPath)\src\Packages\tools**\*.*">
21+
<Destination>\</Destination>
22+
</NuGetContent>
23+
<NuGetContent Include="$(WebJobsRootPath)\src\WebJobs.Script\bin\$(Configuration)\azurefunctions**\*.*">
24+
<Destination>content</Destination>
25+
</NuGetContent>
2026
<!--<NuGetContent Include="$(WebJobsRootPath)\src\WebJobs.Script\bin\$(Configuration)\Microsoft.Azure.WebJobs.Script.xml">
2127
<Destination>lib\net451\Microsoft.Azure.WebJobs.Script.xml</Destination>
2228
</NuGetContent>-->

src/WebJobs.Script/Description/Node/NodeFunctionInvoker.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ public class NodeFunctionInvoker : FunctionInvokerBase
4242
static NodeFunctionInvoker()
4343
{
4444
// node cwd is edge nuget package (double_edge.js)
45-
_functionTemplate = @"return require('../Content/Script/functions.js').createFunction(require('{0}'));";
46-
_clearRequireCacheScript = @"return require('../Content/Script/functions.js').clearRequireCache;";
47-
_globalInitializationScript = @"return require('../Content/Script/functions.js').globalInitialization;";
45+
_functionTemplate = @"return require('../azurefunctions/functions.js').createFunction(require('{0}'));";
46+
_clearRequireCacheScript = @"return require('../azurefunctions/functions.js').clearRequireCache;";
47+
_globalInitializationScript = @"return require('../azurefunctions/functions.js').globalInitialization;";
4848
}
4949

5050
internal NodeFunctionInvoker(ScriptHost host, BindingMetadata trigger, FunctionMetadata functionMetadata,

src/WebJobs.Script/WebJobs.Script.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -487,13 +487,13 @@
487487
<Link>edge\edge.js</Link>
488488
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
489489
</Content>
490-
<Content Include="Content\Script\http\response.js">
490+
<Content Include="azurefunctions\http\response.js">
491491
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
492492
</Content>
493-
<Content Include="Content\Script\http\request.js">
493+
<Content Include="azurefunctions\http\request.js">
494494
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
495495
</Content>
496-
<Content Include="Content\Script\functions.js">
496+
<Content Include="azurefunctions\functions.js">
497497
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
498498
</Content>
499499
</ItemGroup>
File renamed without changes.
File renamed without changes.
File renamed without changes.

test/WebJobs.Script.Tests.Integration/TestScripts/Node/functions.tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var config = process.argv[process.argv.length - 1]
44
config = (config.indexOf('--config=') !== -1)? config.substr(9): 'Debug';
55

66
function testRequire(script) {
7-
return require('../../bin/' + config + '/Content/Script/' + script);
7+
return require('../../bin/' + config + '/azurefunctions/' + script);
88
}
99

1010
var functions = testRequire('functions.js');

0 commit comments

Comments
 (0)