Skip to content

Commit

Permalink
feat: Only regenerate resources if the assembly changed. (#273)
Browse files Browse the repository at this point in the history
Only regenerate resources like CRDs, dockerfile
and rbac elements if the assembly changed.
  • Loading branch information
tillig committed Sep 8, 2021
1 parent 0fe6c66 commit 94e521c
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/KubeOps/Build/KubeOps.targets
Expand Up @@ -42,6 +42,18 @@
</PropertyGroup>
</Target>

<Target Name="GetAssemblyBeforeTimestamp" AfterTargets="BeforeCompile">
<PropertyGroup>
<KubeOpsAssemblyTimestampBeforeCompile>%(IntermediateAssembly.ModifiedTime)</KubeOpsAssemblyTimestampBeforeCompile>
</PropertyGroup>
</Target>

<Target Name="GetAssemblyAfterTimestamp" AfterTargets="CoreCompile">
<PropertyGroup>
<KubeOpsAssemblyTimestampAfterCompile>%(IntermediateAssembly.ModifiedTime)</KubeOpsAssemblyTimestampAfterCompile>
</PropertyGroup>
</Target>

<Target Name="GenerateDockerfile" DependsOnTargets="BaseConfig">
<Message Text="Generating Dockerfile" Importance="high" />
<Message Text="Dockerfile path: $(KubeOpsDockerfilePath)" Importance="normal" />
Expand Down Expand Up @@ -88,11 +100,11 @@
Command="dotnet $(OutputPath)$(TargetFileName) generator installer --out $(KubeOpsInstallerDir) --format $(KubeOpsInstallerFormat) --crds-dir $(KubeOpsCrdDir) --rbac-dir $(KubeOpsRbacDir) --operator-dir $(KubeOpsOperatorDir)" />
</Target>

<Target Name="GenerateAfterBuild" AfterTargets="Build" DependsOnTargets="BaseConfig">
<Target Name="GenerateAfterBuild" AfterTargets="Build" DependsOnTargets="BaseConfig" Condition="'$(KubeOpsAssemblyTimestampBeforeCompile)' != '$(KubeOpsAssemblyTimestampAfterCompile)'">
<CallTarget Condition="'$(KubeOpsSkipDockerfile)' == ''" Targets="GenerateDockerfile" />
<CallTarget Condition="'$(KubeOpsSkipCrds)' == ''" Targets="GenerateCrds" />
<CallTarget Condition="'$(KubeOpsSkipRbac)' == ''" Targets="GenerateRbac" />
<CallTarget Condition="'$(KubeOpsSkipOperator)' == ''" Targets="GenerateOperator" />
<CallTarget Condition="'$(KubeOpsSkipInstaller)' == ''" Targets="GenerateInstaller" />
</Target>
</Project>
</Project>

0 comments on commit 94e521c

Please sign in to comment.