gitextract_7d1c7m1x/ ├── .allstar/ │ └── binary_artifacts.yaml ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── issue_report.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── RELEASE_TEMPLATES/ │ │ ├── cli_release_checklist.md │ │ ├── core_release_checklist.md │ │ └── plugin_release_checklist.md │ ├── dependabot.yml │ └── workflows/ │ ├── gradle-wrapper-validation.yml │ ├── jib-cli-release.yml │ ├── prepare-release.yml │ ├── sonar.yml │ └── unit-tests.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── STYLE_GUIDE.md ├── build.gradle ├── config/ │ └── checkstyle/ │ ├── checkstyle-suppressions.xml │ └── copyright-java.header ├── docs/ │ ├── configure-gcp-credentials.md │ ├── default_base_image.md │ ├── faq.md │ ├── google-cloud-build.md │ ├── privacy.md │ └── self_sign_cert.md ├── examples/ │ ├── README.md │ ├── dropwizard/ │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ └── maven-wrapper.properties │ │ ├── README.md │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── example/ │ │ │ ├── JibExampleApplication.java │ │ │ ├── JibExampleConfiguration.java │ │ │ ├── api/ │ │ │ │ └── Saying.java │ │ │ ├── config/ │ │ │ │ └── HelloWorldConfiguration.java │ │ │ ├── health/ │ │ │ │ └── TemplateHealthCheck.java │ │ │ └── resources/ │ │ │ └── HelloWorldResource.java │ │ └── resources/ │ │ ├── banner.txt │ │ └── dropwizard.yml │ ├── helloworld/ │ │ ├── README.md │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── example/ │ │ │ └── HelloWorld.java │ │ └── resources/ │ │ └── world │ ├── java-agent/ │ │ ├── README.md │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── example/ │ │ │ └── HelloWorld.java │ │ └── resources/ │ │ └── world │ ├── ktor/ │ │ ├── README.md │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle.kts │ │ └── src/ │ │ └── main/ │ │ ├── kotlin/ │ │ │ └── example/ │ │ │ └── ktor/ │ │ │ └── App.kt │ │ └── resources/ │ │ ├── application.conf │ │ └── logback.xml │ ├── micronaut/ │ │ ├── README.md │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── src/ │ │ ├── main/ │ │ │ ├── groovy/ │ │ │ │ └── example/ │ │ │ │ └── micronaut/ │ │ │ │ ├── Application.groovy │ │ │ │ └── HelloController.groovy │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── logback.xml │ │ └── test/ │ │ └── groovy/ │ │ └── example/ │ │ └── micronaut/ │ │ └── HelloControllerSpec.groovy │ ├── multi-module/ │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ └── maven-wrapper.properties │ │ ├── README.md │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle-build.sh │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── hello-service/ │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── hello/ │ │ │ ├── Application.java │ │ │ └── HelloController.java │ │ ├── kubernetes.yaml │ │ ├── maven-build.sh │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── name-service/ │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── name/ │ │ │ ├── Application.java │ │ │ └── NameController.java │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── shared-library/ │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── common/ │ │ └── SharedUtils.java │ ├── spring-boot/ │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ └── maven-wrapper.properties │ │ ├── README.md │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── hello/ │ │ ├── Application.java │ │ └── HelloController.java │ └── vertx/ │ ├── README.md │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── src/ │ └── main/ │ ├── java/ │ │ └── example/ │ │ └── vertx/ │ │ └── MainVerticle.java │ └── resources/ │ └── logback.xml ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── jib-build-plan/ │ ├── CHANGELOG.md │ ├── build.gradle │ ├── gradle.properties │ ├── kokoro/ │ │ └── release_build.sh │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ ├── api/ │ │ │ └── buildplan/ │ │ │ ├── AbsoluteUnixPath.java │ │ │ ├── ContainerBuildPlan.java │ │ │ ├── FileEntriesLayer.java │ │ │ ├── FileEntry.java │ │ │ ├── FilePermissions.java │ │ │ ├── FilePermissionsProvider.java │ │ │ ├── ImageFormat.java │ │ │ ├── LayerObject.java │ │ │ ├── ModificationTimeProvider.java │ │ │ ├── OwnershipProvider.java │ │ │ ├── Platform.java │ │ │ ├── Port.java │ │ │ └── RelativeUnixPath.java │ │ └── buildplan/ │ │ └── UnixPathParser.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ ├── api/ │ │ │ └── buildplan/ │ │ │ ├── AbsoluteUnixPathTest.java │ │ │ ├── ContainerBuildPlanTest.java │ │ │ ├── FileEntriesLayerTest.java │ │ │ ├── FileEntryTest.java │ │ │ ├── FilePermissionsTest.java │ │ │ ├── PortTest.java │ │ │ └── RelativeUnixPathTest.java │ │ └── buildplan/ │ │ └── UnixPathParserTest.java │ └── resources/ │ └── core/ │ ├── fileA │ └── layer/ │ ├── a/ │ │ └── b/ │ │ └── bar │ ├── c/ │ │ └── cat │ └── foo ├── jib-cli/ │ ├── CHANGELOG.md │ ├── README.md │ ├── build.gradle │ ├── gradle.properties │ ├── scripts/ │ │ └── update_gcs_latest.sh │ └── src/ │ ├── integration-test/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── google/ │ │ │ └── cloud/ │ │ │ └── tools/ │ │ │ └── jib/ │ │ │ └── cli/ │ │ │ ├── JarCommandTest.java │ │ │ ├── TestProject.java │ │ │ └── WarCommandTest.java │ │ └── resources/ │ │ ├── jarTest/ │ │ │ ├── spring-boot/ │ │ │ │ ├── build-layered.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── gradle/ │ │ │ │ │ └── wrapper/ │ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ │ └── gradle-wrapper.properties │ │ │ │ ├── gradlew │ │ │ │ ├── gradlew.bat │ │ │ │ ├── settings-layered.gradle │ │ │ │ ├── settings.gradle │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── hello/ │ │ │ │ ├── Application.java │ │ │ │ └── HelloController.java │ │ │ └── standard/ │ │ │ ├── HelloWorld.java │ │ │ ├── dep/ │ │ │ │ └── A.java │ │ │ └── dep2/ │ │ │ └── B.java │ │ └── warTest/ │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── src/ │ │ ├── extra_js/ │ │ │ └── bogus.js │ │ ├── extra_static/ │ │ │ └── bogus.html │ │ └── main/ │ │ ├── java/ │ │ │ └── example/ │ │ │ └── HelloWorld.java │ │ ├── resources/ │ │ │ └── world │ │ └── webapp/ │ │ ├── META-INF/ │ │ │ └── MANIFEST.MF │ │ ├── WEB-INF/ │ │ │ └── web.xml │ │ └── index.html │ ├── java-templates/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── cli/ │ │ └── VersionInfo.java.template │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── cli/ │ │ ├── ArtifactLayers.java │ │ ├── ArtifactProcessor.java │ │ ├── ArtifactProcessors.java │ │ ├── Build.java │ │ ├── CacheDirectories.java │ │ ├── CommonCliOptions.java │ │ ├── CommonContainerConfigCliOptions.java │ │ ├── ContainerBuilders.java │ │ ├── Containerizers.java │ │ ├── Credentials.java │ │ ├── Instants.java │ │ ├── Jar.java │ │ ├── JibCli.java │ │ ├── ShortErrorMessageHandler.java │ │ ├── War.java │ │ ├── buildfile/ │ │ │ ├── ArchiveLayerSpec.java │ │ │ ├── BaseImageSpec.java │ │ │ ├── BuildFileSpec.java │ │ │ ├── BuildFiles.java │ │ │ ├── CopySpec.java │ │ │ ├── FileLayerSpec.java │ │ │ ├── FilePropertiesSpec.java │ │ │ ├── FilePropertiesStack.java │ │ │ ├── LayerSpec.java │ │ │ ├── Layers.java │ │ │ ├── LayersSpec.java │ │ │ ├── PlatformSpec.java │ │ │ └── Validator.java │ │ ├── jar/ │ │ │ ├── JarFiles.java │ │ │ ├── JarLayers.java │ │ │ ├── ProcessingMode.java │ │ │ ├── SpringBootExplodedProcessor.java │ │ │ ├── SpringBootPackagedProcessor.java │ │ │ ├── StandardExplodedProcessor.java │ │ │ └── StandardPackagedProcessor.java │ │ ├── logging/ │ │ │ ├── CliLogger.java │ │ │ ├── ConsoleOutput.java │ │ │ ├── HttpTraceLevel.java │ │ │ └── Verbosity.java │ │ └── war/ │ │ ├── StandardWarExplodedProcessor.java │ │ └── WarFiles.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ ├── ArtifactProcessorsTest.java │ │ ├── api/ │ │ │ ├── ContainerizerTestProxy.java │ │ │ ├── HttpRequestTester.java │ │ │ └── JibContainerBuilderTestHelper.java │ │ └── cli/ │ │ ├── BuildTest.java │ │ ├── CacheDirectoriesTest.java │ │ ├── ContainerBuildersTest.java │ │ ├── ContainerizersTest.java │ │ ├── CredentialsTest.java │ │ ├── InstantsTest.java │ │ ├── JarTest.java │ │ ├── JibCliTest.java │ │ ├── WarTest.java │ │ ├── buildfile/ │ │ │ ├── ArchiveLayerSpecTest.java │ │ │ ├── BaseImageSpecTest.java │ │ │ ├── BuildFileSpecTest.java │ │ │ ├── BuildFilesTest.java │ │ │ ├── CopySpecTest.java │ │ │ ├── FileLayerSpecTest.java │ │ │ ├── FilePropertiesSpecTest.java │ │ │ ├── FilePropertiesStackTest.java │ │ │ ├── LayerSpecTest.java │ │ │ ├── LayersSpecTest.java │ │ │ ├── LayersTest.java │ │ │ ├── PlatformSpecTest.java │ │ │ └── ValidatorTest.java │ │ ├── jar/ │ │ │ ├── JarFilesTest.java │ │ │ ├── SpringBootExplodedProcessorTest.java │ │ │ ├── SpringBootPackagedProcessorTest.java │ │ │ ├── StandardExplodedProcessorTest.java │ │ │ └── StandardPackagedProcessorTest.java │ │ ├── logging/ │ │ │ └── CliLoggerTest.java │ │ └── war/ │ │ ├── StandardWarExplodedProcessorTest.java │ │ └── WarFilesTest.java │ └── resources/ │ ├── buildfiles/ │ │ ├── layers/ │ │ │ ├── archiveLayerTest/ │ │ │ │ └── layers.yaml │ │ │ ├── fileTest/ │ │ │ │ ├── default/ │ │ │ │ │ ├── layers.yaml │ │ │ │ │ ├── toDir.txt │ │ │ │ │ └── toFile.txt │ │ │ │ ├── failWithExcludes/ │ │ │ │ │ ├── layers.yaml │ │ │ │ │ └── toFile.txt │ │ │ │ └── failWithIncludes/ │ │ │ │ ├── layers.yaml │ │ │ │ └── toFile.txt │ │ │ ├── includesExcludesTest/ │ │ │ │ ├── layers.yaml │ │ │ │ └── project/ │ │ │ │ ├── excludedDir/ │ │ │ │ │ └── exclude.me │ │ │ │ ├── includedDir/ │ │ │ │ │ └── include.me │ │ │ │ └── wild.card │ │ │ ├── pathDoesNotExist/ │ │ │ │ └── layers.yaml │ │ │ ├── propertiesTest/ │ │ │ │ ├── dir/ │ │ │ │ │ └── file.txt │ │ │ │ └── layers.yaml │ │ │ └── writeToRoot/ │ │ │ ├── dir/ │ │ │ │ └── file.txt │ │ │ └── layers.yaml │ │ └── projects/ │ │ ├── allDefaults/ │ │ │ └── jib.yaml │ │ ├── allProperties/ │ │ │ ├── altYamls/ │ │ │ │ └── alt-jib.yaml │ │ │ ├── jib.yaml │ │ │ └── project/ │ │ │ └── script.sh │ │ └── templating/ │ │ ├── missingVar.yaml │ │ ├── multiLine.yaml │ │ └── valid.yaml │ ├── jar/ │ │ ├── java18.jar │ │ ├── spring-boot/ │ │ │ ├── springboot_layered.jar │ │ │ ├── springboot_layered_allEmptyLayers.jar │ │ │ ├── springboot_layered_singleEmptyLayer.jar │ │ │ ├── springboot_notLayered.jar │ │ │ └── springboot_sample.jar │ │ └── standard/ │ │ ├── dependency1 │ │ ├── dependency2 │ │ ├── dependency3-SNAPSHOT-1.jar │ │ ├── directory/ │ │ │ └── dependency4 │ │ ├── emptyStandardJar.jar │ │ ├── jarWithInvalidClass.jar │ │ ├── singleDepJar.jar │ │ ├── standardJarWithClassPath.jar │ │ ├── standardJarWithOnlyClasses.jar │ │ └── standardJarWithoutClassPath.jar │ └── war/ │ └── standard/ │ ├── allLayers/ │ │ ├── META-INF/ │ │ │ └── context.xml │ │ ├── Test.jsp │ │ └── WEB-INF/ │ │ ├── classes/ │ │ │ └── package/ │ │ │ └── test.properties │ │ ├── lib/ │ │ │ ├── dependency-1.0.0.jar │ │ │ └── dependencyX-1.0.0-SNAPSHOT.jar │ │ └── web.xml │ ├── noWebInfClasses/ │ │ ├── META-INF/ │ │ │ └── context.xml │ │ └── WEB-INF/ │ │ └── lib/ │ │ ├── dependency-1.0.0.jar │ │ └── dependencyX-1.0.0-SNAPSHOT.jar │ └── noWebInfLib/ │ └── META-INF/ │ └── context.xml ├── jib-core/ │ ├── CHANGELOG.md │ ├── README.md │ ├── build.gradle │ ├── examples/ │ │ ├── README.md │ │ └── build.gradle/ │ │ └── README.md │ ├── gradle.properties │ ├── kokoro/ │ │ └── release_build.sh │ └── src/ │ ├── integration-test/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── google/ │ │ │ └── cloud/ │ │ │ └── tools/ │ │ │ └── jib/ │ │ │ ├── Command.java │ │ │ ├── IntegrationTestingConfiguration.java │ │ │ ├── api/ │ │ │ │ ├── ContainerizerIntegrationTest.java │ │ │ │ ├── JibIntegrationTest.java │ │ │ │ ├── JibMultiPlatformIntegrationTest.java │ │ │ │ └── ReproducibleImageTest.java │ │ │ └── registry/ │ │ │ ├── BearerAuthenticationIntegrationTest.java │ │ │ ├── BlobCheckerIntegrationTest.java │ │ │ ├── BlobPullerIntegrationTest.java │ │ │ ├── BlobPusherIntegrationTest.java │ │ │ ├── LocalRegistry.java │ │ │ ├── ManifestCheckerIntegrationTest.java │ │ │ ├── ManifestPullerIntegrationTest.java │ │ │ ├── ManifestPusherIntegrationTest.java │ │ │ └── credentials/ │ │ │ └── DockerCredentialHelperIntegrationTest.java │ │ └── resources/ │ │ ├── core/ │ │ │ └── hello │ │ └── credentials.json │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── google/ │ │ │ └── cloud/ │ │ │ └── tools/ │ │ │ └── jib/ │ │ │ ├── ProjectInfo.java │ │ │ ├── api/ │ │ │ │ ├── CacheDirectoryCreationException.java │ │ │ │ ├── Containerizer.java │ │ │ │ ├── Credential.java │ │ │ │ ├── CredentialRetriever.java │ │ │ │ ├── DescriptorDigest.java │ │ │ │ ├── DockerClient.java │ │ │ │ ├── DockerDaemonImage.java │ │ │ │ ├── DockerInfoDetails.java │ │ │ │ ├── ImageDetails.java │ │ │ │ ├── ImageReference.java │ │ │ │ ├── InsecureRegistryException.java │ │ │ │ ├── InvalidImageReferenceException.java │ │ │ │ ├── JavaContainerBuilder.java │ │ │ │ ├── Jib.java │ │ │ │ ├── JibContainer.java │ │ │ │ ├── JibContainerBuilder.java │ │ │ │ ├── JibContainerDescription.java │ │ │ │ ├── JibEvent.java │ │ │ │ ├── LayerConfiguration.java │ │ │ │ ├── LayerEntry.java │ │ │ │ ├── LogEvent.java │ │ │ │ ├── MainClassFinder.java │ │ │ │ ├── Ports.java │ │ │ │ ├── RegistryAuthenticationFailedException.java │ │ │ │ ├── RegistryException.java │ │ │ │ ├── RegistryImage.java │ │ │ │ ├── RegistryUnauthorizedException.java │ │ │ │ └── TarImage.java │ │ │ ├── blob/ │ │ │ │ ├── Blob.java │ │ │ │ ├── BlobDescriptor.java │ │ │ │ ├── Blobs.java │ │ │ │ ├── FileBlob.java │ │ │ │ ├── InputStreamBlob.java │ │ │ │ ├── JsonBlob.java │ │ │ │ ├── StringBlob.java │ │ │ │ └── WritableContentsBlob.java │ │ │ ├── builder/ │ │ │ │ ├── ProgressEventDispatcher.java │ │ │ │ ├── Timer.java │ │ │ │ ├── TimerEventDispatcher.java │ │ │ │ └── steps/ │ │ │ │ ├── AuthenticatePushStep.java │ │ │ │ ├── BuildAndCacheApplicationLayerStep.java │ │ │ │ ├── BuildImageStep.java │ │ │ │ ├── BuildManifestListOrSingleManifestStep.java │ │ │ │ ├── BuildResult.java │ │ │ │ ├── CheckManifestStep.java │ │ │ │ ├── LoadDockerStep.java │ │ │ │ ├── LocalBaseImageSteps.java │ │ │ │ ├── ObtainBaseImageLayerStep.java │ │ │ │ ├── PlatformChecker.java │ │ │ │ ├── PreparedLayer.java │ │ │ │ ├── PullBaseImageStep.java │ │ │ │ ├── PushBlobStep.java │ │ │ │ ├── PushContainerConfigurationStep.java │ │ │ │ ├── PushImageStep.java │ │ │ │ ├── PushLayerStep.java │ │ │ │ ├── RegistryCredentialRetriever.java │ │ │ │ ├── StepsRunner.java │ │ │ │ ├── ThrottledProgressEventDispatcherWrapper.java │ │ │ │ └── WriteTarFileStep.java │ │ │ ├── cache/ │ │ │ │ ├── Cache.java │ │ │ │ ├── CacheCorruptedException.java │ │ │ │ ├── CacheStorageFiles.java │ │ │ │ ├── CacheStorageReader.java │ │ │ │ ├── CacheStorageWriter.java │ │ │ │ ├── CachedLayer.java │ │ │ │ ├── LayerEntriesSelector.java │ │ │ │ └── Retry.java │ │ │ ├── configuration/ │ │ │ │ ├── BuildContext.java │ │ │ │ ├── ContainerConfiguration.java │ │ │ │ ├── DockerHealthCheck.java │ │ │ │ └── ImageConfiguration.java │ │ │ ├── docker/ │ │ │ │ ├── CliDockerClient.java │ │ │ │ ├── DockerClientResolver.java │ │ │ │ └── json/ │ │ │ │ └── DockerManifestEntryTemplate.java │ │ │ ├── event/ │ │ │ │ ├── EventHandlers.java │ │ │ │ ├── Handler.java │ │ │ │ ├── events/ │ │ │ │ │ ├── ProgressEvent.java │ │ │ │ │ └── TimerEvent.java │ │ │ │ └── progress/ │ │ │ │ ├── Allocation.java │ │ │ │ ├── AllocationCompletionTracker.java │ │ │ │ ├── ProgressEventHandler.java │ │ │ │ └── ThrottledAccumulatingConsumer.java │ │ │ ├── filesystem/ │ │ │ │ ├── DirectoryWalker.java │ │ │ │ ├── FileOperations.java │ │ │ │ ├── LockFile.java │ │ │ │ ├── PathConsumer.java │ │ │ │ ├── TempDirectoryProvider.java │ │ │ │ └── XdgDirectories.java │ │ │ ├── frontend/ │ │ │ │ └── CredentialRetrieverFactory.java │ │ │ ├── global/ │ │ │ │ └── JibSystemProperties.java │ │ │ ├── hash/ │ │ │ │ ├── CountingDigestOutputStream.java │ │ │ │ ├── Digests.java │ │ │ │ └── WritableContents.java │ │ │ ├── http/ │ │ │ │ ├── Authorization.java │ │ │ │ ├── BlobHttpContent.java │ │ │ │ ├── FailoverHttpClient.java │ │ │ │ ├── NotifyingOutputStream.java │ │ │ │ ├── Request.java │ │ │ │ ├── Response.java │ │ │ │ └── ResponseException.java │ │ │ ├── image/ │ │ │ │ ├── DigestOnlyLayer.java │ │ │ │ ├── Image.java │ │ │ │ ├── ImageTarball.java │ │ │ │ ├── Layer.java │ │ │ │ ├── LayerCountMismatchException.java │ │ │ │ ├── LayerPropertyNotFoundException.java │ │ │ │ ├── ReferenceLayer.java │ │ │ │ ├── ReferenceNoDiffIdLayer.java │ │ │ │ ├── ReproducibleLayerBuilder.java │ │ │ │ └── json/ │ │ │ │ ├── BadContainerConfigurationFormatException.java │ │ │ │ ├── BuildableManifestTemplate.java │ │ │ │ ├── ContainerConfigurationTemplate.java │ │ │ │ ├── DescriptorDigestDeserializer.java │ │ │ │ ├── DescriptorDigestSerializer.java │ │ │ │ ├── HistoryEntry.java │ │ │ │ ├── ImageMetadataTemplate.java │ │ │ │ ├── ImageToJsonTranslator.java │ │ │ │ ├── JsonToImageTranslator.java │ │ │ │ ├── ManifestAndConfigTemplate.java │ │ │ │ ├── ManifestListGenerator.java │ │ │ │ ├── ManifestListTemplate.java │ │ │ │ ├── ManifestTemplate.java │ │ │ │ ├── OciIndexTemplate.java │ │ │ │ ├── OciManifestTemplate.java │ │ │ │ ├── PlatformNotFoundInBaseImageException.java │ │ │ │ ├── UnknownManifestFormatException.java │ │ │ │ ├── UnlistedPlatformInManifestListException.java │ │ │ │ ├── V21ManifestTemplate.java │ │ │ │ ├── V22ManifestListTemplate.java │ │ │ │ └── V22ManifestTemplate.java │ │ │ ├── json/ │ │ │ │ ├── JsonTemplate.java │ │ │ │ └── JsonTemplateMapper.java │ │ │ ├── registry/ │ │ │ │ ├── AbstractManifestPuller.java │ │ │ │ ├── AuthenticationMethodRetriever.java │ │ │ │ ├── BlobChecker.java │ │ │ │ ├── BlobPuller.java │ │ │ │ ├── BlobPusher.java │ │ │ │ ├── ErrorCodes.java │ │ │ │ ├── ErrorResponseUtil.java │ │ │ │ ├── ManifestAndDigest.java │ │ │ │ ├── ManifestChecker.java │ │ │ │ ├── ManifestPuller.java │ │ │ │ ├── ManifestPusher.java │ │ │ │ ├── RegistryAliasGroup.java │ │ │ │ ├── RegistryAuthenticator.java │ │ │ │ ├── RegistryClient.java │ │ │ │ ├── RegistryCredentialsNotSentException.java │ │ │ │ ├── RegistryEndpointCaller.java │ │ │ │ ├── RegistryEndpointProvider.java │ │ │ │ ├── RegistryEndpointRequestProperties.java │ │ │ │ ├── RegistryErrorException.java │ │ │ │ ├── RegistryErrorExceptionBuilder.java │ │ │ │ ├── UnexpectedBlobDigestException.java │ │ │ │ ├── credentials/ │ │ │ │ │ ├── CredentialHelperNotFoundException.java │ │ │ │ │ ├── CredentialHelperUnhandledServerUrlException.java │ │ │ │ │ ├── CredentialRetrievalException.java │ │ │ │ │ ├── DockerConfig.java │ │ │ │ │ ├── DockerConfigCredentialRetriever.java │ │ │ │ │ ├── DockerCredentialHelper.java │ │ │ │ │ └── json/ │ │ │ │ │ └── DockerConfigTemplate.java │ │ │ │ └── json/ │ │ │ │ ├── ErrorEntryTemplate.java │ │ │ │ └── ErrorResponseTemplate.java │ │ │ └── tar/ │ │ │ ├── TarExtractor.java │ │ │ └── TarStreamBuilder.java │ │ └── resources/ │ │ └── commons-logging.properties │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ ├── MultithreadedExecutor.java │ │ ├── api/ │ │ │ ├── ContainerizerTest.java │ │ │ ├── CredentialTest.java │ │ │ ├── DescriptorDigestTest.java │ │ │ ├── DockerClientResolverTest.java │ │ │ ├── DockerDaemonImageTest.java │ │ │ ├── ImageReferenceTest.java │ │ │ ├── JavaContainerBuilderTest.java │ │ │ ├── JibContainerBuilderTest.java │ │ │ ├── JibContainerTest.java │ │ │ ├── MainClassFinderTest.java │ │ │ ├── PortsTest.java │ │ │ ├── RegistryImageTest.java │ │ │ └── TarImageTest.java │ │ ├── blob/ │ │ │ └── BlobTest.java │ │ ├── builder/ │ │ │ ├── ProgressEventDispatcherTest.java │ │ │ ├── TimerEventDispatcherTest.java │ │ │ ├── TimerTest.java │ │ │ └── steps/ │ │ │ ├── BuildAndCacheApplicationLayerStepTest.java │ │ │ ├── BuildImageStepTest.java │ │ │ ├── BuildManifestListOrSingleManifestStepTest.java │ │ │ ├── BuildResultTest.java │ │ │ ├── LocalBaseImageStepsTest.java │ │ │ ├── ObtainBaseImageLayerStepTest.java │ │ │ ├── PlatformCheckerTest.java │ │ │ ├── PullBaseImageStepTest.java │ │ │ ├── PushBlobStepTest.java │ │ │ ├── PushImageStepTest.java │ │ │ ├── RegistryCredentialRetrieverTest.java │ │ │ └── StepsRunnerTest.java │ │ ├── cache/ │ │ │ ├── CacheStorageFilesTest.java │ │ │ ├── CacheStorageReaderTest.java │ │ │ ├── CacheStorageWriterTest.java │ │ │ ├── CacheTest.java │ │ │ ├── CachedLayerTest.java │ │ │ ├── LayerEntriesSelectorTest.java │ │ │ └── RetryTest.java │ │ ├── configuration/ │ │ │ ├── BuildContextTest.java │ │ │ ├── ContainerConfigurationTest.java │ │ │ └── DockerHealthCheckTest.java │ │ ├── docker/ │ │ │ ├── AnotherDockerClient.java │ │ │ ├── CliDockerClientTest.java │ │ │ └── json/ │ │ │ └── DockerManifestEntryTemplateTest.java │ │ ├── event/ │ │ │ ├── EventHandlersTest.java │ │ │ ├── events/ │ │ │ │ ├── LogEventTest.java │ │ │ │ └── ProgressEventTest.java │ │ │ └── progress/ │ │ │ ├── AllocationCompletionTrackerTest.java │ │ │ ├── AllocationTest.java │ │ │ └── ProgressEventHandlerTest.java │ │ ├── filesystem/ │ │ │ ├── DirectoryWalkerTest.java │ │ │ ├── FileOperationsTest.java │ │ │ ├── LockFileTest.java │ │ │ ├── TempDirectoryProviderTest.java │ │ │ └── XdgDirectoriesTest.java │ │ ├── frontend/ │ │ │ └── CredentialRetrieverFactoryTest.java │ │ ├── global/ │ │ │ └── JibSystemPropertiesTest.java │ │ ├── hash/ │ │ │ └── CountingDigestOutputStreamTest.java │ │ ├── http/ │ │ │ ├── FailoverHttpClientTest.java │ │ │ ├── NotifyingOutputStreamTest.java │ │ │ ├── RequestTest.java │ │ │ ├── RequestWrapper.java │ │ │ ├── ResponseTest.java │ │ │ ├── TestWebServer.java │ │ │ └── WithServerFailoverHttpClientTest.java │ │ ├── image/ │ │ │ ├── ImageTarballTest.java │ │ │ ├── ImageTest.java │ │ │ ├── LayerTest.java │ │ │ ├── ReproducibleLayerBuilderTest.java │ │ │ └── json/ │ │ │ ├── ContainerConfigurationTemplateTest.java │ │ │ ├── ImageToJsonTranslatorTest.java │ │ │ ├── JsonToImageTranslatorTest.java │ │ │ ├── ManifestListGeneratorTest.java │ │ │ ├── OciIndexTemplateTest.java │ │ │ ├── OciManifestTemplateTest.java │ │ │ ├── V21ManifestTemplateTest.java │ │ │ ├── V22ManifestListTemplateTest.java │ │ │ └── V22ManifestTemplateTest.java │ │ ├── json/ │ │ │ └── JsonTemplateMapperTest.java │ │ ├── registry/ │ │ │ ├── AuthenticationMethodRetrieverTest.java │ │ │ ├── BlobCheckerTest.java │ │ │ ├── BlobPullerTest.java │ │ │ ├── BlobPusherTest.java │ │ │ ├── DockerRegistryBearerTokenTest.java │ │ │ ├── ErrorResponseUtilTest.java │ │ │ ├── ManifestPullerTest.java │ │ │ ├── ManifestPusherTest.java │ │ │ ├── PlainHttpClient.java │ │ │ ├── RegistryAliasGroupTest.java │ │ │ ├── RegistryAuthenticationFailedExceptionTest.java │ │ │ ├── RegistryAuthenticatorTest.java │ │ │ ├── RegistryClientTest.java │ │ │ ├── RegistryEndpointCallerTest.java │ │ │ ├── RegistryErrorExceptionBuilderTest.java │ │ │ └── credentials/ │ │ │ ├── DockerConfigCredentialRetrieverTest.java │ │ │ ├── DockerConfigTest.java │ │ │ └── DockerCredentialHelperTest.java │ │ └── tar/ │ │ ├── TarExtractorTest.java │ │ └── TarStreamBuilderTest.java │ └── resources/ │ ├── META-INF/ │ │ └── services/ │ │ └── com.google.cloud.tools.jib.api.DockerClient │ ├── core/ │ │ ├── TestWebServer-keystore │ │ ├── application/ │ │ │ ├── dependencies/ │ │ │ │ ├── dependency-1.0.0.jar │ │ │ │ ├── libraryA.jar │ │ │ │ ├── libraryB.jar │ │ │ │ └── more/ │ │ │ │ └── dependency-1.0.0.jar │ │ │ ├── resources/ │ │ │ │ ├── resourceA │ │ │ │ ├── resourceB │ │ │ │ └── world │ │ │ └── snapshot-dependencies/ │ │ │ └── dependency-1.0.0-SNAPSHOT.jar │ │ ├── blobA │ │ ├── class-finder-tests/ │ │ │ └── simple/ │ │ │ └── NotEvenAClass.txt │ │ ├── directoryA/ │ │ │ └── .gitkeep │ │ ├── docker/ │ │ │ └── emptyFile │ │ ├── extraction/ │ │ │ └── test-cache/ │ │ │ └── local/ │ │ │ ├── 5e701122d3347fae0758cd5b7f0692c686fcd07b0e7fd9c4a125fbdbbedc04dd/ │ │ │ │ └── 0011328ac5dfe3dde40c7c5e0e00c98d1833a3aeae2bfb668cf9eb965c229c7f │ │ │ ├── config/ │ │ │ │ └── 066872f17ae819f846a6d5abcfc3165abe13fb0a157640fa8cb7af81077670c0 │ │ │ └── f1ac3015bcbf0ada4750d728626eb10f0f585199e2b667dcd79e49f0e926178e/ │ │ │ └── c10ef24a5cef5092bbcb5a5666721cff7b86ce978c203a958d1fc86ee6c19f94 │ │ ├── fileA │ │ ├── fileB │ │ ├── json/ │ │ │ ├── basic.json │ │ │ ├── basic_list.json │ │ │ ├── containerconfig.json │ │ │ ├── dockerconfig.json │ │ │ ├── dockerconfig_extra_matches.json │ │ │ ├── dockerconfig_identity_token.json │ │ │ ├── dockerconfig_index_docker_io_v1.json │ │ │ ├── legacy_dockercfg │ │ │ ├── loadmanifest.json │ │ │ ├── loadmanifest2.json │ │ │ ├── metadata-v2.json │ │ │ ├── metadata-v3.json │ │ │ ├── metadata.json │ │ │ ├── metadata_corrupted.json │ │ │ ├── metadata_windows-v2.json │ │ │ ├── metadata_windows.json │ │ │ ├── ociindex.json │ │ │ ├── ociindex_platforms.json │ │ │ ├── ocimanifest.json │ │ │ ├── translated_ocimanifest.json │ │ │ ├── translated_v22manifest.json │ │ │ ├── v21manifest.json │ │ │ ├── v22manifest.json │ │ │ ├── v22manifest_list.json │ │ │ └── v22manifest_optional_properties.json │ │ ├── layer/ │ │ │ ├── a/ │ │ │ │ └── b/ │ │ │ │ └── bar │ │ │ ├── c/ │ │ │ │ └── cat │ │ │ └── foo │ │ ├── random-contents/ │ │ │ ├── file1 │ │ │ ├── file2 │ │ │ └── sub-directory/ │ │ │ ├── file3 │ │ │ ├── file4 │ │ │ └── leaf/ │ │ │ ├── file5 │ │ │ └── file6 │ │ └── webAppSampleDockerfile │ └── mockito-extensions/ │ └── org.mockito.plugins.MockMaker ├── jib-gradle-plugin/ │ ├── CHANGELOG.md │ ├── README.md │ ├── build.gradle │ ├── gradle.properties │ ├── scripts/ │ │ ├── release.sh │ │ └── update_gcs_latest.sh │ └── src/ │ ├── integration-test/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── google/ │ │ │ └── cloud/ │ │ │ └── tools/ │ │ │ └── jib/ │ │ │ └── gradle/ │ │ │ ├── DefaultTargetProjectIntegrationTest.java │ │ │ ├── EmptyProjectIntegrationTest.java │ │ │ ├── GradleLayerConfigurationIntegrationTest.java │ │ │ ├── JibRunHelper.java │ │ │ ├── SingleProjectIntegrationTest.java │ │ │ ├── SpringBootProjectIntegrationTest.java │ │ │ └── WarProjectIntegrationTest.java │ │ └── resources/ │ │ └── gradle/ │ │ └── projects/ │ │ ├── default-target/ │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── libs/ │ │ │ │ └── dependency-1.0.0.jar │ │ │ ├── settings.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── HelloWorld.java │ │ │ └── resources/ │ │ │ └── world │ │ ├── empty/ │ │ │ ├── build-broken-user.gradle │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── test/ │ │ │ └── Empty.java │ │ ├── multiproject/ │ │ │ ├── a_packaged/ │ │ │ │ ├── build.gradle │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── Empty.java │ │ │ ├── b_dependency/ │ │ │ │ ├── build.gradle │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── Empty.java │ │ │ ├── build.gradle │ │ │ └── settings.gradle │ │ ├── simple/ │ │ │ ├── build-configuration.gradle │ │ │ ├── build-cred-helper.gradle │ │ │ ├── build-dockerclient.gradle │ │ │ ├── build-extra-dirs-filtering.gradle │ │ │ ├── build-extra-dirs.gradle │ │ │ ├── build-extra-dirs2.gradle │ │ │ ├── build-extra-dirs3.gradle │ │ │ ├── build-jar-containerization.gradle │ │ │ ├── build-java11-incompatible.gradle │ │ │ ├── build-java11.gradle │ │ │ ├── build-java17.gradle │ │ │ ├── build-local-base.gradle │ │ │ ├── build-multi-platform.gradle │ │ │ ├── build-timestamps-custom.gradle │ │ │ ├── build.gradle │ │ │ ├── complex-build.gradle │ │ │ ├── libs/ │ │ │ │ ├── dependency-1.0.0.jar │ │ │ │ ├── dependency2 │ │ │ │ └── dependency3 │ │ │ ├── mock-docker.sh │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── custom-extra-dir/ │ │ │ │ ├── bar/ │ │ │ │ │ └── cat │ │ │ │ └── foo │ │ │ ├── custom-extra-dir2/ │ │ │ │ └── baz │ │ │ ├── custom-extra-dir3/ │ │ │ │ ├── cat.json │ │ │ │ ├── cat.txt │ │ │ │ └── sub/ │ │ │ │ ├── a.json │ │ │ │ └── a.txt │ │ │ ├── custom-extra-dir4/ │ │ │ │ ├── bar │ │ │ │ └── foo │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── HelloWorld.java │ │ │ └── resources/ │ │ │ └── world │ │ ├── spring-boot/ │ │ │ ├── build.gradle │ │ │ ├── settings.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── hello/ │ │ │ ├── Application.java │ │ │ └── HelloController.java │ │ └── war_servlet25/ │ │ ├── build-tomcat.gradle │ │ ├── build.gradle │ │ └── src/ │ │ ├── extra_js/ │ │ │ └── bogus.js │ │ ├── extra_static/ │ │ │ └── bogus.html │ │ └── main/ │ │ ├── java/ │ │ │ └── example/ │ │ │ └── HelloWorld.java │ │ ├── resources/ │ │ │ └── world │ │ └── webapp/ │ │ ├── META-INF/ │ │ │ └── MANIFEST.MF │ │ ├── WEB-INF/ │ │ │ └── web.xml │ │ └── index.html │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── gradle/ │ │ ├── AuthParameters.java │ │ ├── BaseImageParameters.java │ │ ├── BuildDockerTask.java │ │ ├── BuildImageTask.java │ │ ├── BuildTarTask.java │ │ ├── ContainerParameters.java │ │ ├── CredHelperParameters.java │ │ ├── DockerClientParameters.java │ │ ├── ExtensionParameters.java │ │ ├── ExtensionParametersSpec.java │ │ ├── ExtraDirectoriesParameters.java │ │ ├── ExtraDirectoryParameters.java │ │ ├── ExtraDirectoryParametersSpec.java │ │ ├── GradleHelpfulSuggestions.java │ │ ├── GradleProjectProperties.java │ │ ├── GradleRawConfiguration.java │ │ ├── JibExtension.java │ │ ├── JibPlugin.java │ │ ├── JibTask.java │ │ ├── OutputPathsParameters.java │ │ ├── PlatformParameters.java │ │ ├── PlatformParametersSpec.java │ │ ├── TargetImageParameters.java │ │ ├── TaskCommon.java │ │ └── skaffold/ │ │ ├── CheckJibVersionTask.java │ │ ├── FilesTaskV2.java │ │ ├── InitTask.java │ │ ├── SkaffoldParameters.java │ │ ├── SkaffoldSyncParameters.java │ │ ├── SkaffoldWatchParameters.java │ │ └── SyncMapTask.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── gradle/ │ │ ├── GradleProjectPropertiesExtensionTest.java │ │ ├── GradleProjectPropertiesTest.java │ │ ├── GradleRawConfigurationTest.java │ │ ├── JibExtensionTest.java │ │ ├── JibPluginTest.java │ │ ├── TaskCommonTest.java │ │ ├── TestProject.java │ │ └── skaffold/ │ │ ├── FilesTaskV2Test.java │ │ ├── InitTaskTest.java │ │ └── SyncMapTaskTest.java │ └── resources/ │ └── gradle/ │ ├── application/ │ │ ├── build/ │ │ │ └── resources/ │ │ │ └── main/ │ │ │ ├── resourceA │ │ │ ├── resourceB │ │ │ └── world │ │ ├── dependencies/ │ │ │ ├── another/ │ │ │ │ └── one/ │ │ │ │ └── dependency-1.0.0.jar │ │ │ ├── dependency-1.0.0.jar │ │ │ ├── dependencyX-1.0.0-SNAPSHOT.jar │ │ │ ├── library.jarC.jar │ │ │ ├── libraryA.jar │ │ │ ├── libraryB.jar │ │ │ └── more/ │ │ │ └── dependency-1.0.0.jar │ │ └── extra-directory/ │ │ └── foo │ ├── plugin-test/ │ │ └── build.gradle │ ├── projects/ │ │ ├── all-local-multi-service/ │ │ │ ├── build.gradle │ │ │ ├── complex-service/ │ │ │ │ ├── build.gradle │ │ │ │ ├── libs/ │ │ │ │ │ ├── dependency-1.0.0.jar │ │ │ │ │ └── dependencyX-1.0.0-SNAPSHOT.jar │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── extra-resources-1/ │ │ │ │ │ └── resource1.txt │ │ │ │ ├── extra-resources-2/ │ │ │ │ │ └── resource2.txt │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── test/ │ │ │ │ │ └── HelloWorld.java │ │ │ │ └── other-jib/ │ │ │ │ └── extra-file │ │ │ ├── gradle.properties │ │ │ ├── lib/ │ │ │ │ ├── build.gradle │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── lib/ │ │ │ │ │ └── Lib.java │ │ │ │ └── resources/ │ │ │ │ └── hi.txt │ │ │ ├── settings.gradle │ │ │ └── simple-service/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── test/ │ │ │ └── HelloWorld.java │ │ ├── lazy-evaluation/ │ │ │ ├── build-extra-dirs.gradle │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── HelloWorld.java │ │ │ └── updated-custom-extra-dir/ │ │ │ └── foo │ │ ├── multi-service/ │ │ │ ├── build.gradle │ │ │ ├── complex-service/ │ │ │ │ ├── build.gradle │ │ │ │ ├── local-m2-repo/ │ │ │ │ │ └── com/ │ │ │ │ │ └── google/ │ │ │ │ │ └── cloud/ │ │ │ │ │ └── tools/ │ │ │ │ │ └── tiny-test-lib/ │ │ │ │ │ ├── 0.0.1-SNAPSHOT/ │ │ │ │ │ │ ├── maven-metadata-local.xml │ │ │ │ │ │ ├── tiny-test-lib-0.0.1-SNAPSHOT.jar │ │ │ │ │ │ └── tiny-test-lib-0.0.1-SNAPSHOT.pom │ │ │ │ │ └── maven-metadata-local.xml │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── extra-resources-1/ │ │ │ │ │ └── resource1.txt │ │ │ │ ├── extra-resources-2/ │ │ │ │ │ └── resource2.txt │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── test/ │ │ │ │ │ └── HelloWorld.java │ │ │ │ └── other-jib/ │ │ │ │ └── extra-file │ │ │ ├── gradle.properties │ │ │ ├── lib/ │ │ │ │ ├── build.gradle │ │ │ │ └── src/ │ │ │ │ ├── main/ │ │ │ │ │ ├── java/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ └── Lib.java │ │ │ │ │ └── resources/ │ │ │ │ │ └── hi.txt │ │ │ │ └── test/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lib/ │ │ │ │ └── LibTest.java │ │ │ ├── settings.gradle │ │ │ └── simple-service/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── test/ │ │ │ └── HelloWorld.java │ │ ├── platform/ │ │ │ ├── build.gradle │ │ │ ├── platform/ │ │ │ │ └── build.gradle │ │ │ ├── service/ │ │ │ │ ├── build.gradle │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── HelloWorld.java │ │ │ └── settings.gradle │ │ ├── simple/ │ │ │ ├── build.gradle │ │ │ ├── libs/ │ │ │ │ └── dependency-1.0.0.jar │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── custom-extra-dir/ │ │ │ │ ├── bar/ │ │ │ │ │ └── cat │ │ │ │ └── foo │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── HelloWorld.java │ │ │ └── resources/ │ │ │ └── world │ │ ├── skaffold-config/ │ │ │ ├── build.gradle │ │ │ ├── libs/ │ │ │ │ └── dependency-1.0.0.jar │ │ │ ├── other/ │ │ │ │ └── file.txt │ │ │ ├── script.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ ├── test/ │ │ │ │ │ └── HelloWorld.java │ │ │ │ └── test2/ │ │ │ │ └── GoodbyeWorld.java │ │ │ ├── jib/ │ │ │ │ ├── bar/ │ │ │ │ │ └── cat │ │ │ │ └── foo │ │ │ └── resources/ │ │ │ └── world │ │ └── war_servlet25/ │ │ ├── build.gradle │ │ ├── pom-tomcat.xml │ │ ├── pom.xml │ │ └── src/ │ │ ├── extra_js/ │ │ │ └── bogus.js │ │ ├── extra_static/ │ │ │ └── bogus.html │ │ └── main/ │ │ ├── java/ │ │ │ └── example/ │ │ │ └── HelloWorld.java │ │ ├── resources/ │ │ │ └── world │ │ └── webapp/ │ │ ├── META-INF/ │ │ │ └── MANIFEST.MF │ │ ├── WEB-INF/ │ │ │ └── web.xml │ │ └── index.html │ └── webapp/ │ ├── META-INF/ │ │ └── context.xml │ ├── Test.jsp │ └── WEB-INF/ │ ├── classes/ │ │ └── package/ │ │ └── test.properties │ ├── lib/ │ │ ├── dependency-1.0.0.jar │ │ └── dependencyX-1.0.0-SNAPSHOT.jar │ └── web.xml ├── jib-gradle-plugin-extension-api/ │ ├── CHANGELOG.md │ ├── build.gradle │ ├── gradle.properties │ ├── kokoro/ │ │ └── release_build.sh │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── google/ │ └── cloud/ │ └── tools/ │ └── jib/ │ └── gradle/ │ └── extension/ │ ├── GradleData.java │ └── JibGradlePluginExtension.java ├── jib-maven-plugin/ │ ├── CHANGELOG.md │ ├── README.md │ ├── build.gradle │ ├── gradle.properties │ ├── kokoro/ │ │ └── release_build.sh │ ├── scripts/ │ │ └── update_gcs_latest.sh │ └── src/ │ ├── integration-test/ │ │ └── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── maven/ │ │ ├── BuildDockerMojoIntegrationTest.java │ │ ├── BuildImageMojoIntegrationTest.java │ │ └── BuildTarMojoIntegrationTest.java │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── maven/ │ │ ├── BuildDockerMojo.java │ │ ├── BuildImageMojo.java │ │ ├── BuildTarMojo.java │ │ ├── JibPluginConfiguration.java │ │ ├── MavenExtensionData.java │ │ ├── MavenHelpfulSuggestions.java │ │ ├── MavenProjectProperties.java │ │ ├── MavenRawConfiguration.java │ │ ├── MavenSettingsProxyProvider.java │ │ ├── MavenSettingsServerCredentials.java │ │ ├── MojoCommon.java │ │ └── skaffold/ │ │ ├── CheckJibVersionMojo.java │ │ ├── FilesMojoV2.java │ │ ├── InitMojo.java │ │ ├── PackageGoalsMojo.java │ │ ├── SkaffoldBindingMojo.java │ │ ├── SkaffoldConfiguration.java │ │ └── SyncMapMojo.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── maven/ │ │ ├── JibPluginConfigurationTest.java │ │ ├── MavenProjectPropertiesExtensionTest.java │ │ ├── MavenProjectPropertiesTest.java │ │ ├── MavenRawConfigurationTest.java │ │ ├── MavenSettingsProxyProviderTest.java │ │ ├── MavenSettingsServerCredentialsTest.java │ │ ├── MojoCommonTest.java │ │ ├── SettingsFixture.java │ │ ├── SkippedGoalVerifier.java │ │ ├── TestProject.java │ │ ├── TestRepository.java │ │ └── skaffold/ │ │ ├── CheckJibVersionMojoTest.java │ │ ├── FilesMojoV2KotlinTest.java │ │ ├── FilesMojoV2Test.java │ │ ├── InitMojoTest.java │ │ ├── PackageGoalsMojoTest.java │ │ └── SyncMapMojoTest.java │ └── resources/ │ ├── maven/ │ │ ├── application/ │ │ │ ├── dependencies/ │ │ │ │ ├── another/ │ │ │ │ │ └── one/ │ │ │ │ │ └── dependency-1.0.0.jar │ │ │ │ ├── dependency-1.0.0.jar │ │ │ │ ├── dependencyX-1.0.0-SNAPSHOT.jar │ │ │ │ ├── library.jarC.jar │ │ │ │ ├── libraryA.jar │ │ │ │ ├── libraryB.jar │ │ │ │ └── more/ │ │ │ │ └── dependency-1.0.0.jar │ │ │ ├── output/ │ │ │ │ ├── directory/ │ │ │ │ │ └── somefile │ │ │ │ ├── resourceA │ │ │ │ ├── resourceB │ │ │ │ └── world │ │ │ └── source/ │ │ │ ├── HelloWorld.java │ │ │ ├── package/ │ │ │ │ └── some.java │ │ │ └── some.java │ │ ├── projects/ │ │ │ ├── default-target/ │ │ │ │ ├── libs/ │ │ │ │ │ └── dependency-1.0.0.jar │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── test/ │ │ │ │ │ └── HelloWorld.java │ │ │ │ └── resources/ │ │ │ │ └── world │ │ │ ├── empty/ │ │ │ │ ├── pom-broken-user.xml │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── Empty.java │ │ │ ├── multi/ │ │ │ │ ├── complex-service/ │ │ │ │ │ ├── fake-remote-repo/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── google/ │ │ │ │ │ │ └── cloud/ │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ └── tiny-test-lib/ │ │ │ │ │ │ ├── 0.0.1-SNAPSHOT/ │ │ │ │ │ │ │ ├── maven-metadata-local.xml │ │ │ │ │ │ │ ├── tiny-test-lib-0.0.1-SNAPSHOT.jar │ │ │ │ │ │ │ └── tiny-test-lib-0.0.1-SNAPSHOT.pom │ │ │ │ │ │ └── maven-metadata-local.xml │ │ │ │ │ ├── pom.xml │ │ │ │ │ └── src/ │ │ │ │ │ └── main/ │ │ │ │ │ ├── extra-resources-1/ │ │ │ │ │ │ └── resource1.txt │ │ │ │ │ ├── extra-resources-2/ │ │ │ │ │ │ └── resource2.txt │ │ │ │ │ ├── java/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── test/ │ │ │ │ │ │ └── HelloWorld.java │ │ │ │ │ ├── jib1/ │ │ │ │ │ │ └── foo │ │ │ │ │ └── jib2/ │ │ │ │ │ └── bar │ │ │ │ ├── lib/ │ │ │ │ │ ├── pom.xml │ │ │ │ │ └── src/ │ │ │ │ │ ├── main/ │ │ │ │ │ │ └── java/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ └── Lib.java │ │ │ │ │ └── test/ │ │ │ │ │ └── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── lib/ │ │ │ │ │ └── LibTest.java │ │ │ │ ├── pom.xml │ │ │ │ └── simple-service/ │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── HelloWorld.java │ │ │ ├── simple/ │ │ │ │ ├── libs/ │ │ │ │ │ └── dependency-1.0.0.jar │ │ │ │ ├── mock-docker.sh │ │ │ │ ├── pom-complex-properties.xml │ │ │ │ ├── pom-complex.xml │ │ │ │ ├── pom-cred-helper-1.xml │ │ │ │ ├── pom-cred-helper-2.xml │ │ │ │ ├── pom-dockerclient.xml │ │ │ │ ├── pom-extra-dirs-filtering.xml │ │ │ │ ├── pom-extra-dirs.xml │ │ │ │ ├── pom-jar-containerization.xml │ │ │ │ ├── pom-java11-incompatible.xml │ │ │ │ ├── pom-java11.xml │ │ │ │ ├── pom-localbase.xml │ │ │ │ ├── pom-multiplatform-build.xml │ │ │ │ ├── pom-no-to-image.xml │ │ │ │ ├── pom-skaffold-config.xml │ │ │ │ ├── pom-timestamps-custom.xml │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── test/ │ │ │ │ │ └── HelloWorld.java │ │ │ │ ├── jib-custom/ │ │ │ │ │ ├── bar/ │ │ │ │ │ │ └── cat │ │ │ │ │ └── foo │ │ │ │ ├── jib-custom-2/ │ │ │ │ │ └── baz │ │ │ │ ├── jib-custom-3/ │ │ │ │ │ ├── cat.json │ │ │ │ │ ├── cat.txt │ │ │ │ │ └── sub/ │ │ │ │ │ ├── a.json │ │ │ │ │ └── a.txt │ │ │ │ ├── jib-custom-4/ │ │ │ │ │ ├── bar │ │ │ │ │ └── foo │ │ │ │ └── resources/ │ │ │ │ └── world │ │ │ ├── spring-boot/ │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── hello/ │ │ │ │ ├── Application.java │ │ │ │ └── HelloController.java │ │ │ ├── spring-boot-multi/ │ │ │ │ ├── pom.xml │ │ │ │ ├── service-1/ │ │ │ │ │ ├── pom.xml │ │ │ │ │ └── src/ │ │ │ │ │ └── main/ │ │ │ │ │ └── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── test/ │ │ │ │ │ └── HelloWorld.java │ │ │ │ └── service-2/ │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── test/ │ │ │ │ └── HelloWorld.java │ │ │ └── war_servlet25/ │ │ │ ├── pom-tomcat.xml │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── extra_js/ │ │ │ │ └── bogus.js │ │ │ ├── extra_static/ │ │ │ │ └── bogus.html │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── example/ │ │ │ │ └── HelloWorld.java │ │ │ ├── resources/ │ │ │ │ └── world │ │ │ └── webapp/ │ │ │ ├── META-INF/ │ │ │ │ └── MANIFEST.MF │ │ │ ├── WEB-INF/ │ │ │ │ └── web.xml │ │ │ └── index.html │ │ ├── settings/ │ │ │ ├── bad-encrypted-proxy-settings.xml │ │ │ ├── encrypted-proxy-settings.xml │ │ │ ├── http-only-proxy-settings.xml │ │ │ ├── https-only-proxy-settings.xml │ │ │ ├── no-active-proxy-settings.xml │ │ │ ├── readme │ │ │ ├── settings-security.empty.xml │ │ │ ├── settings-security.xml │ │ │ └── settings.xml │ │ ├── testM2/ │ │ │ └── com/ │ │ │ └── test/ │ │ │ ├── dependency/ │ │ │ │ ├── 1.0.0/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── dependency-1.0.0.jar │ │ │ │ │ └── dependency-1.0.0.pom │ │ │ │ └── maven-metadata-local.xml │ │ │ └── dependencyX/ │ │ │ ├── 1.0.0-SNAPSHOT/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── dependencyX-1.0.0-SNAPSHOT.jar │ │ │ │ ├── dependencyX-1.0.0-SNAPSHOT.pom │ │ │ │ └── maven-metadata-local.xml │ │ │ └── maven-metadata-local.xml │ │ └── webapp/ │ │ └── final-name/ │ │ ├── META-INF/ │ │ │ └── context.xml │ │ ├── Test.jsp │ │ └── WEB-INF/ │ │ ├── classes/ │ │ │ └── package/ │ │ │ └── test.properties │ │ ├── lib/ │ │ │ ├── dependency-1.0.0.jar │ │ │ └── dependencyX-1.0.0-SNAPSHOT.jar │ │ └── web.xml │ └── mockito-extensions/ │ └── org.mockito.plugins.MockMaker ├── jib-maven-plugin-extension-api/ │ ├── CHANGELOG.md │ ├── build.gradle │ ├── gradle.properties │ ├── kokoro/ │ │ └── release_build.sh │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── google/ │ └── cloud/ │ └── tools/ │ └── jib/ │ └── maven/ │ └── extension/ │ ├── JibMavenPluginExtension.java │ └── MavenData.java ├── jib-plugins-common/ │ ├── README.md │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ └── plugins/ │ │ └── common/ │ │ ├── AuthProperty.java │ │ ├── BuildStepsExecutionException.java │ │ ├── ConfigurationPropertyValidator.java │ │ ├── ContainerizingMode.java │ │ ├── DefaultCredentialRetrievers.java │ │ ├── ExtraDirectoryNotFoundException.java │ │ ├── HelpfulSuggestions.java │ │ ├── ImageMetadataOutput.java │ │ ├── IncompatibleBaseImageJavaVersionException.java │ │ ├── InferredAuthException.java │ │ ├── InferredAuthProvider.java │ │ ├── InvalidAppRootException.java │ │ ├── InvalidContainerVolumeException.java │ │ ├── InvalidContainerizingModeException.java │ │ ├── InvalidCreationTimeException.java │ │ ├── InvalidFilesModificationTimeException.java │ │ ├── InvalidPlatformException.java │ │ ├── InvalidWorkingDirectoryException.java │ │ ├── JavaContainerBuilderHelper.java │ │ ├── JibBuildRunner.java │ │ ├── MainClassInferenceException.java │ │ ├── MainClassResolver.java │ │ ├── PluginConfigurationProcessor.java │ │ ├── PluginExtensionLogger.java │ │ ├── ProjectProperties.java │ │ ├── PropertyNames.java │ │ ├── RawConfiguration.java │ │ ├── SkaffoldFilesOutput.java │ │ ├── SkaffoldInitOutput.java │ │ ├── SkaffoldSyncMapTemplate.java │ │ ├── TimerEventHandler.java │ │ ├── UpdateChecker.java │ │ ├── VersionChecker.java │ │ ├── ZipUtil.java │ │ ├── globalconfig/ │ │ │ ├── GlobalConfig.java │ │ │ ├── GlobalConfigTemplate.java │ │ │ ├── InvalidGlobalConfigException.java │ │ │ └── RegistryMirrorsTemplate.java │ │ └── logging/ │ │ ├── AnsiLoggerWithFooter.java │ │ ├── ConsoleLogger.java │ │ ├── ConsoleLoggerBuilder.java │ │ ├── PlainConsoleLogger.java │ │ ├── ProgressDisplayGenerator.java │ │ └── SingleThreadedExecutor.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── google/ │ │ └── cloud/ │ │ └── tools/ │ │ └── jib/ │ │ ├── api/ │ │ │ ├── HttpRequestTester.java │ │ │ └── JibContainerBuilderTestHelper.java │ │ └── plugins/ │ │ └── common/ │ │ ├── ConfigurationPropertyValidatorTest.java │ │ ├── ContainerizingModeTest.java │ │ ├── DefaultCredentialRetrieversTest.java │ │ ├── HelpfulSuggestionsTest.java │ │ ├── ImageMetadataOutputTest.java │ │ ├── JavaContainerBuilderHelperTest.java │ │ ├── JibBuildRunnerTest.java │ │ ├── MainClassResolverTest.java │ │ ├── PluginConfigurationProcessorTest.java │ │ ├── SkaffoldFilesOutputTest.java │ │ ├── SkaffoldSyncMapTemplateTest.java │ │ ├── TimerEventHandlerTest.java │ │ ├── UpdateCheckerTest.java │ │ ├── VersionCheckerTest.java │ │ ├── ZipUtilTest.java │ │ ├── globalconfig/ │ │ │ └── GlobalConfigTest.java │ │ └── logging/ │ │ ├── AnsiLoggerWithFooterTest.java │ │ ├── ConsoleLoggerBuilderTest.java │ │ ├── PlainConsoleLoggerTest.java │ │ ├── ProgressDisplayGeneratorTest.java │ │ └── SingleThreadedExecutorTest.java │ └── resources/ │ └── plugins-common/ │ └── exploded-war/ │ ├── META-INF/ │ │ └── context.xml │ ├── Test.jsp │ └── WEB-INF/ │ ├── classes/ │ │ └── package/ │ │ └── test.properties │ ├── lib/ │ │ ├── dependency-1.0.0.jar │ │ └── dependencyX-1.0.0-SNAPSHOT.jar │ └── web.xml ├── jib-plugins-extension-common/ │ ├── build.gradle │ ├── gradle.properties │ ├── kokoro/ │ │ └── release_build.sh │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── google/ │ └── cloud/ │ └── tools/ │ └── jib/ │ └── plugins/ │ └── extension/ │ ├── ExtensionLogger.java │ ├── JibPluginExtension.java │ ├── JibPluginExtensionException.java │ └── NullExtension.java ├── kokoro/ │ ├── continuous.bat │ ├── continuous.sh │ ├── docker_setup_macos.sh │ ├── docker_setup_ubuntu.sh │ ├── presubmit.bat │ └── presubmit.sh ├── proposals/ │ ├── README.md │ ├── archives/ │ │ ├── README.md │ │ ├── build_tarball.md │ │ ├── cache_v2.md │ │ ├── docker_build.md │ │ ├── events.md │ │ ├── java_agents_and_more_layers.md │ │ ├── jib_core_library.md │ │ ├── log_output_v2.md │ │ ├── maven_configuration_v2.md │ │ ├── output_files.md │ │ ├── progress_output.md │ │ ├── reproducible_base_image.md │ │ ├── reproducible_jars.md │ │ └── skaffold_config.md │ ├── buildfile.md │ ├── cli-jar-processing.md │ ├── container-build-plan-spec.md │ ├── jib-cli-surface.md │ └── tags-on-existing-images.md └── settings.gradle