Rehost this utility method to its sole caller.
Change-Id: I51826631db782a5e85c37f6b776caa93e97a485f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
import static org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.META_INF_YANG_STRING;
import static org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.META_INF_YANG_STRING_JAR;
+import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.ByteSource;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
+import org.apache.maven.artifact.Artifact;
import org.apache.maven.project.MavenProject;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
}
static List<ScannedDependency> scanDependencies(final MavenProject project) throws IOException {
- final List<File> filesOnCp = Util.getClassPath(project);
+ final List<File> filesOnCp = getClassPath(project);
LOG.debug("{} Searching for YANG files in dependencies: {}", YangToSourcesProcessor.LOG_PREFIX, filesOnCp);
LOG.debug("{} Searching for YANG files in {} dependencies", YangToSourcesProcessor.LOG_PREFIX,
filesOnCp.size());
}
abstract ImmutableList<YangTextSchemaSource> sources() throws IOException;
+
+ @VisibleForTesting
+ static List<File> getClassPath(final MavenProject project) {
+ return project.getArtifacts().stream()
+ .map(Artifact::getFile)
+ .filter(file -> file.isFile() && file.getName().endsWith(".jar") || file.isDirectory())
+ .toList();
+ }
}
import static org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.LOG_PREFIX;
-import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
return new SourceIdentifier(Unqualified.of(module.getName()), module.getRevision().orElse(null));
}
- static List<File> getClassPath(final MavenProject project) {
- return project.getArtifacts().stream()
- .map(Artifact::getFile)
- .filter(file -> file.isFile() && file.getName().endsWith(".jar") || file.isDirectory())
- .toList();
- }
-
/**
* Read current project dependencies and check if it don't grab incorrect
* artifacts versions which could be in conflict with plugin dependencies.
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Collection;
+import java.util.List;
+import java.util.Set;
import java.util.jar.Attributes;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
import org.junit.Test;
public class ScannedDependencyTest {
+ @Test
+ public void getClassPathTest() {
+ final MavenProject project = mock(MavenProject.class);
+ final File file = mock(File.class);
+ final File file2 = mock(File.class);
+ final Artifact artifact = mock(Artifact.class);
+ final Artifact artifact2 = mock(Artifact.class);
+
+ doReturn(Set.of(artifact, artifact2)).when(project).getArtifacts();
+ doReturn(file).when(artifact).getFile();
+ doReturn(true).when(file).isFile();
+ doReturn("iamjar.jar").when(file).getName();
+ doReturn(file2).when(artifact2).getFile();
+ doReturn(true).when(file2).isDirectory();
+
+ final List<File> files = ScannedDependency.getClassPath(project);
+ assertEquals(2, files.size());
+ assertTrue(files.contains(file) && files.contains(file2));
+ }
@Test
public void findYangFilesInDependenciesAsStream() throws Exception {
package org.opendaylight.yangtools.yang2sources.plugin;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import com.google.common.collect.ImmutableSet;
-import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@RunWith(MockitoJUnitRunner.StrictStubs.class)
public class UtilTest {
-
- @Test
- public void getClassPathTest() {
- final MavenProject project = mock(MavenProject.class);
- final File file = mock(File.class);
- final File file2 = mock(File.class);
- final Artifact artifact = mock(Artifact.class);
- final Artifact artifact2 = mock(Artifact.class);
-
- final Set<Artifact> artifacts = new HashSet<>();
- artifacts.add(artifact);
- artifacts.add(artifact2);
-
- doReturn(artifacts).when(project).getArtifacts();
- doReturn(file).when(artifact).getFile();
- doReturn(true).when(file).isFile();
- doReturn("iamjar.jar").when(file).getName();
- doReturn(file2).when(artifact2).getFile();
- doReturn(true).when(file2).isDirectory();
-
- final List<File> files = Util.getClassPath(project);
- assertEquals(2, files.size());
- assertTrue(files.contains(file) && files.contains(file2));
- }
-
@Test
public void checkClasspathTest() throws Exception {
final MavenProject project = mock(MavenProject.class);