Skip to content

Commit

Permalink
Clena up temp output into separate dirs so we don't have one big thin…
Browse files Browse the repository at this point in the history
…g to remove and dig through and clean.

Move some more resource files out of build/ to generating: tzmappings, tzdb, flavormap, cursor resources, etc.
  • Loading branch information
wasabii committed Jun 4, 2024
1 parent 807c70f commit ff9a7b7
Show file tree
Hide file tree
Showing 6 changed files with 264 additions and 139 deletions.
1 change: 0 additions & 1 deletion openjdk.props
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,6 @@
<OpenJdkResource Include="$(OpenJdkDir)\langtools\src\share\classes\**\*" Exclude="$(OpenJdkDir)\langtools\src\share\classes\**\_*;$(OpenJdkDir)\langtools\src\share\classes\**\*.java;$(OpenJdkDir)\langtools\src\share\classes\**\*.class" ResourcePath="%(RecursiveDir)%(Filename)%(Extension)" />

<!-- Resources generated by build. -->
<OpenJdkResource Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\classes\**\*" Exclude="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\classes\**\_*;$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\classes\**\*.java;$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\classes\**\*.class" ResourcePath="%(RecursiveDir)%(Filename)%(Extension)" />
<OpenJdkResource Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\gensrc\**\*" Exclude="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\gensrc\**\_*;$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\gensrc\**\*.java;$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\gensrc\**\*.class" ResourcePath="%(RecursiveDir)%(Filename)%(Extension)" />
<OpenJdkResource Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\langtools\gensrc\**\*" Exclude="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\langtools\gensrc\**\_*;$(OpenJdkDir)\build\linux-x86_64-normal-server-release\langtools\gensrc\**\*.java;$(OpenJdkDir)\build\linux-x86_64-normal-server-release\langtools\gensrc\**\*.class" ResourcePath="%(RecursiveDir)%(Filename)%(Extension)" />

Expand Down
76 changes: 56 additions & 20 deletions src/IKVM.Image/IKVM.Image.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,8 @@
<Content Include="ikvm.properties" Pack="true" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

<ItemGroup>
<OpenJdkImageContent Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\*.properties" ImagePath="lib\%(Filename)%(Extension)" />
<OpenJdkImageContent Remove="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\content-types.properties" />
<OpenJdkImageContent Remove="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\flavormap.properties" />
<OpenJdkImageContent Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\currency.data" ImagePath="lib\currency.data" />
<OpenJdkImageContent Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\cmm\**\*" ImagePath="lib\cmm\%(RecursiveDir)%(Filename)%(Extension)" />
<OpenJdkImageContent Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\management\**\*" ImagePath="lib\management\%(RecursiveDir)%(Filename)%(Extension)" />
<OpenJdkImageContent Include="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\security\**\*" ImagePath="lib\security\%(RecursiveDir)%(Filename)%(Extension)" />
<OpenJdkImageContent Remove="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\security\java.security" />
<OpenJdkImageContent Remove="$(OpenJdkDir)\build\linux-x86_64-normal-server-release\jdk\lib\security\cacerts" />
<OpenJdkImageContent Include="$(OpenJdkDir)\jdk\src\windows\lib\*" ImagePath="lib\%(Filename)%(Extension)" />
</ItemGroup>
<Import Sdk="Microsoft.Build.NoTargets" Project="Sdk.targets" />
<Import Project="IKVM.Image.project.targets" />

<!-- items to output -->
<ItemGroup>
Expand All @@ -52,15 +42,21 @@
<IkvmImageItem Include="ikvm\net472\**\*" TargetFramework="net472" RuntimeIdentifier="any" ImagePath="%(RecursiveDir)%(Filename)%(Extension)" />
<IkvmImageItem Include="ikvm\net6.0\**\*" TargetFramework="net6.0" RuntimeIdentifier="any" ImagePath="%(RecursiveDir)%(Filename)%(Extension)" />
<IkvmImageItem Include="ikvm\net8.0\**\*" TargetFramework="net8.0" RuntimeIdentifier="any" ImagePath="%(RecursiveDir)%(Filename)%(Extension)" />
<IkvmImageItem Include="@(OpenJdkImageContent)" TargetFramework="any" RuntimeIdentifier="any" ImagePath="%(ImagePath)" />
</ItemGroup>

<Import Sdk="Microsoft.Build.NoTargets" Project="Sdk.targets" />
<Import Project="IKVM.Image.project.targets" />

<Target Name="GenerateSecurityPolicy" DependsOnTargets="OpenJdkBuildTools;ResolveJava">
<Message Text="GenerateSecurityPolicy" />
</Target>
<ItemGroup>
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\management\**\*" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\management\%(RecursiveDir)%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\logging.properties" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\classes\sun\print\*.properties*" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\images\cursors\invalid32x32.gif" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\images\cursors\invalid32x32.gif" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\calendars.properties" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\hijrah-config-umalqura.properties" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\cmm\lcms\*.pf" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\cmm\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\security\java.policy" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\security\java.policy" />
<!--<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\security\blacklisted.certs" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\security\blacklisted.certs" />-->
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\sound.properties" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\net.properties" TargetFramework="any" RuntimeIdentifier="any" ImagePath="lib\%(Filename)%(Extension)" />
</ItemGroup>

<PropertyGroup>
<TzDataDir>$(OpenJdkDir)jdk\make\data\tzdata</TzDataDir>
Expand All @@ -86,10 +82,50 @@
</ItemGroup>
</Target>

<PropertyGroup>
<CurrencyDataSrc>$(OpenJdkDir)jdk\src\share\classes\java\util\CurrencyData.properties</CurrencyDataSrc>
<CurrencyDataDst>$(IntermediateOutputPath)currency.data</CurrencyDataDst>
</PropertyGroup>

<Target Name="GenerateCurrencyData" DependsOnTargets="OpenJdkBuildTools;ResolveJava" Inputs="$(MSBuildThisFileFullPath);$(OpenJdkBuildToolsStampFile);$(CurrencyDataSrc)" Outputs="$(CurrencyDataDst)">
<Error Text="Could not locate java executable." Condition=" '$(JavaPath)' == '' " />
<Error Text="java could not be located at '$(JavaPath)'." Condition="!Exists('$(JavaPath)')" />
<Exec Command="chmod +x $(JavaPath) &gt;/dev/null 2&gt;&amp;1" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" StandardErrorImportance="low" ContinueOnError="true" Condition="$([MSBuild]::IsOSUnixLike())" />

<Delete Files="$(CurrencyDataDst).tmp" />
<Exec Command="$(JavaExec) -cp $(OpenJdkBuildToolsOutputPath) build.tools.generatecurrencydata.GenerateCurrencyData -o $(CurrencyDataDst).tmp &lt; $(CurrencyDataSrc)" />
<Move SourceFiles="$(CurrencyDataDst).tmp" DestinationFiles="$(CurrencyDataDst)" />
<Touch Files="$(CurrencyDataDst)" ForceTouch="true" AlwaysCreate="true" />

<ItemGroup>
<IkvmImageItem Include="$(CurrencyDataDst)" ImagePath="lib\currency.data" TargetFramework="any" RuntimeIdentifier="any" />
<FileWrites Include="$(CurrencyDataDst)" />
<FileWrites Include="$(CurrencyDataDst).tmp" />
</ItemGroup>
</Target>

<Target Name="GenerateCaCerts" DependsOnTargets="OpenJdkBuildTools;ResolveJava" Inputs="$(MSBuildThisFileFullPath);$(OpenJdkBuildToolsStampFile);$(OpenJdkDir)jdk\make\data\cacerts\**\*" Outputs="$(IntermediateOutputPath)cacerts">
<!--<Error Text="Could not locate java executable." Condition=" '$(JavaPath)' == '' " />
<Error Text="java could not be located at '$(JavaPath)'." Condition="!Exists('$(JavaPath)')" />
<Exec Command="chmod +x $(JavaPath) &gt;/dev/null 2&gt;&amp;1" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" StandardErrorImportance="low" ContinueOnError="true" Condition="$([MSBuild]::IsOSUnixLike())" />
<Delete Files="$(IntermediateOutputPath)cacerts.tmp" />
<Exec Command="$(JavaExec) -cp $(OpenJdkBuildToolsOutputPath) build.tools.generatecacerts.GenerateCacerts $(OpenJdkDir)jdk/make/data/cacerts/ $(CurrencyDataDst).tmp" />
<Move SourceFiles="$(IntermediateOutputPath)cacerts.tmp" DestinationFiles="$(IntermediateOutputPath)cacerts" />
<Touch Files="$(IntermediateOutputPath)cacerts" ForceTouch="true" AlwaysCreate="true" />
<ItemGroup>
<IkvmImageItem Include="$(IntermediateOutputPath)cacerts" ImagePath="lib\security\cacerts" TargetFramework="any" RuntimeIdentifier="any" />
<FileWrites Include="$(IntermediateOutputPath)cacerts" />
<FileWrites Include="$(IntermediateOutputPath)cacerts.tmp" />
</ItemGroup>-->
</Target>

<PropertyGroup>
<GenerateDependsOn>
GenerateTZDB;
GenerateSecurityPolicy;
GenerateCurrencyData;
GenerateCaCerts;
$(GenerateDependsOn);
</GenerateDependsOn>
</PropertyGroup>
Expand Down
32 changes: 31 additions & 1 deletion src/IKVM.Image/IKVM.Image.runtime.targets
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,36 @@
<IkvmImageItem Include="ikvm\net8.0\**\*" TargetFramework="net8.0" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="%(RecursiveDir)%(Filename)%(Extension)" Condition=" '$(ImageRuntimeIdentifier)' != '' " />
</ItemGroup>

<PropertyGroup>
<OpenJdkTargetOsApiDir Condition="$(ImageRuntimeIdentifier.StartsWith('win-'))">windows</OpenJdkTargetOsApiDir>
<OpenJdkTargetOsApiDir Condition="$(ImageRuntimeIdentifier.StartsWith('linux-')) Or $(ImageRuntimeIdentifier.StartsWith('osx-'))">solaris</OpenJdkTargetOsApiDir>
<OpenJdkTargetOsDir Condition="$(ImageRuntimeIdentifier.StartsWith('win-'))">windows</OpenJdkTargetOsDir>
<OpenJdkTargetOsDir Condition="$(ImageRuntimeIdentifier.StartsWith('linux-'))">linux</OpenJdkTargetOsDir>
<OpenJdkTargetOsDir Condition="$(ImageRuntimeIdentifier.StartsWith('osx-'))">macosx</OpenJdkTargetOsDir>
</PropertyGroup>

<ItemGroup>
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\windows\lib\flavormap.properties" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\flavormap.properties" Condition="$(ImageRuntimeIdentifier.StartsWith('win-'))"/>
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\solaris\lib\flavormap.properties" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\flavormap.properties" Condition="$(ImageRuntimeIdentifier.StartsWith('linux-'))"/>
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\macosx\lib\flavormap.properties" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\flavormap.properties" Condition="$(ImageRuntimeIdentifier.StartsWith('osx-'))"/>
</ItemGroup>

<PropertyGroup>
<CursorImagePrefix>motif</CursorImagePrefix>
<CursorImagePrefix Condition="$(ImageRuntimeIdentifier.StartsWith('win-'))">win32</CursorImagePrefix>
</PropertyGroup>

<ItemGroup>
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\share\lib\images\cursors\$(CursorImagePrefix)_*.gif" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\images\cursors\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\$(OpenJdkTargetOsApiDir)\lib\images\cursors\cursors.properties" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\images\cursors\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\$(OpenJdkTargetOsApiDir)\lib\content-types.properties" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\%(Filename)%(Extension)" />
</ItemGroup>

<ItemGroup Condition="$(ImageRuntimeIdentifier.StartsWith('win-'))">
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\windows\native\sun\bridge\accessibility.properties" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\%(Filename)%(Extension)" />
<IkvmImageItem Include="$(OpenJdkDir)jdk\src\$(OpenJdkTargetOsDir)\lib\tzmappings" TargetFramework="any" RuntimeIdentifier="$(ImageRuntimeIdentifier)" ImagePath="lib\%(Filename)%(Extension)" />
</ItemGroup>

<ItemGroup>
<PublishProjectReference Include="..\IKVM.Image-bin\IKVM.Image-bin.csproj" Condition="$(SupportedImageTargetFrameworks.Contains(';net472;'))">
<SetTargetFramework>TargetFramework=net472</SetTargetFramework>
Expand Down Expand Up @@ -91,5 +121,5 @@
<Target Name="Generate" BeforeTargets="ExpandIkvmImageItems" DependsOnTargets="$(GenerateDependsOn)" Condition=" '$(ImageRuntimeIdentifier)' != '' ">

</Target>

</Project>
8 changes: 0 additions & 8 deletions src/IKVM.Java/IKVM.Java.runtime.props
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,6 @@
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'osx' ">macosx</OpenJdkTargetOsDir>
</PropertyGroup>

<PropertyGroup>
<OpenJdkTargetOsApiDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'win' Or '$(IkvmJavaRuntimeIdentifier)' == 'ref' ">windows</OpenJdkTargetOsApiDir>
<OpenJdkTargetOsApiDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'linux' Or '$(IkvmJavaRuntimeIdentifier)' == 'osx' ">solaris</OpenJdkTargetOsApiDir>
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'win' Or '$(IkvmJavaRuntimeIdentifier)' == 'ref' ">windows</OpenJdkTargetOsDir>
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'linux' ">linux</OpenJdkTargetOsDir>
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'osx' ">macosx</OpenJdkTargetOsDir>
</PropertyGroup>

<Import Project="$(MSBuildThisFileDirectory)..\IKVM.MSBuild\buildTransitive\IKVM.MSBuild.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\openjdk.props" />

Expand Down
Loading

0 comments on commit ff9a7b7

Please sign in to comment.