copyWith method
Creates a copy of this Android arguments instance with updated values.
data- New Android arguments to merge with current instance
Returns a new Arguments instance with values from data taking
precedence over current values. Null values in data will preserve
the corresponding values from the current instance.
This method is useful for creating variants of build configurations without modifying the original instance.
Example usage:
final releaseArgs = debugArgs.copyWith(Arguments(
variables,
binaryType: 'aab',
buildMode: 'release',
obfuscate: true,
));
Implementation
BuildArguments copyWith(Arguments? data) {
return Arguments(
data?.variables ?? variables,
buildMode: data?.buildMode ?? buildMode,
binaryType: data?.binaryType ?? binaryType,
target: data?.target ?? target,
flavor: data?.flavor ?? flavor,
dartDefines: data?.dartDefines ?? dartDefines,
dartDefinesFile: data?.dartDefinesFile ?? dartDefinesFile,
splitPerAbi: data?.splitPerAbi ?? splitPerAbi,
customArgs: data?.customArgs ?? customArgs,
buildName: data?.buildName ?? buildName,
buildNumber: data?.buildNumber ?? buildNumber,
pub: data?.pub ?? pub,
output: data?.output ?? output,
generateDebugSymbols: data?.generateDebugSymbols ?? generateDebugSymbols,
configOnly: data?.configOnly ?? configOnly,
trackWidgetCreation: data?.trackWidgetCreation ?? trackWidgetCreation,
androidSkipBuildDependencyValidation:
data?.androidSkipBuildDependencyValidation ??
androidSkipBuildDependencyValidation,
analyzeSize: data?.analyzeSize ?? analyzeSize,
ignoreDeprecation: data?.ignoreDeprecation ?? ignoreDeprecation,
obfuscate: data?.obfuscate ?? obfuscate,
targetPlatform: data?.targetPlatform ?? targetPlatform,
androidProjectArg: data?.androidProjectArg ?? androidProjectArg,
codeSizeDirectory: data?.codeSizeDirectory ?? codeSizeDirectory,
splitDebugInfo: data?.splitDebugInfo ?? splitDebugInfo,
);
}