Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Heresy mark II (summaries and replies)

Title: New Page 1
Jeff et al.,
Yes, "if Ganymatic is file copying, why is it a pain to keep running?" is a legitimate question. The two things that Ganymatic does beyond just copying files are:
  1. It finds the transitive closure of the files that need copying (by following the dependencies listed in the features and plug-ins). If we didn't have this feature in Ganymatic, then each project would have to describe exactly the set of files that they are contributing rather than just the root features.
  2. It merges the site.xmls from all the projects into a single site.xml listing all the features, etc.

The most common ways for it to fail are:
  1. A bug in the update manager, because it uses the update manager to do the file copying.
  2. A project team updates the files on their own update site but does not update their version numbers in Ganymede. Thus when Ganymatic runs, it searches for the versions it has been told to search for, but fails to find them.
  3. Occasionally, Ganymatic breaks when there is a legitimate version conflict between projects, but that is fairly rare because each of the projects is building against all of its dependencies already and thus finding conflicts early.
  4. There are also bugs in my various Ganymatic batch scripts, build scripts, web page generators, etc. That's just the curse of having more lines of code to maintain - more lines of code = more bugs.

One solution to (2) is to use wider version ranges in Ganymede sc files (e.g., "LATEST"), but the project teams have so far resisted doing that because they want to have control over the exact version that Ganymatic picks up. With that detailed control, of course, comes the responsibility to keep that data up-to-date, but that's not happening consistently.

- Bjorn

Jeff McAffer wrote:
If all Ganymatic does is copy files, how does it fail and why is it so much work to run/maintain?  That is an honest question.  My assumption is that if something that fails in Ganymatic it is somehow going to fail for end users.  I realize that the reverse may not be true (e.g., working in Ganymatic does not necessarily imply it will work for the user) but some coherence checking is better than none.

[end of message]

Back to the top