public static JavaArchive[] awaitability() { return Maven.resolver() .loadPomFromFile("pom.xml") .resolve("org.assertj:assertj-core", "com.jayway.awaitility:awaitility") .withTransitivity() .as(JavaArchive.class); }
public static JavaArchive getEngineCdi() { if(CACHED_ENGINE_CDI_ASSET != null) { return CACHED_ENGINE_CDI_ASSET; } else { JavaArchive[] resolvedArchives = Maven.configureResolver() .workOffline() .loadPomFromFile("pom.xml") .resolve(CAMUNDA_ENGINE_CDI) .withTransitivity() .as(JavaArchive.class); if(resolvedArchives.length != 1) { throw new RuntimeException("could not resolve "+CAMUNDA_ENGINE_CDI); } else { CACHED_ENGINE_CDI_ASSET = resolvedArchives[0]; return CACHED_ENGINE_CDI_ASSET; } } }
public static JavaArchive[] getWeld() { if(CACHED_WELD_ASSETS != null) { return CACHED_WELD_ASSETS; } else { JavaArchive[] resolvedArchives = Maven.configureResolver() .workOffline() .loadPomFromFile("pom.xml") .resolve(CAMUNDA_ENGINE_CDI, "org.jboss.weld.servlet:weld-servlet") .withTransitivity() .as(JavaArchive.class); if(resolvedArchives.length == 0) { throw new RuntimeException("could not resolve org.jboss.weld.servlet:weld-servlet"); } else { CACHED_WELD_ASSETS = resolvedArchives; return CACHED_WELD_ASSETS; } } }
public static JavaArchive getEjbClient() { if(CACHED_CLIENT_ASSET != null) { return CACHED_CLIENT_ASSET; } else { JavaArchive[] resolvedArchives = Maven.configureResolver() .workOffline() .loadPomFromFile("pom.xml") .resolve(CAMUNDA_EJB_CLIENT) .withTransitivity() .as(JavaArchive.class); if(resolvedArchives.length != 1) { throw new RuntimeException("could not resolve "+CAMUNDA_EJB_CLIENT); } else { CACHED_CLIENT_ASSET = resolvedArchives[0]; return CACHED_CLIENT_ASSET; } } }
public static JavaArchive[] getSpinJacksonJsonDataFormatForServer(String server) { if (server.equals("tomcat") || server.equals("websphere9") || server.equals("weblogic") || server.equals("glassfish")) { return Maven.configureResolver() .workOffline() .loadPomFromFile("pom.xml") .resolve("org.camunda.spin:camunda-spin-dataformat-json-jackson") .using(new RejectDependenciesStrategy(false, "org.camunda.spin:camunda-spin-core", "org.camunda.commons:camunda-commons-logging", "org.camunda.commons:camunda-commons-utils")) .as(JavaArchive.class); } else if (server.equals("websphere")) { return Maven.configureResolver() .workOffline() .loadPomFromFile("pom.xml", "was85") .resolve("org.camunda.spin:camunda-spin-dataformat-json-jackson") .using(new RejectDependenciesStrategy(false, "org.camunda.spin:camunda-spin-core", "org.camunda.commons:camunda-commons-logging", "org.camunda.commons:camunda-commons-utils")) .as(JavaArchive.class); } else { throw new RuntimeException("Unable to determine dependencies for spinJacksonJsonDataFormat: " + server); } }
.using(new RejectDependenciesStrategy(false, "joda-time:joda-time")) .as(JavaArchive.class); } else if (server.equals("websphere")) { return Maven.configureResolver() .using(new RejectDependenciesStrategy(false, "joda-time:joda-time")) .as(JavaArchive.class); } else if (server.equals("jboss")) { return Maven.configureResolver() "com.fasterxml.jackson.core:jackson-core", "com.fasterxml.jackson.core:jackson-databind")) .as(JavaArchive.class); } else { throw new RuntimeException("Unable to determine dependencies for jodaTimeModule: " + server);
public static JavaArchive[] getEngineSpring() { if(CACHED_SPRING_ASSETS != null) { return CACHED_SPRING_ASSETS; } else { JavaArchive[] resolvedArchives = Maven.configureResolver() .workOffline() .loadPomFromFile("pom.xml") .addDependencies( MavenDependencies.createDependency("org.camunda.bpm:camunda-engine-spring", ScopeType.COMPILE, false, MavenDependencies.createExclusion("org.camunda.bpm:camunda-engine")), MavenDependencies.createDependency("org.springframework:spring-web", ScopeType.COMPILE, false)) .resolve() .withTransitivity() .as(JavaArchive.class); if(resolvedArchives.length == 0) { throw new RuntimeException("could not resolve org.camunda.bpm:camunda-engine-spring"); } else { CACHED_SPRING_ASSETS = resolvedArchives; return CACHED_SPRING_ASSETS; } } }
protected static File[] resolve(PomEquippedResolveStage resolver, String... coordinates) { final File[] files = resolver.resolve(coordinates).withoutTransitivity().as(File.class); if (files == null || files.length == 0) throw new IllegalArgumentException("Null or empty files (" + Arrays.toString(files) + "): " + Arrays.toString(coordinates)); return files; } }
@Deployment public static WebArchive processArchive() { return initWebArchiveDeployment("test.war", "singleEngineWithProcessEnginePlugin.xml") .addClass(GroovyProcessEnginePlugin.class) .addAsResource("org/camunda/bpm/integrationtest/deployment/war/groovy.bpmn20.xml") .addAsResource("org/camunda/bpm/integrationtest/deployment/war/groovyAsync.bpmn20.xml") .addAsLibraries(Maven.resolver() .offline() .loadPomFromFile("pom.xml") .resolve("org.codehaus.groovy:groovy-all") .withoutTransitivity() .as(JavaArchive.class)); }
public static JavaArchive[] awaitability() { return Maven.resolver() .loadPomFromFile("pom.xml") .resolve("org.assertj:assertj-core", "com.jayway.awaitility:awaitility") .withTransitivity() .as(JavaArchive.class); }
@Override public Set<ArtifactSpec> resolveAll(final Set<ArtifactSpec> specs) { if (specs.isEmpty()) { return specs; } resetListeners(); final MavenResolvedArtifact[] artifacts = withResolver(r -> r.resolve(specs.stream().map(ArtifactSpec::mavenGav).collect(Collectors.toList())) .withTransitivity() .as(MavenResolvedArtifact.class)); return Arrays.stream(artifacts).map(artifact -> { final MavenCoordinate coord = artifact.getCoordinate(); return new ArtifactSpec("compile", coord.getGroupId(), coord.getArtifactId(), coord.getVersion(), coord.getPackaging().getId(), coord.getClassifier(), artifact.asFile()); }).collect(Collectors.toSet()); }
return r.resolve() .using(transitivityStrategy) .as(MavenResolvedArtifact.class); });
/** * 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); } }
protected void handleWebArchive(WebArchive war) { final Node lib = war.get("WEB-INF/lib"); if (lib != null) { final Set<Node> libs = lib.getChildren(); for (Node jar : libs) { if (jar.getPath().get().contains("appengine-api")) return; } } // do not add GAE jar; e.g. CapeDwarf can work off GAE module boolean ignoreGaeJar = Boolean.getBoolean("ignore.gae.jar"); if (ignoreGaeJar == false) { war.addAsLibraries(Maven.resolver() .loadPomFromFile("pom.xml") .resolve("com.google.appengine:appengine-api-1.0-sdk") .withTransitivity() .as(File.class) ); } } }
@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive arquillianPactConsumer = ShrinkWrap.create(JavaArchive.class, "arquillian-pact-consumer.jar") // Add Core classes required in container part .addClasses(AbstractConsumerPactTest.class, RemoteConsumerPactTest.class, PactConsumerConfiguration.class, MockProviderConfigCreator.class, PactConsumerConfigurator.class, PactConsumerRemoteExtension.class, PactFilesCommand.class, ConsumerProviderPair.class, ResolveClassAnnotation.class) .addPackages(true, Pact.class.getPackage()) .addAsServiceProvider(RemoteLoadableExtension.class, PactConsumerRemoteExtension.class); final Properties properties = pactConsumerConfigurationInstance.get().asProperties(); String configuration = toString(properties); arquillianPactConsumer.add(new StringAsset(configuration), "/pact-consumer-configuration.properties"); final JavaArchive[] pactConsumerDeps = Maven.resolver() .resolve("au.com.dius:pact-jvm-consumer_2.11:" + getVersion()) .withTransitivity().as(JavaArchive.class); final JavaArchive merge = merge(arquillianPactConsumer, pactConsumerDeps); return merge; }
@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive arquillianPactConsumer = ShrinkWrap.create(JavaArchive.class, "arquillian-pact-consumer.jar") // Add Core classes required in container part .addClasses(AbstractConsumerPactTest.class, RemoteConsumerPactTest.class, PactConsumerConfiguration.class, MockProviderConfigCreator.class, PactConsumerConfigurator.class, PactConsumerRemoteExtension.class, PactFilesCommand.class, ConsumerProviderPair.class, ResolveClassAnnotation.class, StubServer.class, StubServerEnricher.class) .addPackages(true, Pact.class.getPackage()) .addAsServiceProvider(RemoteLoadableExtension.class, PactConsumerRemoteExtension.class); final Properties properties = pactConsumerConfigurationInstance.get().asProperties(); String configuration = toString(properties); arquillianPactConsumer.add(new StringAsset(configuration), "/pact-consumer-configuration.properties"); final JavaArchive[] pactConsumerDeps = Maven.resolver() .resolve("au.com.dius:pact-jvm-consumer_2.11:" + getVersion()) .withTransitivity().as(JavaArchive.class); final JavaArchive merge = merge(arquillianPactConsumer, pactConsumerDeps); return merge; }
protected final WebArchive baseApplicationArchive(final String archiveName) { final File[] files = Maven. configureResolver(). fromClassloaderResource("settings.xml"). resolve(GROUP_ID+":"+ARTIFACT_ID+":"+PACKAGING+":"+VERSION). withoutTransitivity(). as(File.class); final WebArchive archive = ShrinkWrap. create(WebArchive.class,archiveName). merge(ShrinkWrap.createFromZipFile(WebArchive.class,files[0])); return archive; } }
/** * Returns the set of dependencies defined as org.hibernate:hibernate-search-orm at * the version being built. We use transitive dependencies to include the version * of hibernate-search-engine and Apache Lucene at the currently built version, but * then need to exclude the packages already provided by the application server such * as Hibernate ORM. * * @return the set of dependencies a user would need to bundle in a web app */ public static JavaArchive[] hibernateSearchLibraries() { return Maven.resolver() .resolve( "org.hibernate:hibernate-search-orm:" + getCurrentVersion() ) // we need some dependencies at the right version: Lucene, search-engine, etc.. .using( new RejectDependenciesStrategy( false, exclusions ) ) .as( JavaArchive.class ); }
/** * Returns the set of dependencies defined as org.hibernate:hibernate-search-testing at * the version being built, including transitive dependencies but strictly excluding * anything which would be provided by {@link #hibernateSearchLibraries()} so that * the two combined would not contain duplicates. */ public static JavaArchive[] hibernateSearchTestingLibraries() { return Maven.resolver() .resolve( "org.hibernate:hibernate-search-testing:" + getCurrentVersion() ) .using( new RejectDependenciesStrategy( false, coordinatesOfHibernateSearchLibraries() ) ) .as( JavaArchive.class ); }
@Deployment(testable = false) public static JavaArchive createDeployment() { JavaArchive[] undertow = Maven.resolver().resolve("io.undertow:undertow-core:1.1.1.Final").withTransitivity().as(JavaArchive.class); JavaArchive jar = ShrinkWrap .create(JavaArchive.class, "daytime.jar") .addClass(DaytimeServer.class); for (JavaArchive javaArchive : undertow) { jar.merge(javaArchive); } jar.addAsManifestResource( new StringAsset( "Main-Class: org.arquillian.cube.impl.containerless.DaytimeServer" + LINE_SEPARATOR), "MANIFEST.MF"); return jar; }