You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2015/05/17 18:13:33 UTC
svn commit: r1679879 - in /uima/ruta/trunk:
ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java
Author: pkluegl
Date: Sun May 17 16:13:33 2015
New Revision: 1679879
URL: http://svn.apache.org/r1679879
Log:
UIMA-4400
- build if descriptor is missing
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
uima/ruta/trunk/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java?rev=1679879&r1=1679878&r2=1679879&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java Sun May 17 16:13:33 2015
@@ -198,8 +198,8 @@ public class RutaDescriptorBuilder {
url = checkImportExistence(eachName, options.getTypeSystemSuffix() + ".xml",
options.getClassLoader());
if (url == null) {
- throw new FileNotFoundException("Build process can't find " + eachName + " in "
- + desc.getScriptName());
+ throw new FileNotFoundException("Build process can't find " + eachName
+ + options.getTypeSystemSuffix() + ".xml" + " in " + desc.getScriptName());
}
}
TypeSystemDescription each = getTypeSystemDescriptor(url, options, rm);
Modified: uima/ruta/trunk/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java?rev=1679879&r1=1679878&r2=1679879&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java (original)
+++ uima/ruta/trunk/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java Sun May 17 16:13:33 2015
@@ -19,7 +19,6 @@
package org.apache.uima.ruta.maven;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
@@ -63,7 +62,6 @@ import org.apache.uima.ruta.extensions.I
import org.apache.uima.util.InvalidXMLException;
import org.apache.uima.util.XMLizable;
import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.Scanner;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
import org.codehaus.plexus.util.xml.Xpp3DomWriter;
@@ -233,11 +231,12 @@ public class RutaGenerateDescriptorMojo
String[] files = FileUtils.getFilesFromExtension(project.getBasedir().getAbsolutePath(),
new String[] { "ruta" });
-
+
List<File> filesToBuild = new ArrayList<File>();
for (String each : files) {
File file = new File(each);
- if(buildContext.hasDelta(file)) {
+ boolean descriptorMissing = isDescriptorMissing(file);
+ if (descriptorMissing || buildContext.hasDelta(file)) {
filesToBuild.add(file);
}
}
@@ -300,6 +299,26 @@ public class RutaGenerateDescriptorMojo
}
+ private boolean isDescriptorMissing(File file) {
+ String scriptName = file.getName().substring(0, file.getName().length() - 5);
+
+ String aeName = scriptName + analysisEngineSuffix + ".xml";
+ String[] aeFiles = FileUtils.getFilesFromExtension(
+ analysisEngineOutputDirectory.getAbsolutePath(), new String[] { aeName });
+ if (aeFiles == null || aeFiles.length == 0) {
+ return true;
+ }
+
+ String tsName = scriptName + typeSystemOutputDirectory + ".xml";
+ String[] tsFiles = FileUtils.getFilesFromExtension(typeSystemOutputDirectory.getAbsolutePath(),
+ new String[] { tsName });
+ if (tsFiles == null || tsFiles.length == 0) {
+ return true;
+ }
+
+ return false;
+ }
+
private List<String> getExtensionsFromClasspath(ClassLoader classloader) {
List<String> result = new ArrayList<String>();
ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
@@ -345,6 +364,7 @@ public class RutaGenerateDescriptorMojo
OutputStream os = null;
try {
File out = new File(aFilename);
+ out.getParentFile().mkdirs();
os = buildContext.newFileOutputStream(out);
out.getParentFile().mkdirs();
getLog().debug("Writing descriptor to: " + out);