fingerprint method

  1. @override
Future<NativeStepFingerprint> fingerprint(
  1. NativeStepContext context
)
override

Compute a fingerprint for this step based on its inputs.

Used for build caching to determine if a step needs to be re-executed.

Implementation

@override
Future<NativeStepFingerprint> fingerprint(NativeStepContext context) async {
  return NativeStepFingerprint(
    id: id,
    hash: fingerprintHash(
      '$id:${expandRecipeValue(declaration.primaryPath, context.buildContext, context.source)}:${declaration.companions.map((c) => '${c.role.name}:${expandRecipeValue(c.path, context.buildContext, context.source)}:${c.optional}').join('|')}',
    ),
  );
}