def main(): if (len(sys.argv) < 3): sys.stderr.write("Error: Not enough arguments!\n") sys.stderr.write("Run instructions:\n") sys.stderr.write( " updateAnalysisEngines [pathEngines] [pathAnnotators]\n") exit() pathEngines = sys.argv[1] pathsAnnotators = sys.argv[2:] try: files = [] print("searching for annotators...") for pathAnnotators in pathsAnnotators: if os.path.exists(pathAnnotators) and os.path.isdir( pathAnnotators): files += getFiles(pathAnnotators) else: sys.stderr.write( "Error: incorrect annotator path: {}\n".format( pathAnnotators)) return -1 print("found %d annotator..." % (len(files))) print("searching for analysis engines...") if not os.path.exists(pathEngines) or not os.path.isdir(pathEngines): sys.stderr.write( "Error: incorrect analysis engines path: {}\n".format( pathEngines)) return -1 engines = getAnalysisEngines(pathEngines) print("found %d analysis engines..." % (len(engines))) print("checking for modification...") if check_modification.isModified(files + engines): print("Files modified. Updating annotators...") else: print("Files not modified. Nothing to do.") return 0 print("extracting annotator names...") annotators = getAnnotators(files) print("found %d annotators..." % (len(annotators))) print("creating xml for annotators...") xmlAnnotators = createAnnotatorsXML(pathEngines, annotators) print("updating analysis engines...") updated = updateAnalysisEngines(engines, xmlAnnotators) print("%d updated, %d already up to date." % (updated, len(engines) - updated)) print("update finished!") except Exception as e: sys.stderr.write("Error: {}\n".format(e.message)) return -1 return 0
def main(): if len(sys.argv) < 3: sys.stderr.write("Error: Not enough arguments!\n") sys.stderr.write("Run instructions:\n") sys.stderr.write(" updateAnalysisEngines [pathEngines] [pathAnnotators]\n") exit() pathEngines = sys.argv[1] pathsAnnotators = sys.argv[2:] try: files = [] print("searching for annotators...") for pathAnnotators in pathsAnnotators: if os.path.exists(pathAnnotators) and os.path.isdir(pathAnnotators): files += getFiles(pathAnnotators) else: sys.stderr.write("Error: incorrect annotator path: {}\n".format(pathAnnotators)) return -1 print("found %d annotator..." % (len(files))) print("searching for analysis engines...") if not os.path.exists(pathEngines) or not os.path.isdir(pathEngines): sys.stderr.write("Error: incorrect analysis engines path: {}\n".format(pathEngines)) return -1 engines = getAnalysisEngines(pathEngines) print("found %d analysis engines..." % (len(engines))) print("checking for modification...") if check_modification.isModified(files + engines): print("Files modified. Updating annotators...") else: print("Files not modified. Nothing to do.") return 0 print("extracting annotator names...") annotators = getAnnotators(files) print("found %d annotators..." % (len(annotators))) print("creating xml for annotators...") xmlAnnotators = createAnnotatorsXML(pathEngines, annotators) print("updating analysis engines...") updated = updateAnalysisEngines(engines, xmlAnnotators) print("%d updated, %d already up to date." % (updated, len(engines) - updated)) print("update finished!") except Exception as e: sys.stderr.write("Error: {}\n".format(e.message)) return -1 return 0
def main(): if len(sys.argv) < 2: help() return -1 projects = [] files = [] try: for i in range(1, len(sys.argv)): args = tuple(sys.argv[i].split(':')) if(len(args) != 4): sys.stderr.write("Error: {0} not in the right format!".format(sys.argv[i])) return -1 (name,namespace,xmlPath,cppPath) = args xmlPath = os.path.abspath(xmlPath) cppPath = os.path.abspath(cppPath) if not os.path.exists(xmlPath) or not os.path.isdir(xmlPath): raise Exception("Path does not exist: " + xmlPath) if not os.path.exists(cppPath): os.mkdir(cppPath) includePath = cppPath.rpartition("include/")[2] project = Project(name, namespace, xmlPath, cppPath, includePath) projects.append(project) except Exception as e: sys.stderr.write("Error: " + e.message) return -1 print("Searching for files...") for project in projects: for filename in os.listdir(project.xmlPath): filepath = os.path.join(project.xmlPath, filename) if not os.path.isfile(filepath): #print("Ignoring file: " + filename) continue (name, ext) = os.path.splitext(filename) if ext != ".xml" or name == ALL_TYPES_NAME: #print("Ignoring file: " + filename) continue project.addXMLFile(filename) files.append(filepath) print("Checking for modification...") if check_modification.isModified(files): print("Files modified. Updating type system...") else: print("Files not modified. Nothing to do.") return 0 print("Reading typesystem...") reader = TypeSystemReader() try: reader.read(projects) except Exception as e: sys.stderr.write("Error: " + e.message) return -1 ts = reader.getTypeSystem() print("checking type system...") if not ts.check(): sys.stderr.write("failed!") return -1 print("Writing typesystem...") writer = TypeSystemWriter(ts, projects[0]) try: writer.write() writer.writeAllTypesXML() writer.updateImports() except Exception as e: sys.stderr.write("Error: " + e.message) return -1 check_modification.isModified(files) return 0
def main(): if len(sys.argv) < 2: help() return -1 projects = [] files = [] try: for i in range(1, len(sys.argv)): args = tuple(sys.argv[i].split(":")) if len(args) != 4: sys.stderr.write("Error: {0} not in the right format!".format(sys.argv[i])) return -1 (name, namespace, xmlPath, cppPath) = args xmlPath = os.path.abspath(xmlPath) cppPath = os.path.abspath(cppPath) if not os.path.exists(xmlPath) or not os.path.isdir(xmlPath): raise Exception("Path does not exist: " + xmlPath) if not os.path.exists(cppPath): os.mkdir(cppPath) includePath = cppPath.rpartition("include/")[2] project = Project(name, namespace, xmlPath, cppPath, includePath) projects.append(project) except Exception as e: sys.stderr.write("Error: " + e.message) return -1 print("Searching for files...") for project in projects: for filename in os.listdir(project.xmlPath): filepath = os.path.join(project.xmlPath, filename) if not os.path.isfile(filepath): # print("Ignoring file: " + filename) continue (name, ext) = os.path.splitext(filename) if ext != ".xml" or name == ALL_TYPES_NAME: # print("Ignoring file: " + filename) continue project.addXMLFile(filename) files.append(filepath) print("Checking for modification...") if check_modification.isModified(files): print("Files modified. Updating type system...") else: print("Files not modified. Nothing to do.") return 0 print("Reading typesystem...") reader = TypeSystemReader() try: reader.read(projects) except Exception as e: sys.stderr.write("Error: " + e.message) return -1 ts = reader.getTypeSystem() print("checking type system...") if not ts.check(): sys.stderr.write("failed!") return -1 print("Writing typesystem...") writer = TypeSystemWriter(ts, projects[0]) try: writer.write() writer.writeAllTypesXML() writer.updateImports() except Exception as e: sys.stderr.write("Error: " + e.message) return -1 check_modification.isModified(files) return 0