Module generateXSDataCommon
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 import os, sys, subprocess, tempfile
29
30 xsDataName = "XSDataCommon.edml"
31
32 if "EDNA_HOME" not in os.environ:
33 full_path = os.path.abspath(sys.argv[0])
34 while True:
35 old_path = full_path
36 full_path = os.path.dirname(old_path)
37 if old_path == full_path:
38 print("Something weird is happening: I did not find the EDNA_ROOT !!!")
39 sys.exit(1)
40 if os.path.isdir(os.path.join(full_path, "kernel", "datamodel")):
41 EDNA_HOME = full_path
42 os.environ["EDNA_HOME"] = full_path
43 break
44 else:
45 EDNA_HOME = os.environ["EDNA_HOME"]
46
47 xsdHomeDir = os.path.dirname(os.path.abspath(sys.argv[0]))
48
49 cmdLine = ["java", "-jar"]
50 cmdLine.append(os.path.join(EDNA_HOME, "kernel", "datamodel", "EDGenerateDS.jar"))
51 cmdLine.append("-includepaths")
52 cmdLine.append(os.path.join(EDNA_HOME, "kernel", "datamodel"))
53 cmdLine.append("-sourceDir")
54 cmdLine.append(xsdHomeDir)
55 cmdLine.append("-sourceFile")
56 cmdLine.append(xsDataName)
57 cmdLine.append("-targetdir")
58 cmdLine.append(os.path.join(os.path.dirname(xsdHomeDir), "src"))
59 sub = subprocess.Popen(cmdLine, cwd=tempfile.gettempdir())
60 print("Java code for data-binding finished with exit code %s" % sub.wait())
61