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. > 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. 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 - 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. - ant 1.7.0 has problems building GWT -- earlier or later versions are fine > = 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. > * 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. -- John A. Tamplin Software Engineer (GWT), Google -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
