public void unpackContainerConfigurationFiles(@Observes ConfigureContainer event) { Validate.notNull(configuration, "fundamental test configuration is not setup"); String configurationFiles = configuration.getContainerConfiguration(); if (configurationFiles == null || configurationFiles.isEmpty()) { return; } Validate.notNull(configuration.getContainerHome(), "container home must be set"); File containerHome = new File(configuration.getContainerHome()); InputStream artifactStream = Maven.resolver().resolve(configurationFiles).withClassPathResolution(false).withoutTransitivity().asSingleInputStream(); unzip(artifactStream, containerHome, true); log.info(String.format("The container configuration '%s' was unpacked into '%s'", configurationFiles, containerHome.getAbsolutePath())); }
/** * Resolves Maven dependency and writes it to the cache, so it can be reused next run */ private void resolveMavenDependency(String missingDependency, File dir) { MavenResolverSystem resolver = getMavenResolver(); JavaArchive[] dependencies; if (missingDependency.matches("^[^:]+:[^:]+:[^:]+")) { // resolution of the artifact without a version specified dependencies = resolver.resolve(missingDependency).withClassPathResolution(false).withTransitivity() .as(JavaArchive.class); } else { // resolution of the artifact without a version specified dependencies = resolver.loadPomFromFile("pom.xml").resolve(missingDependency) .withClassPathResolution(false).withTransitivity().as(JavaArchive.class); } for (JavaArchive archive : dependencies) { dir.mkdirs(); if (mavenDependencyExcluded(archive.getName())) { continue; } final File outputFile = new File(dir, archive.getName()); archive.as(ZipExporter.class).exportTo(outputFile, true); } }