This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
I have been keeping a number of changes locally in my tree and would like to use this bug to communicate them and see if we can't get a consensus of where to go from here on organizing build.xml and the dist outputs. I will attach a diff from my working copy against the trunk along with a number of new files, then edit the diff to comment on the changes. I am filing this under process, but it might best be placed in a new "Build" component if you want me to create one re: bug 189.
Created attachment 60 [details] cvs -z3 -q diff -u Changes made to my local tree which will serve as the basis for comments
Created attachment 61 [details] doxygen/dom1-html.doxygen
Created attachment 62 [details] doxygen/dom3-core.doxygen
Created attachment 63 [details] doxygen/dom3-ls.doxygen
Created attachment 64 [details] doxygen/dom3-xpath.doxygen
Created attachment 65 [details] tests/level1/html/metadata.xml
Created attachment 66 [details] docs/level1/html/index.htm
With the exception of the docs/level3/* files and the docs/level1/html/resources/* directories which are essentially copies of other files in the tree, I believe this is the list of new files used in my tree. Discussion of changes to build.xml Note that the current dom?-*-dist targets do not include the ecmascript versions of the tests in the dist output. Some of the changes in build.xml such as @@ -605,18 +605,22 @@ All implementation conditions combined i <copy todir="${build.dir}/level1/core/ecmascript/docs"> <fileset dir="${build.dir}/ecmascript/jsunit/docs" excludes="*.bak"/> </copy> <mkdir dir="${build.dir}/level1/core/ecmascript/jsunit-self-tests"/> <copy todir="${build.dir}/level1/core/ecmascript/jsunit-self-tests"> <fileset dir="${build.dir}/ecmascript/jsunit/tests" excludes="*.bak"/> </copy> <copy file="${build.dir}/dom1-core-matrix.html" todir="${build.dir}/level1/core"/> + <mkdir dir="${build.dir}/level1/core/ecmascript/level1/core"/> + <copy todir="${build.dir}/level1/core/ecmascript/level1/core"> + <fileset dir="${build.dir}/ecmascript/level1/core"/> + </copy> <mkdir dir="${build.dir}/level1/core/tests/files"/> <copy todir="${build.dir}/level1/core/tests"> <fileset dir="${tests.dir}/level1/core" includes="*.xml"/> <fileset dir="${build.dir}" includes="dom1.dtd"/> <fileset dir="${build.dir}" includes="dom1.xsd"/> <fileset dir="${transforms.dir}" includes="test-to-html.xsl"/> </copy> <copy todir="${build.dir}/level1/core/tests/files"> are meant to correct this. There are corresponding changes to the other targets as well. Many of the other changes are meant to include targets which are missing from the current build.xml. These include dom1-html-dist dom1-html-doxygen dom3-ls-gen-jsunit dom3-core-metadata dom3-ls-metadata dom3-core-matrix dom3-ls-matrix dom3-core-doxygen dom3-ls-doxygen dom3-xpath-doxygen dom3-core-dist dom3-ls-dist dom3-xpath-dist Note the difference between the dom1-html-dist target and the dom1-core-dist target. dom1-html-dist copies jsunit to ${build.dir}/ecmascript/jsunit rather than ${build.dir}/ecmascript. This is necessary since the actual ecmascript tests contain references to ../../jsunit/. I accidentally lost the corresponding changes to dom1-core-dist while synching with the trunk this morning, but similar changes are necessary there as well. Also note the changes to the dom3-subjects target. The paths used in the style tasks need to be corrected to point to the actual locations for the specificatin sources. Note that I commented out the views transform since the specification for views includes a reference to a missing toc.xml file which breaks the build if you attempt to build the level3 targets which depend on dom3-subjects. The dom3 views specification document needs to be corrected. These changes will allow the building of the following targets: dom1-core-dist, dom1-html-dist, dom3-core-dist, dom2-html-dist, dom3-core-dist, dom3-xpath-dist, will allow the ecmascript tests to be run and can form the basis for futher improvements to build.xml. If I can convince you to agree to these or similar changes to build.xml, I would then like to propose additional changes to be made after these changes are commited. 1. reorganize the sequence of targets in build.xml so that all dom1* targets appear together in the file and within that area all dom1-core*, dom1-html* targets appear together. Similarly for the other levels as well. I think this would improve the readability and maintainability of the build.xml file. 2. reorganize the directory structure of the dist outputs. Currently, the build directory structure does not correspond directly to the structure used in the dist. I think these should be made to mirror each other very closely. In addition, the current directory structure used in the dist directories does not use a structure which supports the easy combination of various distributions. For example, each distribution zip/tar file does not separate its content into a distinct directory such as dom1-core/, etc; Each dist includes separate instances of jsunit and junit; each docs/level?/*/ contains identical resources directories, etc. This kind of reorganization would help eliminate redundant content in the cvs tree and allow optional packaging of different test suites (e.g. dom1-core, dom2-core, dom2-html) together in the same files which would be helpful for people who wish to download and use the test suites. The changes necessary to change the dist directory structure for the ecmascript portions are relatively easy however it is not clear to me how such changes should be made for the java portions. I feel that the changes identified in the attached patch and files should be made so that we can start from a build.xml which is capable of building all of the targets in runnable form. Once that is accomplished we can attempt a reorganization of build.xml and the dist directories with the ability to test that any changes result in a system which will successfully build each dist target and produce runnable versions of the test suites. Whether you wish to use these changes as is or use changes of your own production, I believe that we must address these issues before we can hope to drive the test suites to completion.
Created attachment 67 [details] cvs -z3 -q diff -u (v2) This attachment contains a new version of the full diff which contains the changes to the jsunit output directory for dom1-core and dom2-core which were missing from the earlier attachment. I have posted a version of the domts using these changes to http://dom-ts.bclary.com/Read-Me-First.html where you can see the full effect, download the tarballs, browse the results online or run the tests online. This should help in evaluating the proposed changes.
committed doxygen/dom1-html.doxygen thru 11-19 patch file. Did not review changes to build.xml. build.xml has grown pretty organically. There are now sufficient targets that it might be good to refactor and parameterize the build file. JSUnit has been pretty quiet. Will need to follow up, hopefully we can coordinate so that we don't have to use a custom version.
I have been running the latest JsUnit 2.0 alpha without any changes. The change I was referring to was in the output location of the ecmascript tests which assume the ecmascript test page can reach jsunit via a path ../../jsunit/
I think the issues in this bug are all fixed with the exception of "2. reorganize the directory structure of the dist outputs" which can be revisited later.