use of com.android.tools.build.bundletool.flags.FlagParser in project bundletool by google.
the class AddTransparencyCommandTest method buildingCommandViaFlags_defaultMode_transparencySignatureFlagSet.
@Test
public void buildingCommandViaFlags_defaultMode_transparencySignatureFlagSet() {
Throwable e = assertThrows(UnknownFlagsException.class, () -> AddTransparencyCommand.fromFlags(new FlagParser().parse("--bundle=" + bundlePath, "--output=" + outputBundlePath, "--ks=" + keystorePath, "--ks-key-alias=" + KEY_ALIAS, "--ks-pass=pass:" + KEYSTORE_PASSWORD, "--key-pass=pass:" + KEY_PASSWORD, "--transparency-signature=" + transparencySignatureFilePath)));
assertThat(e).hasMessageThat().contains("Unrecognized flags");
}
use of com.android.tools.build.bundletool.flags.FlagParser in project bundletool by google.
the class BuildApksCommandTest method buildingViaFlagsAndBuilderHasSameResult_optionalLocalTestingMode.
@Test
public void buildingViaFlagsAndBuilderHasSameResult_optionalLocalTestingMode() throws Exception {
ByteArrayOutputStream output = new ByteArrayOutputStream();
BuildApksCommand commandViaFlags = BuildApksCommand.fromFlags(new FlagParser().parse("--bundle=" + bundlePath, "--output=" + outputFilePath, "--aapt2=" + AAPT2_PATH, // Optional values.
"--local-testing"), new PrintStream(output), systemEnvironmentProvider, fakeAdbServer);
BuildApksCommand.Builder commandViaBuilder = BuildApksCommand.builder().setBundlePath(bundlePath).setOutputFile(outputFilePath).setLocalTestingMode(true).setAapt2Command(commandViaFlags.getAapt2Command().get()).setExecutorServiceInternal(commandViaFlags.getExecutorService()).setExecutorServiceCreatedByBundleTool(true).setOutputPrintStream(commandViaFlags.getOutputPrintStream().get());
DebugKeystoreUtils.getDebugSigningConfiguration(systemEnvironmentProvider).ifPresent(commandViaBuilder::setSigningConfiguration);
assertThat(commandViaBuilder.build()).isEqualTo(commandViaFlags);
}
use of com.android.tools.build.bundletool.flags.FlagParser in project bundletool by google.
the class BuildApksCommandTest method buildingViaFlagsAndBuilderHasSameResult_stamp_separateKeystoreAndKeyAlias.
@Test
public void buildingViaFlagsAndBuilderHasSameResult_stamp_separateKeystoreAndKeyAlias() throws Exception {
ByteArrayOutputStream output = new ByteArrayOutputStream();
BuildApksCommand commandViaFlags = BuildApksCommand.fromFlags(new FlagParser().parse("--bundle=" + bundlePath, "--output=" + outputFilePath, "--aapt2=" + AAPT2_PATH, "--create-stamp=" + true, "--stamp-ks=" + stampKeystorePath, "--stamp-key-alias=" + STAMP_KEY_ALIAS, "--stamp-ks-pass=pass:" + STAMP_KEYSTORE_PASSWORD, "--stamp-key-pass=pass:" + STAMP_KEY_PASSWORD), new PrintStream(output), systemEnvironmentProvider, fakeAdbServer);
SigningConfiguration stampSigningConfiguration = SigningConfiguration.builder().setSignerConfig(stampPrivateKey, stampCertificate).build();
BuildApksCommand.Builder commandViaBuilder = BuildApksCommand.builder().setBundlePath(bundlePath).setOutputFile(outputFilePath).setSourceStamp(SourceStamp.builder().setSigningConfiguration(stampSigningConfiguration).build()).setAapt2Command(commandViaFlags.getAapt2Command().get()).setExecutorServiceInternal(commandViaFlags.getExecutorService()).setExecutorServiceCreatedByBundleTool(true).setOutputPrintStream(commandViaFlags.getOutputPrintStream().get());
DebugKeystoreUtils.getDebugSigningConfiguration(systemEnvironmentProvider).ifPresent(commandViaBuilder::setSigningConfiguration);
assertThat(commandViaBuilder.build()).isEqualTo(commandViaFlags);
}
use of com.android.tools.build.bundletool.flags.FlagParser in project bundletool by google.
the class BuildApksCommandTest method optimizationDimensionsWithUniversal_throws.
@Test
public void optimizationDimensionsWithUniversal_throws() throws Exception {
InvalidCommandException builderException = assertThrows(InvalidCommandException.class, () -> BuildApksCommand.builder().setBundlePath(bundlePath).setOutputFile(outputFilePath).setAapt2Command(aapt2Command).setApkBuildMode(UNIVERSAL).setOptimizationDimensions(ImmutableSet.of(ABI)).build());
assertThat(builderException).hasMessageThat().contains("Optimization dimension can be only set when running with 'default' mode flag.");
InvalidCommandException flagsException = assertThrows(InvalidCommandException.class, () -> BuildApksCommand.fromFlags(new FlagParser().parse("--bundle=" + bundlePath, "--output=" + outputFilePath, "--optimize-for=abi", "--mode=UNIVERSAL"), fakeAdbServer));
assertThat(flagsException).hasMessageThat().contains("Optimization dimension can be only set when running with 'default' mode flag.");
}
use of com.android.tools.build.bundletool.flags.FlagParser in project bundletool by google.
the class BuildApksCommandTest method allParentDirectoriesCreated.
@Test
public void allParentDirectoriesCreated() throws Exception {
createAppBundle(bundlePath);
Path outputApks = tmpDir.resolve("non-existing-dir").resolve("app.apks");
ParsedFlags flags = new FlagParser().parse("--bundle=" + bundlePath, "--output=" + outputApks);
BuildApksCommand command = BuildApksCommand.fromFlags(flags, fakeAdbServer);
command.execute();
assertThat(Files.exists(outputApks)).isTrue();
}
Aggregations