<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Don,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Currently there are at least four independent repositories that have interactions spanning multiple repositories.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The x3d repository (<a href="https://sourceforge.net/projects/x3d/">https://sourceforge.net/projects/x3d/</a>) is the main X3D repository. Of relevance here is that it includes the Web3D examples, which includes a Netbeans project entitled “X3D examples: archive top level”.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Detailed examination reveals that this project relies upon three subprojects in three other repositories.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The first is the Xj3D repository (<a href="https://sourceforge.net/projects/xj3d/">https://sourceforge.net/projects/xj3d/</a>).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The second is the Savage examples archive (<a href="https://savage.nps.edu/svn/repos/nps/list/Savage" target="_blank">https://savage.nps.edu/svn/repos/nps/list/Savage</a>).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The third is the Savage defence examples archive. This is, of course, a restricted archive not available to the general public.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The top level project needs to refer to each of the sub projects. This needs to be done by specifying relative directories. Therefore, in order for this to be successful, the relative locations of the cloned repositories needs to be clearly specified.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I therefore suggest the following.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Assume that the top level folder exists, which for the sake of this discussion I will simply name “TopLevel”. It can be called anything the user wishes. The x3d repository should be checked out into this folder. There are two top level folders: “legacy” and “www.web3d.org”. In the latter there are two further folders: “specifications” and “x3d”.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The Xj3D repository should be checked out into the “www.web3d.org” folder. This  adds a third folder to “xj3d” to “specifications” and “x3d”.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The “x3d” folder contains five folders. The one we are particularly interested in is “content”. “content” has three folders. We are interested in “examples”. “examples” has seven  folders. Five of these are of interest, as they contain the full set of Web3D archive examples. These are “Basic”, “ConformanceNist”, “Vrml2.0Sourcebook”, “X3dForAdvancedModeling”, and “X3dForWebAuthors”. It is into the “examples” folder that the Savage examples, and, if available, the Savage Defence examples repositories should be checked into. For the Savage examples archive this adds the folder “Savage”.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In summary, this produces the following folder structure excerpt (only the relevant folders are shown – there are many more).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>TopLevel -+<o:p></o:p></p><p class=MsoNormal>                     |<o:p></o:p></p><p class=MsoNormal>                     +- legacy<o:p></o:p></p><p class=MsoNormal>                     +- www.web3d.org -+<o:p></o:p></p><p class=MsoNormal>                                                               |<o:p></o:p></p><p class=MsoNormal>                                                               +- specifications<o:p></o:p></p><p class=MsoNormal>                                                               +- xj3d<o:p></o:p></p><p class=MsoNormal>                                                               +- x3d -+<o:p></o:p></p><p class=MsoNormal>                                                                              |<o:p></o:p></p><p class=MsoNormal>                                                                              +- content -+<o:p></o:p></p><p class=MsoNormal>                                                                                                      |<o:p></o:p></p><p class=MsoNormal>                                                                                                      +- examples -+<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 |<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 +- Basic<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 +- ConformanceNist<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 +- Vrml2.0Sourcebook<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 +- X3DForAdvancedModeling<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 +- X3DForWebAuthors<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 +- Savage<o:p></o:p></p><p class=MsoNormal>                                                                                                                                 +- SavageDefence (??)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note: The nesting of repositories has not caused any problems on my Windows system.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If this folder structure is agreed then I will amend all paths to conform to this structure. I will also modify the code so that the paths are specified as variables at the start of a “build.xml” file so that, if necessary, any modifications are only required in one place.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Roy<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>