-
Notifications
You must be signed in to change notification settings - Fork 7.3k
ZOOKEEPER-233: Split zookeeper
module to provide separated zookeeper-client
, zookeeper-server
#2307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 4 commits
c247522
cc4c376
8d011b0
da36e01
8e7eb53
e690829
0c53d33
6120e83
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -64,12 +64,6 @@ | |
<artifactId>zookeeper</artifactId> | ||
<version>${project.version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.apache.zookeeper</groupId> | ||
<artifactId>zookeeper-client</artifactId> | ||
<version>${project.version}</version> | ||
<type>pom</type> | ||
</dependency> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The client should be included in the assembly, and should be declared explicitly. This old entry brought in the (useless) intermediate pom.xml file, but dropping the Currently, it seems like the client is being included in the assembly indirectly, via a transitive dependency through the new OSGi library named simply There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. List There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For me, I prefer to have tighter control over what gets included in the assembly, so for Accumulo, we do not include any dependencies in our assembly descriptor transitively, and explicitly add them to the POM (see https://github.com/apache/accumulo/tree/2.1/assemble), using a somewhat convoluted process so we just declare what we want in the POM, and only those things get included. ZooKeeper isn't doing any of that, so it's probably okay for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Done in 6120e83.
Out of curiosity, why do you route to this path ? It seems more complicated than transitive approach. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it's mainly because we specifically want to exclude some parts of our dependency tree in Accumulo, because part of our installation instructions assumes you've already installed some of those. For example, we depend on Hadoop and ZooKeeper. We don't ship those dependencies in our build, because we expect the user to add those installations to your Accumulo classpath instead. Hadoop, in particular, has a bunch of changes between different versions with widely different dependencies for itself across different versions. You can run Accumulo on a bunch of different versions of Hadoop, but the dependencies you need is affected by which Hadoop version you use. So, we don't ship them, and require you to link them at runtime instead. |
||
<dependency> | ||
<groupId>org.apache.zookeeper</groupId> | ||
<artifactId>zookeeper-prometheus-metrics</artifactId> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,7 +36,6 @@ | |
</includes> | ||
<excludes> | ||
<exclude>org.apache.zookeeper:zookeeper-recipes</exclude> | ||
<exclude>org.apache.zookeeper:zookeeper-client</exclude> | ||
<exclude>org.apache.zookeeper:zookeeper-docs</exclude> | ||
</excludes> | ||
<useProjectArtifact>false</useProjectArtifact> | ||
|
@@ -63,16 +62,30 @@ | |
<fileMode>${rw.file.permission}</fileMode> | ||
<directoryMode>${rwx.file.permission}</directoryMode> | ||
</fileSet> | ||
<fileSet> | ||
<!-- ZooKeeper client generated api document --> | ||
<directory>${project.basedir}/../zookeeper-client/target/apidocs</directory> | ||
<outputDirectory>docs/apidocs/zookeeper-client</outputDirectory> | ||
<fileMode>${rw.file.permission}</fileMode> | ||
<directoryMode>${rwx.file.permission}</directoryMode> | ||
</fileSet> | ||
Comment on lines
+65
to
+71
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I never noticed before that the apidocs were being included in the ZooKeeper -bin tarball. I don't think it needs to do that. ZK already publishes the javadoc jars, which is a better way to consume the apidocs for IDEs, and for manual viewing, the published apidocs on the zookeeper.apache.org site is sufficient. I think they make the tarball too big, and the build too complicated, and they just aren't needed in the tarball. This is really just an aside comment, though. It's not related to this PR specifically. |
||
<fileSet> | ||
<!-- ZooKeeper server generated api document --> | ||
<directory>${project.basedir}/../zookeeper-server/target/apidocs</directory> | ||
<outputDirectory>docs/apidocs/zookeeper-server</outputDirectory> | ||
<fileMode>${rw.file.permission}</fileMode> | ||
<directoryMode>${rwx.file.permission}</directoryMode> | ||
</fileSet> | ||
<fileSet> | ||
<!-- ZooKeeper cli generated api document --> | ||
<directory>${project.basedir}/../zookeeper-cli/target/apidocs</directory> | ||
<outputDirectory>docs/apidocs/zookeeper-cli</outputDirectory> | ||
<fileMode>${rw.file.permission}</fileMode> | ||
<directoryMode>${rwx.file.permission}</directoryMode> | ||
</fileSet> | ||
<fileSet> | ||
<!-- License files for 3rd party libs --> | ||
<directory>${project.basedir}/../zookeeper-server/src/main/resources/lib</directory> | ||
<directory>${project.basedir}/../zookeeper/src/main/resources/lib</directory> | ||
<includes> | ||
<include>*.txt</include> | ||
</includes> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is redundant with line 68 above, where this module has already been added to the normal build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed it in commit 8e7eb53.