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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
<html>
<head>
<title>Read me for MSV developers</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1 style="text-align:center">ReadMe for MSV development</h1>
<div style="text-align:right; font-size:smaller">by Kohsuke KAWAGUCHI</div>
<h2>Directory structure</h2>
<p>
MSV consists of a number of sub projects.
Each sub projects has its own directory, its own build script, etc.
</p>
<table border=1>
<tr><td>
xsdlib
</td><td>
Sun XML Datatypes Library. An implementation of W3C XML Schema Part 2.
</td></tr>
<tr><td>
testharness
</td><td>
Test harness that is used to parse composite test suite files (.ssuite).
</td></tr>
<tr><td>
msv
</td><td>
Sun Multi-Schema XML Validator. A schema model and validator implementation. Dependent on XSDLib and test harness.
</td></tr>
<tr><td>
rngconverter
</td><td>
Sun RELAX NG Converter. reads a schema and produces an equivalent RELAX NG schema. Dependent on MSV.
</td></tr>
<tr><td>
generator
</td><td>
Sun XML Instance Generator. A tool that produces valid XML documents by reading a schema. Dependent on MSV.
</td></tr>
<tr><td>
relames
</td><td>
Sun Multi-Schema XML Validator Schematron add-on. An experimental implementation of RELAX NG + Schematron validation. Dependent on MSV.
</td></tr>
<tr><td>
sox2rng
</td><td>
SOX to RELAX NG converter. Dependent on MSV.
</td></tr>
<tr><td>
tahiti
</td><td>
Data-binding implementation
</td></tr>
<tr><td>
trexconverter
</td><td>
TREX Converter. Reads a schema and produces an equivalent TREX pattern.
This project is no longer maintained.
</td></tr>
</table>
<p>
There are several other directories which are used to store other materials.
</p>
<table border=1>
<tr><td>
shared
</td><td>
keeps shared information among multiple subprojects.
</td></tr>
<tr><td>
testCases
</td><td>
keeps test instances/schemas.
</td></tr>
</table>
<h3>Sub-project structure</h3>
<p>
Most of the sub projects have a similar directory structure.
</p>
<table border=1>
<tr><td>
src
</td><td>
keeps source files. Files in this directory will be included
in the release package.
</td></tr>
<tr><td>
test
</td><td>
keeps test files. Files in this directory will NOT be included
in the release package. JUnit is used throughout the project,
and every test code must have "Test.java" as suffix to be recognized
as a test.
</td></tr>
<tr><td>
bin
</td><td>
keeps the compiled .class files. both "test" and "src" are
compiled into this directory.
</td></tr>
<tr><td>
doc
</td><td>
release documentation. Files in this directory will be included
in the release package.
</td></tr>
</table>
<h2>Build instruction</h2>
<p>
To build the entire project, use Ant. The build script also contains the "release" target,
which builds the release packages for all sub projects in a proper order.
</p><p>
When preparing release packages, it is a good idea to use this target
so that dependencies are processed correctly. (But you should run a project-local "release" first to make sure that there is no error in the repository.)
</p>
<h3>Project-wise build</h3>
<p>
When you are working on a sub project, you can use the project-local build script. Most of the build scripts are similar, and usually they have
following targets.
</p>
<table border=1>
<tr><td>
binary (default)
</td><td>
compiles everything into bin
</td></tr>
<tr><td>
javadoc
</td><td>
generates javadoc from the working copy.
Useful to check the documentation.
</td></tr>
<tr><td>
dist
</td><td>
makes a distribution package in the dist/ directory.
</td></tr>
<tr><td>
release
</td><td>
Compresses the result of the dist target into a single zip file
and put it to the package/ directory.
</td></tr>
</table>
</body>
</html>
|