.setMultiAbiTargeting( MultiAbiTargeting.newBuilder() .addAllValue(targeting) .addAllAlternatives( Sets.difference(allTargeting, ImmutableSet.copyOf(targeting)))) .build())
private static ApexImageTargeting buildApexTargetingWithAlternatives( MultiAbi targeting, Set<MultiAbi> allTargeting) { return ApexImageTargeting.newBuilder() .setMultiAbi( MultiAbiTargeting.newBuilder() .addValue(targeting) .addAllAlternatives( Sets.difference(allTargeting, ImmutableSet.of(targeting)).immutableCopy())) .build(); }
/** * Builds multi-Abi targeting of arbitrary values and alternatives. * * @param abiAliases a set of sets of Abi aliases. Each inner set is converted to the repeated * MultiAbi.abi, and the outer set is converted to the repeated MultiAbiTargeting.value. * @param alternatives a set of sets of Abi aliases. Each inner set is converted to the repeated * MultiAbi.abi, and the outer set is converted to the repeated * MultiAbiTargeting.alternatives. */ public static MultiAbiTargeting multiAbiTargeting( ImmutableSet<ImmutableSet<AbiAlias>> abiAliases, ImmutableSet<ImmutableSet<AbiAlias>> alternatives) { return MultiAbiTargeting.newBuilder() .addAllValue(buildMultiAbis(abiAliases)) .addAllAlternatives(buildMultiAbis(alternatives)) .build(); }
/** * Builds multi-Abi targeting of arbitrary values with no alternatives. * * @param abiAliases a set of sets of Abi aliases. Each inner set is converted to the repeated * MultiAbi.abi, and the outer set is converted to the repeated MultiAbiTargeting.value. */ public static MultiAbiTargeting multiAbiTargeting( ImmutableSet<ImmutableSet<AbiAlias>> abiAliases) { return MultiAbiTargeting.newBuilder().addAllValue(buildMultiAbis(abiAliases)).build(); }
/** Builds APEX image targeting (no alternatives) according to the Abi names. */ public static ApexImageTargeting apexImageTargeting(String... architectures) { MultiAbi.Builder multiAbi = MultiAbi.newBuilder(); Arrays.stream(architectures).forEach(abi -> multiAbi.addAbi(toAbi(abi))); return ApexImageTargeting.newBuilder() .setMultiAbi(MultiAbiTargeting.newBuilder().addValue(multiAbi)) .build(); }