New structure for jars in zip package #109
From yan...@google.com on May 09, 2012 11:01:25
External references, such as a standards document, or specification? http://google-http-java-client.googlecode.com/files/google-http-java-client-1.8.3-beta.zip https://code.google.com/p/google-http-java-client/source/browse/google-http-client-assembly/readme.html https://code.google.com/p/google-api-java-client/source/browse/tasks-android-sample/?repo=samples https://code.google.com/p/google-api-java-client/source/browse/tasks-android-sample/.classpath?repo=samples Java environments (e.g. Java 6, Android 2.3, App Engine, or All)? All Please describe the feature requested. Currently the google-http-client jars are at the root of the zip file, and the dependency jars are in the dependencies folder.
Instead, I propose a new structure which puts all of the binary jars in a "libs" folder and all of the source jars are in the "libs-sources" folder. No distinction between http base lib or the dependencies. This follows exactly the structure of the jars in tasks-android-sample.
One motivation is that for Android applications, the package manager requires the directory with all binary jars to be called "libs". Similarly, for HTTP servlets to jars must go in the war/WEB-INF/lib folder. Normally source jars aren't placed in this directory, so that's why I recommend also doing the same for libs-sources.
Additionally, we should provide the classpath entries to use for the .classpath file for Eclipse for the various platforms. It's just too much of a pain to craft them manually, and often people forget the sourcepath which makes it more difficult for debugging.
We should make the same changes in the projects that we own that depend on this project (api, oauth, etc).