Skip to content

Simplifying the Build System

Marek Habersack edited this page Nov 28, 2024 · 4 revisions

Simplify the Build System

We need to reduce the complexity of our build system as we move towards .Net 10 Android. One of the issues we have is passing data between tasks which happen at various different times in the build. It would be nice to be able to reduce or rework these so they can share the same data without having to make use of RegisterTaskObject.

This might well mean we write intermediate data to the $(IntermediateOutputDir) so it can be consumed by a task later on the the build, rather than trying to do the work in place.

Tasks/Targets to Split up

GenerateJavaStubs

This is what this task is currently responsible for

  1. Generating Java source code for C# calls.
  2. Generating the final AndroidManifest.xml
  3. A ton of stuff to do with packaging and startup code.
    1. Typemaps generation (must be done after we have all the Java types scanned)
    2. Marshal methods identification, that's done as a callback from the Java type scanner
    3. Marshal methods rewriting

Tasks/Targets to Consolidate

Tasks/Targets to rethink.

Clone this wiki locally