/** * Finds the first packaging processor on the classpath that supports give {@code packageType} * * @param packagingType Package type * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static PackagingProcessor<? extends Archive<?>> find( final PackagingType packagingType) { ServiceRegistry registry = ServiceRegistry.getInstance(); Collection<PackagingProcessor> processors = registry.all(PackagingProcessor.class); StringBuilder unsupportedFormatMessage = new StringBuilder("No packaging processor for ") .append(packagingType.toString()).append( " packaging was found. Supported processors are: "); for (PackagingProcessor processor : processors) { if (processor.handles(packagingType)) { // unchecked cast return (PackagingProcessor<? extends Archive<?>>) processor; } unsupportedFormatMessage.append(processor.getClass()).append(", "); } // trim if (unsupportedFormatMessage.indexOf(", ") != -1) { unsupportedFormatMessage.delete(unsupportedFormatMessage.length() - 2, unsupportedFormatMessage.length()); } throw new UnsupportedOperationException(unsupportedFormatMessage.toString()); }
/** * Finds the first packaging processor on the classpath that supports give {@code packageType} * * @param packagingType Package type * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static PackagingProcessor<? extends Archive<?>> find( final PackagingType packagingType) { ServiceRegistry registry = ServiceRegistry.getInstance(); Collection<PackagingProcessor> processors = registry.all(PackagingProcessor.class); StringBuilder unsupportedFormatMessage = new StringBuilder("No packaging processor for ") .append(packagingType.toString()).append( " packaging was found. Supported processors are: "); for (PackagingProcessor processor : processors) { if (processor.handles(packagingType)) { // unchecked cast return (PackagingProcessor<? extends Archive<?>>) processor; } unsupportedFormatMessage.append(processor.getClass()).append(", "); } // trim if (unsupportedFormatMessage.indexOf(", ") != -1) { unsupportedFormatMessage.delete(unsupportedFormatMessage.length() - 2, unsupportedFormatMessage.length()); } throw new UnsupportedOperationException(unsupportedFormatMessage.toString()); }
@Test public void ear() { Assert.assertEquals("ear", PackagingType.EAR.toString()); }
@Test public void ejb() { Assert.assertEquals("ejb", PackagingType.EJB.toString()); }
@Test public void war() { Assert.assertEquals("war", PackagingType.WAR.toString()); }
@Test public void jar() { Assert.assertEquals("jar", PackagingType.JAR.toString()); }
@Test public void rar() { Assert.assertEquals("rar", PackagingType.RAR.toString()); }
@Test public void par() { Assert.assertEquals("par", PackagingType.PAR.toString()); }
@Test public void pom() { Assert.assertEquals("pom", PackagingType.POM.toString()); }
@Test public void mavenPlugin() { Assert.assertEquals("maven-plugin", PackagingType.MAVEN_PLUGIN.toString()); }
@Test public void random() { Assert.assertEquals("random", PackagingType.of("random").toString()); }
@Test public void properties() { final String groupId = "groupId"; final String artifactId = "artifactId"; final String version = "version"; final PackagingType packaging = PackagingType.POM; final String classifier = "classifier"; final MavenCoordinate coordinate = new MavenCoordinateImpl(groupId, artifactId, version, packaging, classifier); Assert.assertEquals(groupId, coordinate.getGroupId()); Assert.assertEquals(artifactId, coordinate.getArtifactId()); Assert.assertEquals(version, coordinate.getVersion()); Assert.assertEquals(packaging, coordinate.getPackaging()); Assert.assertEquals(classifier, coordinate.getClassifier()); Assert.assertEquals(groupId + ":" + artifactId + ":" + packaging.toString() + ":" + classifier + ":" + version, coordinate.toCanonicalForm()); }
directDep.getCoordinate().getArtifactId(), directDep.getCoordinate().getVersion(), directDep.getCoordinate().getPackaging().toString(), directDep.getCoordinate().getClassifier(), directDep.asFile() dep.getCoordinate().getArtifactId(), dep.getCoordinate().getVersion(), dep.getCoordinate().getPackaging().toString(), dep.getCoordinate().getClassifier(), dep.asFile()