-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathVMWareTasks.proj
More file actions
157 lines (157 loc) · 9.54 KB
/
Copy pathVMWareTasks.proj
File metadata and controls
157 lines (157 loc) · 9.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<Project DefaultTargets="all" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<PropertyGroup Condition="'$(Configuration)'==''">
<Configuration>Debug</Configuration>
</PropertyGroup>
<PropertyGroup>
<ProductName>VMWareTasks</ProductName>
<CompanyName>Vestris Inc.</CompanyName>
<Copyright>Copyright (c) 2008-$([System.DateTime]::Now.ToString(`yyyy`)) Daniel Doubrovkine, Vestris Inc.</Copyright>
<Trademark>All Rights Reserved</Trademark>
<MajorVersion>1</MajorVersion>
<!--
The minor version number should be incremented at least once a year (i.e. on January 1)
because otherwise the build version number may overlap with previous (unofficial) releases
-->
<MinorVersion>9</MinorVersion>
</PropertyGroup>
<Import Project="Version.proj"/>
<PropertyGroup>
<ReleaseDir>target\$(Configuration)\VMWareTasks</ReleaseDir>
<MSBuild_4_0_ExeFilePath>%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe</MSBuild_4_0_ExeFilePath>
<NuGetExeFilePath>$(MSBuildProjectDirectory)\.nuget\nuget.exe</NuGetExeFilePath>
<JAVA_HOME>$(MSBuildProjectDirectory)\Tools\jdk1.7.0_02</JAVA_HOME>
</PropertyGroup>
<Target Name="all">
<CallTarget Targets="clean" />
<CallTarget Targets="version" />
<CallTarget Targets="vixcom" />
<CallTarget Targets="restore" />
<CallTarget Targets="build" />
<CallTarget Targets="doc" />
<CallTarget Targets="javas" />
<CallTarget Targets="zip" />
</Target>
<Target Name="clean">
<MSBuild Projects="VMWareTasks.sln" Targets="Clean" />
<DeleteTree Directories="Documentation\$(Configuration)" />
<DeleteTree Directories="target" Recursive="true" />
<DeleteTree Directories="Source\VMWareComLibJava;Source\VMWareComToolsJava" />
<DeleteTree Directories="Source\Interop.VixCOM" />
<Delete Files="Source\Version\GlobalAssemblyInfo.cs" />
<DeleteTree Directories="Source\**\bin;Source\**\obj" Recursive="true" />
</Target>
<Target Name="restore">
<Exec Command="$(NuGetExeFilePath) restore VMWareTasks.sln" />
</Target>
<Target Name="build">
<MSBuild Projects="VMWareTasks.sln" />
</Target>
<ItemGroup>
<SourceCodeProjects Include="VMWareTasks.sln" />
<SourceCodeProjects Include="Version.proj" />
<SourceCodeProjects Include="VMWareTasks.proj" />
<SourceCodeProjects Include="build.cmd" />
</ItemGroup>
<ItemGroup>
<SourceCodeFiles Include="Source/**/*.cs" />
<SourceCodeFiles Include="Source/Version/GlobalAssemblyInfo.cs" />
<SourceCodeFiles Include="Source/**/*.csproj" />
<SourceCodeFiles Include="Source/**/App.config" />
<SourceCodeFiles Include="Source/**/*.vbs" />
<SourceCodeFiles Include="Source/**/*.java" />
<SourceCodeFiles Include="Source/**/*.Targets" />
<SourceCodeFiles Include="Source/**/*.proj" />
</ItemGroup>
<ItemGroup>
<BinaryFiles Include="Source/VMWareLib/bin/$(Configuration)/Vestris.VMWareLib.dll.config" />
<BinaryFiles Include="Source/VMWareLib/bin/$(Configuration)/Vestris.VMWareLib.dll" />
<BinaryFiles Include="Source/VMWareLib/bin/$(Configuration)/Vestris.VMWareLib.XML" />
<BinaryFiles Include="Source/VMWareTools/bin/$(Configuration)/Vestris.VMWareTools.dll.config" />
<BinaryFiles Include="Source/VMWareTools/bin/$(Configuration)/Vestris.VMWareTools.dll" />
<BinaryFiles Include="Source/VMWareTools/bin/$(Configuration)/Vestris.VMWareTools.xml" />
<BinaryFiles Include="Source/VMWareLib/bin/$(Configuration)/Interop.VixCOM.dll" />
<BinaryFiles Include="Source/VMWareComLib/bin/$(Configuration)/Vestris.VMWareComLib.dll.config" />
<BinaryFiles Include="Source/VMWareComLib/bin/$(Configuration)/Vestris.VMWareComLib.dll" />
<BinaryFiles Include="Source/VMWareComLib/bin/$(Configuration)/Vestris.VMWareComLib.XML" />
<BinaryFiles Include="Source/VMWareComTools/bin/$(Configuration)/Vestris.VMWareComTools.dll.config" />
<BinaryFiles Include="Source/VMWareComTools/bin/$(Configuration)/Vestris.VMWareComTools.dll" />
<BinaryFiles Include="Source/VMWareComTools/bin/$(Configuration)/Vestris.VMWareComTools.XML" />
<BinaryFiles Include="Source/VMWareLibMSBuildTasks/bin/$(Configuration)/Vestris.VMWareLib.MSBuildTasks.dll.config" />
<BinaryFiles Include="Source/VMWareLibMSBuildTasks/bin/$(Configuration)/Vestris.VMWareLib.MSBuildTasks.dll" />
<BinaryFiles Include="Source/VMWareLibMSBuildTasks/bin/$(Configuration)/Vestris.VMWareLib.MSBuildTasks.XML" />
<BinaryFiles Include="Source/VMWareLibMSBuildTasks/bin/$(Configuration)/Vestris.VMWareLib.MSBuildTasks.Targets" />
</ItemGroup>
<ItemGroup>
<JavaBinaryFiles Include="Tools/Com4j/com4j.dll" />
<JavaBinaryFiles Include="Source/VMWareComLibJava/Bin/vestris-vmwarecomlib.jar" />
<JavaBinaryFiles Include="Source/VMWareComLibJava/Bin/vestris-vmwarecomlib-src.zip" />
<JavaBinaryFiles Include="Source/VMWareComToolsJava/Bin/vestris-vmwarecomtools.jar" />
<JavaBinaryFiles Include="Source/VMWareComToolsJava/Bin/vestris-vmwarecomtools-src.zip" />
</ItemGroup>
<ItemGroup>
<ArticleFiles Include="Article/**/*.html" />
<ArticleFiles Include="Article/**/*.jpg" />
</ItemGroup>
<ItemGroup>
<DocumentationFiles Include="Documentation/$(Configuration)/VMWareTasks.chm" />
</ItemGroup>
<ItemGroup>
<ReadmeFiles Include="README.md" />
<ReadmeFiles Include="CHANGELOG.md" />
<ReadmeFiles Include="LICENSE.md" />
</ItemGroup>
<Target Name="zip" DependsOnTargets="version">
<Copy SourceFiles="@(SourceCodeProjects)" DestinationFolder="$(ReleaseDir)\Source\%(RecursiveDir)" />
<Copy SourceFiles="@(SourceCodeFiles)" DestinationFolder="$(ReleaseDir)\Source\%(RecursiveDir)" />
<Copy SourceFiles="@(BinaryFiles)" DestinationFolder="$(ReleaseDir)\Bin" />
<Copy SourceFiles="@(JavaBinaryFiles)" DestinationFolder="$(ReleaseDir)\JavaBin" />
<Copy SourceFiles="@(ArticleFiles)" DestinationFolder="$(ReleaseDir)\Article\%(RecursiveDir)" />
<Copy SourceFiles="@(DocumentationFiles)" DestinationFolder="$(ReleaseDir)" />
<Copy SourceFiles="@(ReadmeFiles)" DestinationFolder="$(ReleaseDir)" />
<CreateItem Include="$(ReleaseDir)\**\*" Exclude="target\$(Configuration)\*.zip">
<Output TaskParameter="Include" ItemName="PackageFiles" />
</CreateItem>
<Zip WorkingDirectory="$(ReleaseDir)" ZipFileName="target\$(Configuration)\VMWareTasks-$(Major).$(Minor).zip" Files="@(PackageFiles)" />
</Target>
<Target Name="doc" DependsOnTargets="version">
<Delete Files="Documentation\$(Configuration)\VMWareTasks.chm" />
<Exec Command="$(MSBuild_4_0_ExeFilePath) Documentation\VMWareTasks.shfbproj /p:Configuration=$(Configuration)" />
<Error Condition="Exists('Documentation\$(Configuration)\LastBuild.log')" Text="Documentation build failed, check Documentation\$(Configuration)\LastBuild.log" />
</Target>
<ItemGroup>
<ComInterface Include="Vestris.VMWareComLib.dll">
<DllName>Vestris.VMWareComLib.dll</DllName>
<InputDir>Source\VMWareComLib\bin\$(Configuration)</InputDir>
<PackageName>com.vestris.vmwarecomlib</PackageName>
<PackageDir>com\vestris\vmwarecomlib</PackageDir>
<OutputDir>Source\VMWareComLibJava</OutputDir>
<JarName>vestris-vmwarecomlib</JarName>
</ComInterface>
<ComInterface Include="Vestris.VMWareComTools.dll">
<DllName>Vestris.VMWareComTools.dll</DllName>
<InputDir>Source\VMWareComTools\bin\$(Configuration)</InputDir>
<PackageName>com.vestris.vmwarecomtools</PackageName>
<PackageDir>com\vestris\vmwarecomtools</PackageDir>
<OutputDir>Source\VMWareComToolsJava</OutputDir>
<JarName>vestris-vmwarecomtools</JarName>
</ComInterface>
</ItemGroup>
<Target Name="javas" DependsOnTargets="version" Inputs="@(ComInterface)" Outputs="%(ComInterface.Identity)">
<Message Text="Extracting Java interface from %(ComInterface.DllName) ..." />
<!-- register the assembly -->
<Exec Command=""$(WinDir)\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" /codebase %(ComInterface.InputDir)\%(ComInterface.DllName) /tlb:%(ComInterface.FileName).tlb" />
<!-- export to com4j and compile generated java code -->
<Exec Command=""$(ProgramFiles)\Java\jre7\bin\java.exe" -jar Tools\Com4j\tlbimp.jar -p %(ComInterface.PackageName) -o %(ComInterface.OutputDir) %(ComInterface.InputDir)\%(ComInterface.FileName).tlb" />
<MakeDir Directories="$(ReleaseDir)\Bin" />
<Exec WorkingDirectory="%(ComInterface.OutputDir)" Command=""$(JAVA_HOME)\bin\javac.exe" %(ComInterface.PackageDir)\*.java -cp "$(MSBuildProjectDirectory)\Tools\Com4j\com4j.jar"" />
<!-- make compiled and source jars -->
<MakeDir Directories="%(ComInterface.OutputDir)\bin" />
<Exec WorkingDirectory="%(ComInterface.OutputDir)" Command=""$(JAVA_HOME)\bin\jar.exe" cvf bin\%(ComInterface.JarName).jar %(ComInterface.PackageDir)\*.class" />
<Exec WorkingDirectory="%(ComInterface.OutputDir)" Command=""$(JAVA_HOME)\bin\jar.exe" cvf bin\%(ComInterface.JarName)-src.zip %(ComInterface.PackageDir)\*.java" />
</Target>
<Target Name="vixcom">
<Message Text="Importing VixCOM Type Library ..." />
<Exec Command=""$(ProgramFiles)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\TlbImp.exe" "$(ProgramFiles)\VMWare\VMWare VIX\VixCOM.dll" /keyfile:master.snk /out:Source\Interop.VixCOM\Interop.VixCOM.dll" />
</Target>
</Project>