Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build: Add automation for building custom resource distributions #45

Open
NightOwl888 opened this issue Mar 4, 2023 · 0 comments
Open

Comments

@NightOwl888
Copy link
Owner

NightOwl888 commented Mar 4, 2023

We have basic support for being able to exclude resource distributions, but it is mostly manual. We need some more automation for this to go smoothly.

  1. Make the ICU4JResourceConverter tool into a dotnet tool. This is blocked by the fact we depend on the .NET Framework version of al.exe that isn't cross OS (Fix cross-platform satellite assembly generation #82).
  2. Automate the process of unpacking the icu4j.jar file from Maven, giving the user a choice between packing satellite assemblies or resource files.
  3. Add better tooling for being able to deploy a class library that depends on a custom resource package.
    a. We need to ensure the version of the custom NuGet package stays aligned with the original ICU4N build.
    b. The end consumer should be able to override the custom resource NuGet package with either the default or another custom resource package. This can be done by packing a buildTransitive/<assemblyName>.targets file that has a PackageReference to the custom NuGet package.

Copying the ICU4N.targets file worked pretty well. We just need to automate the process of packing a copy of this file as buildTransitive/<assemblyName>.targets in the appropriate scenarios (giving the user the ability to opt in or out of this) when a custom distribution is involved and to reference the custom package name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant