Eliminate YangProvider.setResource() 97/104797/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 7 Mar 2023 22:48:07 +0000 (23:48 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 7 Mar 2023 22:49:51 +0000 (23:49 +0100)
ProjectFileAccess is a better place for this method, as it pertains
to a Project and we are already doing the same thing there.

The result is a bit better integration with YangToSourcesProcessor.

JIRA: YANGTOOLS-745
Change-Id: I768d49271a24ef93c4b6b9136cc7d276a83eaed2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ProjectFileAccess.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangProvider.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java

index 9a41e620c8cb17370fc3fc3eb819ee87e459b415..fab66dbd97c6a435f5c346f45cdddba37367aa27 100644 (file)
@@ -78,12 +78,16 @@ final class ProjectFileAccess {
         }
         local = buildResourceDir;
         if (local != null) {
-            final var resource = new Resource();
-            resource.setDirectory(local.toString());
-            project.addResource(resource);
+            addResourceDir(project, local);
         }
     }
 
+    static void addResourceDir(final MavenProject project, final File dir) {
+        var res = new Resource();
+        res.setDirectory(dir.getPath());
+        project.addResource(res);
+    }
+
     private @NonNull File buildDirectoryFor(final String name) {
         return new File(project.getBuild().getDirectory()
             + File.separatorChar + name
index 87da24b78a72b920bd4177212bc8b9b1c2ffc70f..571f6f8d58da1d382c354ca82c885a84a44cff8d 100644 (file)
@@ -12,7 +12,6 @@ import com.google.common.io.Files;
 import java.io.File;
 import java.io.IOException;
 import java.util.Collection;
-import org.apache.maven.model.Resource;
 import org.apache.maven.project.MavenProject;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.slf4j.Logger;
@@ -45,7 +44,7 @@ abstract class YangProvider {
                 LOG.debug("Created file {} for {}", file, source.getIdentifier());
             }
 
-            setResource(generatedYangDir, project);
+            ProjectFileAccess.addResourceDir(project, generatedYangDir);
             LOG.debug("{} YANG files marked as resources: {}", YangToSourcesProcessor.LOG_PREFIX, generatedYangDir);
 
             return stateListBuilder.build();
@@ -60,10 +59,4 @@ abstract class YangProvider {
 
     abstract Collection<FileState> addYangsToMetaInf(MavenProject project,
             Collection<YangTextSchemaSource> modelsInProject) throws IOException;
-
-    static void setResource(final File targetYangDir, final MavenProject project) {
-        Resource res = new Resource();
-        res.setDirectory(targetYangDir.getPath());
-        project.addResource(res);
-    }
 }
index 7fc0df6c85c5bb978985bddead6c85f9e29c78f6..0bbdf903d63e48de272eb634f19fb8e668240f7a 100644 (file)
@@ -270,7 +270,7 @@ class YangToSourcesProcessor {
 
         // add META_INF/services
         File generatedServicesDir = new File(new File(project.getBuild().getDirectory(), "generated-sources"), "spi");
-        YangProvider.setResource(generatedServicesDir, project);
+        ProjectFileAccess.addResourceDir(project, generatedServicesDir);
         LOG.debug("{} Yang services files from: {} marked as resources: {}", LOG_PREFIX, generatedServicesDir,
             META_INF_YANG_SERVICES_STRING_JAR);