Java.Common.targets 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <Project DefaultTargets="Build">
  2. <PropertyGroup>
  3. <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(ArtifactsDir)\obj\</BaseIntermediateOutputPath>
  4. <IntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)'))$(Configuration)\</IntermediateOutputPath>
  5. <BuildDependsOn>
  6. PrepareForBuild;
  7. ResolveProjectReferences;
  8. _Build;
  9. </BuildDependsOn>
  10. <JavaBuildArgs Condition="'$(JavaBuildArgs)' == ''">../gradlew $(GradleOptions) compileJava</JavaBuildArgs>
  11. <GradleOptions>$(GradleOptions) -PpackageVersion="$(PackageVersion)"</GradleOptions>
  12. </PropertyGroup>
  13. <ItemGroup>
  14. <JavaFiles Include="src\**\*.java" />
  15. <JavaFiles Include="*.javaproj" />
  16. <JavaFiles Include="build.gradle" />
  17. <BuildOutputFiles Include="$(BaseIntermediateOutputPath)build-sentinel" />
  18. </ItemGroup>
  19. <Target Name="Restore" />
  20. <Target Name="PrepareForBuild">
  21. <MakeDir Directories="$(IntermediateOutputPath);$(PackageOutputPath)" />
  22. </Target>
  23. <Target Name="ResolveProjectReferences">
  24. <MSBuild Projects="@(ProjectReference)"
  25. BuildInParallel="true" />
  26. </Target>
  27. <Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
  28. <Target Name="GetBuildInputCacheFile">
  29. <Hash ItemsToHash="@(JavaFiles)">
  30. <Output TaskParameter="HashResult" PropertyName="_JavaFileHash" />
  31. </Hash>
  32. <WriteLinesToFile
  33. Lines="$(_JavaFileHash)"
  34. File="$(BaseIntermediateOutputPath)javafiles.cache"
  35. Overwrite="True"
  36. WriteOnlyWhenDifferent="True" />
  37. </Target>
  38. <Target Name="_Build"
  39. Condition="'$(IsBuildable)' != 'false'"
  40. DependsOnTargets="GetBuildInputCacheFile"
  41. Inputs="@(JavaFiles);$(BaseIntermediateOutputPath)javafiles.cache"
  42. Outputs="@(BuildOutputFiles)">
  43. <Telemetry EventName="NETCORE_ENGINEERING_TELEMETRY" EventData="Category=Build" />
  44. <Exec Command="$(JavaBuildArgs)" />
  45. <WriteLinesToFile Overwrite="true" File="$(BaseIntermediateOutputPath)build-sentinel" />
  46. </Target>
  47. <PropertyGroup>
  48. <PackDependsOn Condition="'$(NoBuild)' != 'true'">
  49. Build;
  50. $(PackDependsOn);
  51. </PackDependsOn>
  52. </PropertyGroup>
  53. <Target Name="Pack" Condition="'$(IsPackable)' == 'true'" DependsOnTargets="$(PackDependsOn)">
  54. <Telemetry EventName="NETCORE_ENGINEERING_TELEMETRY" EventData="Category=Pack" />
  55. <Message Text="> gradlew $(GradleOptions) createPackage" Importance="high" />
  56. <Exec Command="../gradlew $(GradleOptions) createPackage" />
  57. <Message Importance="high" Text="$(PackageId) -> $(PackageOutputPath)%(JavaBuildFiles.Identity)" />
  58. <Copy SourceFiles="$(MSBuildProjectDirectory)\build\libs\%(JavaBuildFiles.Identity)" DestinationFolder="$(PackageOutputPath)" />
  59. </Target>
  60. <Target Name="Test" />
  61. <Target Name="Publish" />
  62. </Project>