You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by br...@apache.org on 2014/08/22 01:47:11 UTC
svn commit: r1619648 - in
/incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen:
EmbeddedResource.java ExistingResxGenerator.java
Author: brett
Date: Fri Aug 22 01:47:11 2014
New Revision: 1619648
URL: http://svn.apache.org/r1619648
Log:
[NPANDAY-227] Improve Implementation on handling of Resources
Modified:
incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/EmbeddedResource.java
incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java
Modified: incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/EmbeddedResource.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/EmbeddedResource.java?rev=1619648&r1=1619647&r2=1619648&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/EmbeddedResource.java (original)
+++ incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/EmbeddedResource.java Fri Aug 22 01:47:11 2014
@@ -21,11 +21,9 @@ package npanday.plugin.resgen;
/**
- * Webreference Pojo
- *
* @author Shein Ernacio
*/
-public class EmbeddedResource
+public class EmbeddedResource
{
public String getName()
{
Modified: incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java?rev=1619648&r1=1619647&r2=1619648&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java (original)
+++ incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java Fri Aug 22 01:47:11 2014
@@ -23,15 +23,19 @@ import npanday.executable.ExecutableRequ
import npanday.executable.ExecutionException;
import npanday.registry.RepositoryRegistry;
import npanday.vendor.SettingsUtil;
+import org.apache.maven.model.Resource;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.DirectoryScanner;
import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
@@ -98,6 +102,14 @@ public class ExistingResxGenerator exten
* @parameter expression="${netHome}"
*/
private File netHome;
+
+ /**
+ * Embedded resource directories. If none are specified, and no embeddedResources are present, then the default is
+ * all files in src/main/resgen
+ *
+ * @parameter
+ */
+ private List<Resource> resources = new ArrayList<Resource>();
public static final String ASSEMBLY_RESOURCES_DIR = "assembly-resources";
@@ -141,25 +153,35 @@ public class ExistingResxGenerator exten
)
.execute();
}
-
- if(embeddedResources.length == 0)
- {
- String sourceDirectory = project.getBasedir().getPath();
- String[] resourceFilenames = FileUtils.getFilesFromExtension(sourceDirectory, new String[]{"resx"});
-
- for(String resourceFilename : resourceFilenames)
- {
- getLog().debug("processing " + resourceFilename);
- File file = new File(resourceFilename);
- String name = resourceFilename.substring(sourceDirectory.length() + 1).replace('\\', '.');
- name = project.getArtifactId() + "." + name.substring(0, name.lastIndexOf('.'));
-
- commands = getCommands(file.getAbsoluteFile(), resourceDirectory, name);
- netExecutableFactory.getExecutable(
- new ExecutableRequirement( vendor, null, frameworkVersion, "RESGEN" ), commands, netHome
- )
- .execute();
- }
+
+ List<Resource> resources = this.resources;
+ if (resources.isEmpty() && embeddedResources.length == 0) {
+ Resource resource = new Resource();
+ resource.setDirectory(new File(project.getBasedir(), "src/main/resgen").getAbsolutePath());
+ resources.add(resource);
+ }
+
+ for (Resource resource : resources) {
+ String sourceDirectory = resource.getDirectory();
+ String includes = StringUtils.join(resource.getIncludes().iterator(), ",");
+ String excludes = StringUtils.join(resource.getExcludes().iterator(), ",");
+
+ File directory = new File(sourceDirectory);
+ if (directory.exists()) {
+ List resourceFilenames = FileUtils.getFiles(directory, includes, excludes);
+
+ for(File file : (List<File>)resourceFilenames)
+ {
+ getLog().debug("processing " + file);
+ String name = file.getPath().substring(sourceDirectory.length() + 1).replace(File.separatorChar, '.');
+ name = project.getArtifactId() + "." + name.substring(0, name.lastIndexOf('.'));
+
+ commands = getCommands(file.getAbsoluteFile(), resourceDirectory, name);
+ netExecutableFactory.getExecutable(
+ new ExecutableRequirement( vendor, null, frameworkVersion, "RESGEN" ), commands, netHome
+ ).execute();
+ }
+ }
}
}
catch ( ExecutionException e )
@@ -170,7 +192,9 @@ public class ExistingResxGenerator exten
catch ( PlatformUnsupportedException e )
{
throw new MojoExecutionException( "NPANDAY-1501-003: Platform Unsupported", e );
- }
+ } catch (IOException e) {
+ throw new MojoExecutionException( "NPANDAY-1501-004: Error finding resource files", e );
+ }
}
private List<String> getCommands( File sourceFile, String resourceDirectory) throws MojoExecutionException