[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12859697#action_12859697 ] Chris Custine commented on ZOOKEEPER-425: - As of 3.3.0, I see the OSGI meta data in the tar.gz download from the Apache mirrors, but it is not in the zookeeper-3.3.0.jar artifact that is deployed to the maven central repository here: http://repo2.maven.org/maven2/org/apache/hadoop/zookeeper/3.3.0/ Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Assignee: David Bosschaert Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12859894#action_12859894 ] Patrick Hunt commented on ZOOKEEPER-425: Chris thanks for the report, new jira created to address: ZOOKEEPER-749 Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Assignee: David Bosschaert Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12782351#action_12782351 ] David Bosschaert commented on ZOOKEEPER-425: Hi Patrick, You can already use this as-is in Felix or Equinox (or any other OSGi container). The value that the metadata in the buildxml.patch provides is that it exports (and imports) packages the OSGi way, which means that you can build a zookeeper client in its own bundle that pulls in the zookeeper classes using OSGi dependency management. Here's a quick example of how to use it (using Felix 2.0.0): {code}.../felix-framework-2.0.0java -jar bin/felix.jar Welcome to Felix - start http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.org.apache.log4jversion=1.2.15type=binary Bundle ID: 4 - start file:///.../zookeeper/build/zookeeper-3.3.0.jar - ps START LEVEL 1 ID State Level Name [ 0] [Active ] [0] System Bundle (2.0.0) [ 1] [Active ] [1] Apache Felix Bundle Repository (1.4.1) [ 2] [Active ] [1] Apache Felix Shell Service (1.4.0) [ 3] [Active ] [1] Apache Felix Shell TUI (1.4.0) [ 4] [Active ] [1] Apache Log4J (1.2.15) [ 5] [Active ] [1] ZooKeeper Bundle (3.3.0) - inspect package requirement 5 org.apache.hadoop.zookeeper [5] imports packages: - org.osgi.framework; version=1.5.0 - org.apache.felix.framework [0] org.osgi.util.tracker; version=1.4.0 - org.apache.felix.framework [0] javax.management; version=1.6.0 - org.apache.felix.framework [0] org.apache.log4j; version=1.2.15 - com.springsource.org.apache.log4j [4] - inspect package capability 5 org.apache.hadoop.zookeeper [5] exports packages: - org.apache.zookeeper; version=3.3.0 org.apache.zookeeper.data; version=3.3.0 org.apache.zookeeper.version; version=3.3.0 org.apache.zookeeper.server; version=3.3.0 org.apache.zookeeper.server.quorum; version=3.3.0 {code} As you can see the Log4J dependency is provided through a Log4J bundle. I'm using one straight from the SpringSource bundle repository (the SpringSource guys have turned many libraries into OSGi bundles), but you may also be able to find a Log4J bundle elsewhere. After installing the Zookeeper Bundle (the jar is now also an OSGi bundle) you can see that it uses OSGi imports to satisfy its dependencies (e.g. it links to bundle 4 for its log4j imports) and it exports the zookeeper packages. The way to use them in OSGi-based clients is simply through imports (as [here|http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/main/java/org/apache/cxf/dosgi/discovery/zookeeper/FindInZooKeeperCustomizer.java]), but additionally the client bundle will have Import-Package statements for the zookeeper packages in its manifest. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Assignee: David Bosschaert Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12782018#action_12782018 ] Alan Cabrera commented on ZOOKEEPER-425: Why not use PAX Exam? Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12782053#action_12782053 ] Patrick Hunt commented on ZOOKEEPER-425: Just to summarize - what's being applied here (patch)? Just buildxmlpatch.patch and nothing else (the other attachments are obsolete?) I agree that no new test is necessary, but it would be interesting to know how to try this out. Is there a way to load this into something like Apache Felix yet, or does that have to wait for the follow-on jira? (I would suggest - please create one and link it to this jira) Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Assignee: Benjamin Reed Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12782058#action_12782058 ] Benjamin Reed commented on ZOOKEEPER-425: - yes just the buildxml.patch, the service instance will be registered in ZOOKEEPER-584 and we will need to pull in felix for that test. i would think that the activator for ZOOKEEPER-584 will go into a contrib and will will build its own little jar file. that way we only need to pull in felix for the contrib not for the whole of zookeeper. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Assignee: David Bosschaert Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12781441#action_12781441 ] Alan Cabrera commented on ZOOKEEPER-425: Just curious, no uses clauses? Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12781445#action_12781445 ] David Bosschaert commented on ZOOKEEPER-425: Yes, I agree that it would be better to put uses clauses on the Export-Package declaration. However, you really need a tool such as BND (http://www.aqute.biz/Code/Bnd) (or the maven-bundle-plugin which uses bnd) to generate these for you. Putting them in by hand is hard, error prone and difficult to maintain (IMHO). I already mention BND in the patch and would be happy to update it to get ant to use BND if people think this would be good. We can then let BND generate the uses clauses for us. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Reporter: David Bosschaert Fix For: 3.3.0 Attachments: buildxmlpatch.patch, MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12780012#action_12780012 ] David Bosschaert commented on ZOOKEEPER-425: Hi Alan, that sounds like a useful idea to me and using a service in the OSGi Service Registry sounds like a really good approach but I personally think that this should be a separate bug/enhancement. Let's get the basics working first :) Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12780024#action_12780024 ] Alan Cabrera commented on ZOOKEEPER-425: Sure. I saw that we were adding a bundle activator and deployment via Configuration Admin Service so I wasn't sure where we were drawing the line here. Issue added. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12780227#action_12780227 ] Patrick Hunt commented on ZOOKEEPER-425: 1) would go into build.xml 2) 3) would be in a contrib package, correct? src/contrib/osgi -- or is this stuff typically implementation specific such as src/contrib/felix ? (assuming not the latter) Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12780278#action_12780278 ] David Bosschaert commented on ZOOKEEPER-425: Let me explain the context of my work. For the OSGi Remote Services Admin Service (an OSGi specification based on the Distributed OSGi RFC 119 work) we are working on the Reference Implementation in CXF (http://cxf.apache.org/distributed-osgi.html). The Reference Implementation supports the Discovery concepts of the Remote Service specification and for the implementation we make use of ZooKeeper. In our code, we use zookeeper in two ways: * In zookeeper client code. This code resides in bundles that import the org.apache.zookeeper and org.apache.zookeeper.data * We also need to be able to run the zookeeper server from inside an OSGi bundle So this is really cases 1 3 above. I think we all agree on 1, and I can certainly put that in a separate patch. On part 2 - this is the one that Alan filed ZOOKEEPER-584 for, right? This is a case that I don't need at this point, and therefore I probably don't understand what the best way to realize it is. I understand that this can be quite useful and registering a 'trivial' zookeeper object in the service registry is easy, but I guess what Alan is really looking for is an object from which he can get some management information. I really see this as a separate issue and one possibly best solved by someone who actually has a need for this. The code that I attached does address part 3 somewhat, although I agree that it could be better. However it's a start. The zookeeper server starts and can be configured. I can try to make the shutdown/restart on reconfiguration work as well. I haven't been troubled by the System.exits() yet. It works well enough for me at the moment, although it could be improved. Could we not do the improvement over time in the future, starting off with something that works a bit like in my patch and then making it better over time? Patrick, on your comment re a contrib package. First of all the code is not specific to an osgi container and should work equally in all osgi frameworks. Do you mean just putting the source code in a separate location or are you also thinking of putting it in a separate jar file? I would suggest putting the Activator and ManagedService in the ordinary zookeeper.jar. Outside of an OSGi framework these classes are simply ignored, but when the jar is used as an OSGi bundle they are automatically found and used. If you put it in a separate jar you will have to deploy 2 bundles before you can run the zookeeper server in an OSGi framework, which is possible but you'd have to export org.apache.zookeeper.server which is currently internal to make it work. Besides these two classes are currently only about 5kb in total. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF, zk_patch3.patch After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12777017#action_12777017 ] David Bosschaert commented on ZOOKEEPER-425: Hi Benjamin, that helps. I'll play around with that explicit subset. What I really need is both. Provide client access to the Zookeeper API, but also a way to start the server. To do that we may not have to expose those server classes at all. One thing we could do is add an activator to the zookeeper jar and have it use the OSGI Configuration Admin to control the zookeeper server. It should be possible to do this without changing it being a plain jar too. Anyway - I'll try to find some time over the next while to play with this and will let you know how far I get. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12776538#action_12776538 ] Benjamin Reed commented on ZOOKEEPER-425: - sorry i didn't notice this sooner. this is a great idea, and certainly reasonable. i think the import and export packages statement is incorrect. we should list the exact dependencies. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12776548#action_12776548 ] David Bosschaert commented on ZOOKEEPER-425: Hi Benjamin. Did you actually take a look at the attached MANIFEST.MF? Are the import and export statements in there correct? What is in the XML above is just the maven-bundle-plugin/BND instructions to create the exact list by introspection :) If you think it would be better to explicitly list everything when creating the manifest, please state what you would like to see in there. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12776592#action_12776592 ] Patrick Hunt commented on ZOOKEEPER-425: A dumb q: adding this to the manifest of the zk jar will have no effect on non-osgi containers (etc...) correct? Also, re the original question Is it really necessary to put the source code in the Jar file too: notice that in the trunk we have changed things a bit since this jira was created. We still have the original jar which includes sources, but we also have an additional binary only jar (class files) in addition to separate source and javadoc jars. You will see this in the package target of the latest build.xml This was added for Maven -- we should be sure to include the manifest changes to those jars (just the jars containing class files I guess?) Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12776610#action_12776610 ] Benjamin Reed commented on ZOOKEEPER-425: - right these are osgi specific tags that will get ignored normally. Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-425) Add OSGi metadata to zookeeper.jar
[ https://issues.apache.org/jira/browse/ZOOKEEPER-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12776614#action_12776614 ] Benjamin Reed commented on ZOOKEEPER-425: - oh sorry david. so i still have the same concern with the full manifest.mf, but before that i was wondering: are you trying to provide the bundle so that other bundles can use zookeeper or so that the bundle can start up a zookeeper server? most of the packages imported and exported are internal to zookeeper and should be kept private. if we want to just provide access to the client API we should just list org.apache.zookeeper and org.apache.zookeeper.data (possibly org.apache.zookeeper.version). we should also use the script to set the version rather than hard code it. if you want to start the server, we should really have a separate package with just the classes/interfaces needed to manage a server instance and export that. the only import we need is log4j. is there already a standard log4j bundle? Add OSGi metadata to zookeeper.jar -- Key: ZOOKEEPER-425 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-425 Project: Zookeeper Issue Type: Improvement Components: build Affects Versions: 3.1.1 Reporter: David Bosschaert Attachments: MANIFEST.MF After adding OSGi metadata to zookeeper.jar it can be used as both an OSGi bundle as well as an ordinary jar file. In the CXF/DOSGi project the buildsystem does this using the maven-bundle-plugin: http://svn.apache.org/repos/asf/cxf/dosgi/trunk/discovery/distributed/zookeeper-wrapper/pom.xml The MANIFEST.MF generated by maven-bundle-plugin is attached to this bug, this works for the CXF/DOSGi project. If your buildsystem isn't using maven, I would advise to use bnd (http://www.aqute.biz/Code/Bnd). BND defines its own ant task in which you should be able to use more or less the same instructions as were used in maven: instructions Bundle-NameZooKeeper bundle/Bundle-Name Bundle-DescriptionThis bundle contains the ZooKeeper library/Bundle-Description Bundle-SymbolicNameorg.apache.hadoop.zookeeper/Bundle-SymbolicName Bundle-Version3.1.1/Bundle-Version Import-Package*/Import-Package Export-Package*;version=3.1.1/Export-Package /instructions Oh and one other thing. Is it really necessary to put the source code in the Jar file too? I would put that in a separate source distribution :) See also: http://mail-archives.apache.org/mod_mbox/hadoop-zookeeper-user/200905.mbox/%3c4a2009b1.3030...@yahoo-inc.com%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.