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

Reply via email to