StansAssets / com.stansassets.build

Unity build system automation & additional API
5 stars 1 forks source link

Add additional metadata to IBuildTask #38

Closed aleh-patseyeu closed 2 years ago

aleh-patseyeu commented 2 years ago

Currently, there is no way to change the step execution order of IBuildTask - they simply add to the list sorted by the class name. We can introduce a custom class attribute [StepExecutionOrder(int order)] and perform a sorting based on this parameter.

Also, it will be helpful to add an attribute [StepName] in order to override the default one in the pipeline visualization, because the current name displaying method will lead to ambiguity when classes have the same name but relate to different modules/assemblies. It is also possible to just use a GetType().FullName or add a parameter in settings that allows the user to select the name displaying method.

aleh-patseyeu commented 2 years ago

As discussed with @PavelKlym - the reason to not use a step execution order for build steps is the ability to create implicit dependencies between steps. If somebody needs to rely on particular order - a provider/step with an explicit order of execution should be used.

The current displaying method has a clear separation between Unity build steps and custom pipeline steps - I think it should be enough.