Greetings John, Just the feedback I was in need of, thanks for taking the time to respond!
On Thu, Feb 4, 2010 at 8:05 PM, John Tamplin <[email protected]> wrote: > On Wed, Feb 3, 2010 at 8:25 AM, jlaska <[email protected]> wrote: >> >> I am looking into packaging GWT for Fedora. According to the Fedora >> packaging guidelines, all packages must not include any bundled >> libraries or JAR files [1]. As a result, I have attempted to identify >> the JAR files included in GWT and whether they are already packaged in >> Fedora. >> >> So far, the process has identified many build dependencies that are >> already packaged in Fedora or JPackage (that's good news for me). >> However, there remain a few questions I could use guidance from the >> GWT team on. Those include ... > > Great! I run Fedora on my home system myself, and I think it would be great > if people could just run yum install gwt and get everything they need setup > and updated. Definitely! There are quite a few dependencies for GWT (as I'm sure you know), so I wouldn't say no to anyone interested in helping package those dependencies. :) >> >> There are several instances where multiple versions of a JAR file are >> included in GWT. For example, the full list of multiple JAR file >> versions I've observed: >> >> * emma.jar and emma_ant-2.0.5312.jar >> * xml-apis-2.0.2.jar and xerces-2_9_1/xml-apis.jar >> * tomcat/servlet-api-2.4.jar and tomcat/servlet-api-2.5.jar >> * jsp-api-2.0.jar and jsp-api-2.1.jar >> * ant-launcher-1.6.5.jar and ant-launcher-1.7.1.jar >> * nekohtml-1.9.12.jar and nekohtml-1.9.13.jar >> * jdt-3.1.1.jar, jdt-3.1.1.jar and jdt-3.1.1.jar >> * ant-1.6.1.jar, ant-1.6.5.jar and ant-1.7.1.jar >> * ant-junit-1.6.5.jar and ant-junit-1.7.1.jar >> * htmlunit-core-js-2.5.jar and htmlunit-core-js-r5070.jar >> >> The question I have ... is it safe to assume only the newest version >> of that JAR file is required, or are multiple JAR versions truly >> required at build time? > > > The tools directory is add-only, since it must be usable with any version of > GWT. So, when we upgrade to a new version, the old one stays around in case > you are building an old version of GWT against it. I see, that makes sense. > A few issues you are going to run into: > > some of the libraries have been modified (they will be documented as such), > so it probably isn't safe to replace them with standard ones You noted that the modified libraries are documented, I gather this is in the README file in the same directory? Looking in 'tools/lib' for README files I see the following special handling instructions: * gwt-2.0.0/tools/lib/protobuf/protobuf-2.2.0/README * gwt-2.0.0/tools/lib/htmlunit/README Are there others to consider? Have the local library modifications been sent/accepted in the upstream project? > we don't generally upgrade dependencies unless there is something broken in > the one we have, for the way we use it. This will cause problems if you > just rely on the system version of jetty, as an example, since there are API > changes to later versions that would break GWT. That would mean the GWT > dependency would have to be to an older version, and you may find that using > a system version pins a bunch of software at an old version. Oh good to know. This shouldn't be too much trouble. I can have GWT %buildrequire a specific version of a library. If newer versions of that library are available, I should be able to provide the older library as a compatibility. Perhaps the same question as earler, is there a way to tell when GWT requires a *specific* library version? Or should I default to using the latest, and see where the build fails? > ant 1.7.0 has problems building GWT -- earlier or later versions are fine Noted. >> = Uncertain dependencies = >> >> There are several JAR files where I'm not able to determine their >> nature as build requirements. That complete list is available at >> https://fedoraproject.org/wiki/User:Jlaska/gwt#Status_uncertain. Is >> it documented, or can someone help identify how/whether the following >> JAR files are used during the build process? >> >> * selenium* > > Selenium is used in RunStyleSelenium directly and GWT, and indirectly for > people wanting to run a Selenium-RC server the tests can run against > >> >> * htmlunit* > > HtmlUnit is used as the default way of running tests, since using a real > browser requires some level of configuration on the part of the user. > >> >> * protobuf-2.2.0.jar > > This is used for the RemoteUI interface to the Google Plugin for Eclipse. > >> >> * swing-worker-1.1.jar > > This is no longer needed, so if you are only supporting GWT 2.0+ you can > leave that out. Great, one less thing to worry about :) >> * javaswf-20050404.jar > > I think this is used for audio resources, but I am not positive. > >> >> * servlets-common-1.0.jar >> * naming-common-1.0.jar > > I don't know about these. > >> >> * gwt-dev-modified.jar >> * gwt-user-modified.jar > > These are used by the API checker for comparing the APIs of different > versions of GWT, to make sure we don't make breaking changes inadvertently. > It probably isn't needed for a package intended to be used by a developer > using GWT rather than working on GWT. Thanks again, James -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
