<div dir="ltr">Hi Melissa,<div><br></div><div><div>&gt; I have opened a story to investigate general build system and</div><div>&gt; versioning changes and potentially adding e.g. mdbtools.git to</div><div>&gt; <a href="http://github.com/openmicroscopy">github.com/openmicroscopy</a>:</div>

<div>&gt; </div><div>&gt; <a href="http://trac.openmicroscopy.org.uk/ome/ticket/11228">http://trac.openmicroscopy.org.uk/ome/ticket/11228</a></div></div><div><br></div><div style>Thank you for creating these tickets! I have written a few comments. For anyone else interested: any further discussion on these issues can be found by following that link.</div>

<div style><br></div><div style>Regards,</div><div style>Curtis</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 4, 2013 at 12:06 PM, Melissa Linkert <span dir="ltr">&lt;<a href="mailto:melissa@glencoesoftware.com" target="_blank">melissa@glencoesoftware.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Curtis,<br>
<div class="im"><br>
&gt; I do not see it as one codebase, but rather several projects which all<br>
&gt; currently happen to be lumped into one repository with a single release<br>
&gt; schedule imposed upon them. Right now, all of these project releases are<br>
&gt; dictated by the OMERO release schedule [3]. The OME team is ramping up for<br>
&gt; the OMERO 5 release, and presumably a Bio-Formats 5 release will go along<br>
&gt; with that. But what is really so radically new in Bio-Formats 5? Nothing, I<br>
&gt; would argue. Now, e.g., an extensible SCIFIO-based Bio-Formats would<br>
&gt; justify a 5.0.0 release. But instead, I am sad to see Bio-Formats versions<br>
&gt; that have little semantic meaning [4] with respect to Bio-Formats itself,<br>
&gt; all because of the simultaneous top-down release schedule driven by the<br>
&gt; OMERO project.<br>
&gt;<br>
&gt; Instead, my proposal emphasizes the individual projects as useful to the<br>
&gt; community and the world in their own right. For example, MDB Tools Java is<br>
&gt; not available anywhere else to my knowledge [5], since we rescued it from<br>
&gt; an obscure forum post. Wouldn&#39;t it be a wonderful service to the community<br>
&gt; to post it to its own Git repository on GitHub, so that it is easy to find,<br>
&gt; and the greater community (beyond just those interested in OME) might<br>
&gt; contribute back?<br>
&gt;<br>
&gt; I understand I am proposing a substantial change. It is certainly about<br>
&gt; more than just improving the code generation process. That&#39;s why I changed<br>
&gt; the subject. And I understand the reluctance to change anything that might<br>
&gt; disrupt current development processes. But in this case, I think the change<br>
&gt; would be well worth it to make the OME projects into even better members of<br>
&gt; the global FOSS community.<br>
<br>
</div>I can see the value in doing this for some of the components (such as<br>
components/forks/*), but doing this for every single component would have<br>
a negative impact on the workflow of the OME team without a clear benefit.<br>
<br>
I have opened a story to investigate general build system and versioning<br>
changes and potentially adding e.g. mdbtools.git to <a href="http://github.com/openmicroscopy" target="_blank">github.com/openmicroscopy</a>:<br>
<br>
<a href="http://trac.openmicroscopy.org.uk/ome/ticket/11228" target="_blank">http://trac.openmicroscopy.org.uk/ome/ticket/11228</a><br>
<br>
All of the tasks under that story are fairly significant undertakings<br>
though, and as such I have not yet assigned a milestone.<br>
<br>
Regards,<br>
-Melissa<br>
<div class="HOEnZb"><div class="h5"><br>
On Fri, Jun 14, 2013 at 04:52:08PM -0500, Curtis Rueden wrote:<br>
&gt; Hi Melissa &amp; everyone,<br>
&gt;<br>
&gt; Thank you for replying to my suggestion. I appreciate the discussion.<br>
&gt;<br>
&gt; &gt; Note that we&#39;ve previously (and relatively recently) put quite a bit<br>
&gt; &gt; of effort into getting the OME-XML code and specification into<br>
&gt; &gt; bioformats.git.<br>
&gt;<br>
&gt; Yes, you might recall that I am the one who did most of that work. ;-) [1]<br>
&gt;<br>
&gt; And I would be willing to do it again, if it meant a cleaner build system.<br>
&gt; (Though splitting subtrees is much less complicated.)<br>
&gt;<br>
&gt; &gt; If we were to follow this proposal, and unless I misunderstand, then<br>
&gt; &gt; making one simple change in the OME-XML schema (e.g. changing a single<br>
&gt; &gt; field type) would require:<br>
&gt;<br>
&gt; Well, I think specification and ome-xml should live in the same repository.<br>
&gt;<br>
&gt; So it would require:<br>
&gt; - filing a PR into the specification repo (ome-xml.git in my proposal)<br>
&gt; - cutting a new ome-xml release artifact<br>
&gt; - filing a PR into bioformats.git to update the version of ome-xml<br>
&gt;<br>
&gt; So, two PRs instead of one. (As Mark said, scifio.git doesn&#39;t depend on<br>
&gt; ome-xml.) But the schema and ome-xml code doesn&#39;t change nearly as often as<br>
&gt; Bio-Formats does, of course.<br>
&gt;<br>
&gt; Still, I can appreciate how two PRs might be undesirable (believe me; you<br>
&gt; know how much I hate the develop/dev_4_4 split :-). To avoid that, you<br>
&gt; could keep specification &amp; ome-xml &amp; bio-formats in the same git repository<br>
&gt; as they are now, while still using separate versioning per component. This<br>
&gt; would provide on target for PRs, while making it much simpler for most<br>
&gt; people to build Bio-Formats thanks to remote release dependency resolution<br>
&gt; of Maven/Ivy/etc.<br>
&gt;<br>
&gt; &gt; Our policy so far has been to release everything at once; I think it<br>
&gt; &gt; would make more sense to agree first whether that should be changed,<br>
&gt; &gt; and then consider solutions.  I personally do favor having everything<br>
&gt; &gt; be released at once, as it makes keeping track of version numbers<br>
&gt; &gt; (mentally and when supporting users) much easier.<br>
&gt;<br>
&gt; Indeed, my proposal hinges on the idea that everything should actually not<br>
&gt; be released at once -- that many of these are separate projects, which are<br>
&gt; A) useful in their own right, outside an OMERO-specific context; and B)<br>
&gt; developed at a much different pace than one another, resulting in<br>
&gt; gratuitous/unnecessary/confusing releases when all continue to be versioned<br>
&gt; together. [2]<br>
&gt;<br>
&gt; &gt; I understand the desire for smarter autogeneration, but I think that<br>
&gt; &gt; would be much better accomplished within our existing build systems,<br>
&gt; &gt; rather than fragmenting the codebase.<br>
&gt;<br>
&gt; I do not see it as one codebase, but rather several projects which all<br>
&gt; currently happen to be lumped into one repository with a single release<br>
&gt; schedule imposed upon them. Right now, all of these project releases are<br>
&gt; dictated by the OMERO release schedule [3]. The OME team is ramping up for<br>
&gt; the OMERO 5 release, and presumably a Bio-Formats 5 release will go along<br>
&gt; with that. But what is really so radically new in Bio-Formats 5? Nothing, I<br>
&gt; would argue. Now, e.g., an extensible SCIFIO-based Bio-Formats would<br>
&gt; justify a 5.0.0 release. But instead, I am sad to see Bio-Formats versions<br>
&gt; that have little semantic meaning [4] with respect to Bio-Formats itself,<br>
&gt; all because of the simultaneous top-down release schedule driven by the<br>
&gt; OMERO project.<br>
&gt;<br>
&gt; Instead, my proposal emphasizes the individual projects as useful to the<br>
&gt; community and the world in their own right. For example, MDB Tools Java is<br>
&gt; not available anywhere else to my knowledge [5], since we rescued it from<br>
&gt; an obscure forum post. Wouldn&#39;t it be a wonderful service to the community<br>
&gt; to post it to its own Git repository on GitHub, so that it is easy to find,<br>
&gt; and the greater community (beyond just those interested in OME) might<br>
&gt; contribute back?<br>
&gt;<br>
&gt; I understand I am proposing a substantial change. It is certainly about<br>
&gt; more than just improving the code generation process. That&#39;s why I changed<br>
&gt; the subject. And I understand the reluctance to change anything that might<br>
&gt; disrupt current development processes. But in this case, I think the change<br>
&gt; would be well worth it to make the OME projects into even better members of<br>
&gt; the global FOSS community.<br>
&gt;<br>
&gt; Regards,<br>
&gt; Curtis<br>
&gt;<br>
&gt; [1] <a href="http://trac.openmicroscopy.org.uk/ome/ticket/10435#comment:8" target="_blank">http://trac.openmicroscopy.org.uk/ome/ticket/10435#comment:8</a><br>
&gt;<br>
&gt; [2] One quick example of how the gratuitous releases cause problems:<br>
&gt; whenever I update Bio-Formats using the ImageJ updater, it notices that<br>
&gt; several of the JARs actually have no functional changes, and does not alter<br>
&gt; the version number of the JAR files. Yes, we could potentially fix this in<br>
&gt; the updater, but wouldn&#39;t it make more sense to simply not make vacuous<br>
&gt; releases in the first place?<br>
&gt;<br>
&gt; [3] Note that we are not even that consistent, since there are several<br>
&gt; other projects we develop like native-lib-loader which are *not*<br>
&gt; synchronized with the OMERO/Bio-Formats version. This works just fine,<br>
&gt; since we treat those projects as external dependencies. The same thing<br>
&gt; would work fine for the components/forks, components/stubs and ome-xml.<br>
&gt;<br>
&gt; [4] ImageJ2 and SCIFIO are now using SemVer, which conveys useful<br>
&gt; information in the version number: <a href="http://semver.org/" target="_blank">http://semver.org/</a><br>
&gt;<br>
&gt; [5] Well, potentially this: <a href="http://jackcess.sourceforge.net/" target="_blank">http://jackcess.sourceforge.net/</a><br>
&gt;<br>
&gt;<br>
&gt; On Tue, Jun 11, 2013 at 12:52 PM, Melissa Linkert &lt;<br>
&gt; <a href="mailto:melissa@glencoesoftware.com">melissa@glencoesoftware.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; Hi Curtis,<br>
&gt; &gt;<br>
&gt; &gt; &gt; That said, I think Bio-Formats would greatly benefit from substantial<br>
&gt; &gt; &gt; modularization of components. We are realizing this with SCIFIO, and I<br>
&gt; &gt; &gt; think it applies to the OME-XML component as well.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Below, I will lay out what I think is a better structure for the build<br>
&gt; &gt; &gt; system, which would result in more advantages and less pain than with the<br>
&gt; &gt; &gt; current structure.<br>
&gt; &gt; ...<br>
&gt; &gt; &gt; MetadataStore, MetadataRetrieve, etc., would move to the ome-xml<br>
&gt; &gt; component,<br>
&gt; &gt; &gt; keeping all generated code together.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; One Git repository for each of:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; - SCIFIO (<a href="https://github.com/scifio/scifio" target="_blank">https://github.com/scifio/scifio</a>)<br>
&gt; &gt; &gt; - OME-XML (<a href="https://github.com/openmicroscopy/ome-xml" target="_blank">https://github.com/openmicroscopy/ome-xml</a>)<br>
&gt; &gt; &gt; - Bio-Formats (<a href="https://github.com/openmicroscopy/bioformats" target="_blank">https://github.com/openmicroscopy/bioformats</a>)<br>
&gt; &gt; &gt; - Fork: Apache POI (<a href="https://github.com/openmicroscopy/ome-poi" target="_blank">https://github.com/openmicroscopy/ome-poi</a>)<br>
&gt; &gt; &gt;  -- change package prefix to avoid third party code collisions<br>
&gt; &gt; &gt; - Fork: MDB Tools Java (<a href="https://github.com/openmicroscopy/ome-mdb-tools" target="_blank">https://github.com/openmicroscopy/ome-mdb-tools</a>)<br>
&gt; &gt; &gt;  -- change package prefix to avoid third party code collisions<br>
&gt; &gt; &gt; - Fork: JAI Image I/O (<a href="https://github.com/scifio/scifio-jai-image-io" target="_blank">https://github.com/scifio/scifio-jai-image-io</a>)<br>
&gt; &gt; &gt;  -- change package prefix to avoid third party code collisions<br>
&gt; &gt; &gt; - Stub: LWF (<a href="https://github.com/scifio/lwf-stubs" target="_blank">https://github.com/scifio/lwf-stubs</a>)<br>
&gt; &gt;<br>
&gt; &gt; What you and Mark do for your work on SCIFIO is up to you, but I would<br>
&gt; &gt; be extremely hesitant to do something like this for Bio-Formats itself.<br>
&gt; &gt; Spreading one codebase across 7 different repositories is at best<br>
&gt; &gt; invasive, and would have a substantial impact upon anyone who routinely<br>
&gt; &gt; works on Bio-Formats.<br>
&gt; &gt;<br>
&gt; &gt; &gt; In other words, OME-XML gets its own Git repository, which includes all<br>
&gt; &gt; the<br>
&gt; &gt; &gt; code generated code. Each fork and stub also has its own repository in<br>
&gt; &gt; the<br>
&gt; &gt; &gt; relevant namespace.<br>
&gt; &gt;<br>
&gt; &gt; Note that we&#39;ve previously (and relatively recently) put quite a bit of<br>
&gt; &gt; effort into getting the OME-XML code and specification into bioformats.git.<br>
&gt; &gt;<br>
&gt; &gt; &gt; Dependencies between repositories would be done by release version<br>
&gt; &gt; &gt; coupling. For Maven projects (i.e., SCIFIO), simply making releases and<br>
&gt; &gt; &gt; using release dependencies would be sufficient to facilitate repeatable<br>
&gt; &gt; &gt; builds. For Ant-based projects (i.e., stuff in openmicroscopy namespace),<br>
&gt; &gt; &gt; release JARs would continue to be committed to the repository as they are<br>
&gt; &gt; &gt; now, or they could be resolved remotely via Ivy or similar.<br>
&gt; &gt;<br>
&gt; &gt; I don&#39;t agree that doing that makes things easier.  If we were to follow<br>
&gt; &gt; this proposal, and unless I misunderstand, then making one simple change in<br>
&gt; &gt; the OME-XML schema (e.g. changing a single field type) would require:<br>
&gt; &gt;<br>
&gt; &gt;   - a pull request into whichever repository houses the specification<br>
&gt; &gt;     (currently bioformats.git)<br>
&gt; &gt;   - creation of &quot;release&quot; artifacts from whichever repository houses the<br>
&gt; &gt;     specification<br>
&gt; &gt;   - a pull request into ome-xml.git (to update the autogenerated code)<br>
&gt; &gt;   - creation of release JARs from ome-xml.git<br>
&gt; &gt;   - a pull request into scifio.git (to update SCIFIO readers)<br>
&gt; &gt;   - creation of release JARs from scifio.git<br>
&gt; &gt;   - a pull request into bioformats.git (to update Bio-Formats readers)<br>
&gt; &gt;<br>
&gt; &gt; ...instead of what we have now, which is a single pull request into<br>
&gt; &gt; bioformats.git.<br>
&gt; &gt;<br>
&gt; &gt; &gt; This would making building Bio-Formats much simpler and faster. As Roger<br>
&gt; &gt; &gt; pointed out, we do not really need to code generate the OME-XML stuff on<br>
&gt; &gt; &gt; every build, but rather only when the schema changes. Of course, the<br>
&gt; &gt; &gt; OME-XML component contains other code which would be subject to change<br>
&gt; &gt; &gt; between schema releases, but that&#39;s fine.<br>
&gt; &gt;<br>
&gt; &gt; I understand the desire for smarter autogeneration, but I think that<br>
&gt; &gt; would be much better accomplished within our existing build systems,<br>
&gt; &gt; rather than fragmenting the codebase.<br>
&gt; &gt;<br>
&gt; &gt; &gt; This more modular structure would also facilitate these components being<br>
&gt; &gt; &gt; developed on separate release cycles. The forks and stubs rarely change<br>
&gt; &gt; and<br>
&gt; &gt; &gt; do not need to be released with every OME release. And the OME-XML<br>
&gt; &gt; project<br>
&gt; &gt; &gt; could be released along side schema changes (i.e., twice a year) rather<br>
&gt; &gt; &gt; than with every OME release.<br>
&gt; &gt;<br>
&gt; &gt; Our policy so far has been to release everything at once; I think it<br>
&gt; &gt; would make more sense to agree first whether that should be changed, and<br>
&gt; &gt; then consider solutions.  I personally do favor having everything be<br>
&gt; &gt; released at once, as it makes keeping track of version numbers (mentally<br>
&gt; &gt; and when supporting users) much easier.<br>
&gt; &gt;<br>
&gt; &gt; Again, what you do with respect to <a href="http://github.com/scifio/scifio" target="_blank">http://github.com/scifio/scifio</a> is up<br>
&gt; &gt; to you.  Doing this for Bio-Formats itself would have a non-trivial impact<br>
&gt; &gt; on every single OME team member and a large portion of the developer<br>
&gt; &gt; community,<br>
&gt; &gt; and as such I think it would be better to consider other options for<br>
&gt; &gt; making autogeneration easier.<br>
&gt; &gt;<br>
&gt; &gt; Regards,<br>
&gt; &gt; -Melissa<br>
&gt; &gt;<br>
&gt; &gt; On Mon, Jun 10, 2013 at 10:50:25AM -0500, Curtis Rueden wrote:<br>
&gt; &gt; &gt; Hi Roger &amp; everyone,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Sorry for the delay in reply. After spending the last couple of weeks on<br>
&gt; &gt; &gt; ImageJ build issues related to native code components (specifically, the<br>
&gt; &gt; &gt; ImageJ launcher in C), I have some new perspective on the new code<br>
&gt; &gt; &gt; generation of the Bio-Formats build system.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; First of all, I want to say thanks to Roger for solving the build for<br>
&gt; &gt; both<br>
&gt; &gt; &gt; Ant and Maven. I know maintaining the dual build systems can be<br>
&gt; &gt; substantial<br>
&gt; &gt; &gt; extra work. But I think the Maven system has many advantages, so I am<br>
&gt; &gt; happy<br>
&gt; &gt; &gt; it is being maintained.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; That said, I think Bio-Formats would greatly benefit from substantial<br>
&gt; &gt; &gt; modularization of components. We are realizing this with SCIFIO, and I<br>
&gt; &gt; &gt; think it applies to the OME-XML component as well.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Below, I will lay out what I think is a better structure for the build<br>
&gt; &gt; &gt; system, which would result in more advantages and less pain than with the<br>
&gt; &gt; &gt; current structure.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; One thing which might be an issue is that while xsd-fu generates the<br>
&gt; &gt; &gt; &gt; ome-xml model code, which could potentially be downloaded, it also<br>
&gt; &gt; &gt; &gt; generates all the MetadataStore, MetadateRetrieve and all the other<br>
&gt; &gt; &gt; &gt; Metadata-related classes in scifio, including OMEXMLMetadataImpl.<br>
&gt; &gt; &gt; &gt; Given that these are paired with the generated model code, generating<br>
&gt; &gt; &gt; &gt; one and downloading the other may result in breakage on model changes,<br>
&gt; &gt; &gt; &gt; or changes in xsd-fu or the templates which change the generated code.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; MetadataStore, MetadataRetrieve, etc., would move to the ome-xml<br>
&gt; &gt; component,<br>
&gt; &gt; &gt; keeping all generated code together.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; One Git repository for each of:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; - SCIFIO (<a href="https://github.com/scifio/scifio" target="_blank">https://github.com/scifio/scifio</a>)<br>
&gt; &gt; &gt; - OME-XML (<a href="https://github.com/openmicroscopy/ome-xml" target="_blank">https://github.com/openmicroscopy/ome-xml</a>)<br>
&gt; &gt; &gt; - Bio-Formats (<a href="https://github.com/openmicroscopy/bioformats" target="_blank">https://github.com/openmicroscopy/bioformats</a>)<br>
&gt; &gt; &gt; - Fork: Apache POI (<a href="https://github.com/openmicroscopy/ome-poi" target="_blank">https://github.com/openmicroscopy/ome-poi</a>)<br>
&gt; &gt; &gt;  -- change package prefix to avoid third party code collisions<br>
&gt; &gt; &gt; - Fork: MDB Tools Java (<a href="https://github.com/openmicroscopy/ome-mdb-tools" target="_blank">https://github.com/openmicroscopy/ome-mdb-tools</a>)<br>
&gt; &gt; &gt;  -- change package prefix to avoid third party code collisions<br>
&gt; &gt; &gt; - Fork: JAI Image I/O (<a href="https://github.com/scifio/scifio-jai-image-io" target="_blank">https://github.com/scifio/scifio-jai-image-io</a>)<br>
&gt; &gt; &gt;  -- change package prefix to avoid third party code collisions<br>
&gt; &gt; &gt; - Stub: LWF (<a href="https://github.com/scifio/lwf-stubs" target="_blank">https://github.com/scifio/lwf-stubs</a>)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; In other words, OME-XML gets its own Git repository, which includes all<br>
&gt; &gt; the<br>
&gt; &gt; &gt; code generated code. Each fork and stub also has its own repository in<br>
&gt; &gt; the<br>
&gt; &gt; &gt; relevant namespace.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Dependencies between repositories would be done by release version<br>
&gt; &gt; &gt; coupling. For Maven projects (i.e., SCIFIO), simply making releases and<br>
&gt; &gt; &gt; using release dependencies would be sufficient to facilitate repeatable<br>
&gt; &gt; &gt; builds. For Ant-based projects (i.e., stuff in openmicroscopy namespace),<br>
&gt; &gt; &gt; release JARs would continue to be committed to the repository as they are<br>
&gt; &gt; &gt; now, or they could be resolved remotely via Ivy or similar.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; This would making building Bio-Formats much simpler and faster. As Roger<br>
&gt; &gt; &gt; pointed out, we do not really need to code generate the OME-XML stuff on<br>
&gt; &gt; &gt; every build, but rather only when the schema changes. Of course, the<br>
&gt; &gt; &gt; OME-XML component contains other code which would be subject to change<br>
&gt; &gt; &gt; between schema releases, but that&#39;s fine.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; This more modular structure would also facilitate these components being<br>
&gt; &gt; &gt; developed on separate release cycles. The forks and stubs rarely change<br>
&gt; &gt; and<br>
&gt; &gt; &gt; do not need to be released with every OME release. And the OME-XML<br>
&gt; &gt; project<br>
&gt; &gt; &gt; could be released along side schema changes (i.e., twice a year) rather<br>
&gt; &gt; &gt; than with every OME release.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Comments welcome.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; Curtis<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Thu, May 2, 2013 at 12:25 PM, Roger Leigh &lt;<a href="mailto:r.leigh@dundee.ac.uk">r.leigh@dundee.ac.uk</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On 02/05/2013 16:52, Curtis Rueden wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;   &gt; If so, the build is completely identical--the sources which get<br>
&gt; &gt; &gt; &gt;&gt;  &gt; generated on the fly from the templates by xsd-fu are identical<br>
&gt; &gt; bar a<br>
&gt; &gt; &gt; &gt;&gt;  &gt; few lines comments in the top  boilerplate.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; OK, good to know.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; One more question/concern: presumably, the Bio-Formats build no longer<br>
&gt; &gt; &gt; &gt;&gt; functions on Windows, due to the Python + Genshi dependency. With the<br>
&gt; &gt; &gt; &gt;&gt; Ant build, this might be non-trivial to solve. But solving the issue<br>
&gt; &gt; &gt; &gt;&gt; with Maven is very straightforward: include the &quot;ome-xml&quot; module in<br>
&gt; &gt; the<br>
&gt; &gt; &gt; &gt;&gt; reactor only within a profile. Then, when that profile is not enabled,<br>
&gt; &gt; &gt; &gt;&gt; Maven will resolve the ome-xml dependency from the remote repository<br>
&gt; &gt; &gt; &gt;&gt; rather than regenerating and rebuilding the code. This would eliminate<br>
&gt; &gt; &gt; &gt;&gt; the need to install Genshi, and make it easier to build on Windows<br>
&gt; &gt; &gt; &gt;&gt; again. What do you think?<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I&#39;m afraid I&#39;m no authority on Maven, so I&#39;m not sure.  Maybe Melissa<br>
&gt; &gt; or<br>
&gt; &gt; &gt; &gt; Josh have a better take on this than me.  I assume that this will work<br>
&gt; &gt; &gt; &gt; correctly on Windows if python is installed?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; One thing which might be an issue is that while xsd-fu generates the<br>
&gt; &gt; &gt; &gt; ome-xml model code, which could potentially be downloaded, it also<br>
&gt; &gt; &gt; &gt; generates all the MetadataStore, MetadateRetrieve and all the other<br>
&gt; &gt; &gt; &gt; Metadata-related classes in scifio, including OMEXMLMetadataImpl.<br>
&gt; &gt;  Given<br>
&gt; &gt; &gt; &gt; that these are paired with the generated model code, generating one and<br>
&gt; &gt; &gt; &gt; downloading the other may result in breakage on model changes,<br>
&gt; &gt; &gt; &gt; or changes in xsd-fu or the templates which change the generated code.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; While it&#39;s not all enabled yet, I&#39;d like to have the model selectable<br>
&gt; &gt; as<br>
&gt; &gt; &gt; &gt; an ant properly (it&#39;s xsdfu.schemaver), so that it&#39;s possible to change<br>
&gt; &gt; &gt; &gt; to a different model when building.  There&#39;s currently some hardcoded<br>
&gt; &gt; &gt; &gt; &quot;2012-06&quot; versions which need to be switched to change to use the<br>
&gt; &gt; &gt; &gt; property value.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; &gt; Roger<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; Dr Roger Leigh -- Open Microscopy Environment<br>
&gt; &gt; &gt; &gt; Wellcome Trust Centre for Gene Regulation and Expression,<br>
&gt; &gt; &gt; &gt; College of Life Sciences, University of Dundee, Dow Street,<br>
&gt; &gt; &gt; &gt; Dundee DD1 5EH Scotland UK   Tel: (01382) 386364<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; The University of Dundee is a registered Scottish Charity, No: SC015096<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; ______________________________**_________________<br>
&gt; &gt; &gt; &gt; ome-devel mailing list<br>
&gt; &gt; &gt; &gt; ome-devel@lists.**<a href="http://openmicroscopy.org.uk" target="_blank">openmicroscopy.org.uk</a>&lt;<br>
&gt; &gt; <a href="mailto:ome-devel@lists.openmicroscopy.org.uk">ome-devel@lists.openmicroscopy.org.uk</a>&gt;<br>
&gt; &gt; &gt; &gt; <a href="http://lists.openmicroscopy." target="_blank">http://lists.openmicroscopy.</a>**<a href="http://org.uk/mailman/listinfo/ome-**devel" target="_blank">org.uk/mailman/listinfo/ome-**devel</a>&lt;<br>


&gt; &gt; <a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" target="_blank">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</a>&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; ome-devel mailing list<br>
&gt; &gt; &gt; <a href="mailto:ome-devel@lists.openmicroscopy.org.uk">ome-devel@lists.openmicroscopy.org.uk</a><br>
&gt; &gt; &gt; <a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" target="_blank">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
</div></div></blockquote></div><br></div>