[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tommaso Teofili updated LUCENE-3167: Attachment: LUCENE-3167_20130108.patch New _not final_ version of the patch. I'm not an Ant expert so I may be missing something, if that's the case feel free to correct / point me to where / how fix things. With this new one it's possible to run _ant compile -Dosgi=true_ to have OSGi ready jars' manifests so that single modules can be installed and started in an OSGi container. By default however the OSGi build doesn't happen. What is still missing is a smart and non intrusive way of setting correctly the OSGi exported-package directive. Currently that's set to _org.apache.lucene*;version=${version}, org.apache.lucene.*;version=${version};-split-package:=merge-first_ for all the bundles which is not correct. As a side note I noticed that in lucene/core/build.xml the classpath is not set while is set to the core files in the root build.xml; this seems to me a bit odd, is there any specific reason for that? In the patch I temporarily added the correct classpath in lucene/core/build.xml (which is needed for the OSGi build for the core to export the packages). > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Core > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: LUCENE-3167_20130108.patch, LUCENE-3167.patch, > LUCENE-3167.patch, LUCENE-3167.patch, lucene_trunk.patch, lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Luca Stancapiano updated LUCENE-3167: - Attachment: LUCENE-3167.patch I submit the new patch including the switch for the osgi compiler. I add a new property 'development'. This property could be used switch many other cases that can decrease the performances during the build. Here an example: ant clean default It will start in 'publish' mode. Actually only the osgi compile is added. ant clean default -Ddevelopment=true It will start in 'development' mode. The osgi compile will be removed and used the default manifest.mf ant clean default -Ddevelopment= Same thing as before > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: LUCENE-3167.patch, LUCENE-3167.patch, LUCENE-3167.patch, > lucene_trunk.patch, lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steven Rowe updated LUCENE-3167: Attachment: LUCENE-3167.patch Here's the correct patch. > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: LUCENE-3167.patch, LUCENE-3167.patch, > lucene_trunk.patch, lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steven Rowe updated LUCENE-3167: Attachment: (was: LUCENE-3406.patch) > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: LUCENE-3167.patch, LUCENE-3167.patch, > lucene_trunk.patch, lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steven Rowe updated LUCENE-3167: Attachment: LUCENE-3406.patch This patch fixes various problems with the created manifests. I measured OSGI-compliant manifest creation time for all 38 non-example jars (and the Solr war), and the total cost was 153.5 seconds, which is about 4 seconds per bundle on average. I also measured manifest creation time without the OSGI stuff, and it's basically instantaneous: single-digit milliseconds on average per jar/war. Maybe 4 seconds per jar/war is okay? I'll wait a day or two before I commit so people can object or suggest alternatives. One alternative to always building the OSGI manifests would be to only build them when preparing a release. > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: LUCENE-3167.patch, LUCENE-3406.patch, > lucene_trunk.patch, lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Luca Stancapiano updated LUCENE-3167: - Attachment: LUCENE-3167.patch Hi Steven, I send a new updated patch. I added two new stamp properties in the build-manifest macro (start.touch.time and end.touch.time) that log the milliseconds of the process. War files in OSGI are worked as the jar files. If the OSGI repository has functionalities to work with containers, it takes the informations directly by the bundle. The MANIFEST.MF file doesn't include informations about containers. I added the bnd library from http://dl.dropbox.com/u/2590603/bnd/biz.aQute.bndlib.jar (actually in the dropbox there is the only version for ant. See: http://www.aqute.biz/Bnd/Download) and added it to the ant classpath how for the 'generate-maven-artifacts' target. Here the reposts to the tasks: 1 - checked the box to grant the Apache license. 2 - Renamed the patch according the convetion. 3 - Deleted the bnd configuration for solr. Now only the build-manifest macro declared in the common-build.xml of lucene project is used. But I was forced to declare the attributes @{title} and @{implementation.title} as properties inside the build-manifest macro, else they didn't seen in the external file lucene.bnd. 4 - I see the correct value of ${bnd.project.description} because the property is created through the configuration : inside the build-manifest macro. Maybe I didn't added all in the previous patch. Let me know if the problem persists. 5 - I excluded the DSTAMP, TSTAMP, and TODAY properties by the bnd configuration through the property: -removeheaders . The main problem is that the bnd ant task takes all the ant properties starting with an uppercased lecter and add them without ask. Should be a bnd property -inherit (true/false) that tells if import the ant properties but it doesn't work. This problem is signed in: https://github.com/bnd/bnd/issues/72. An other important thing is that the 'Name' ant property declared in some build.xml is not accepted by the bnd ant task. In the bnd ant task code there is an hard exception if the 'Name' property is found: if (header.equalsIgnoreCase("Name")) { error("Your bnd file contains a header called 'Name'. This interferes with the manifest name section."); continue; } So I was forced to rename the 'Name' property and its references in 'LuceneName' 6 - Added the ${user.name} property in the Implementation-Version manifest property 7 - Renamed the Bundle-DocUR property to Bundle-DocURL > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: LUCENE-3167.patch, lucene_trunk.patch, lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Luca Stancapiano updated LUCENE-3167: - Attachment: lucene_trunk.patch I send a new patch. - reorganized with the new update of the common-build.xml in lucene and solr - Configurated bnd task so we don't need more to create a jar where extract the new MANIFEST.MF > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: lucene_trunk.patch, lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Luca Stancapiano updated LUCENE-3167: - Attachment: lucene_trunk.patch I expose this patch: It rewrites the build-manifest macrodef because bndlib cannot append the information of the manifest.mf. I moved the information of the manifest in the lucene.bnd file appending the new osgi info: Export-Package: *;-split-package:=merge-first Specification-Title: Lucene Search Engine: ${ant.project.name} Specification-Version: ${spec.version} Specification-Vendor: The Apache Software Foundation Implementation-Title: org.apache.lucene Implementation-Version: ${version} ${svnversion} - ${DSTAMP} ${TSTAMP} Implementation-Vendor: The Apache Software Foundation X-Compile-Source-JDK: ${javac.source} X-Compile-Target-JDK: ${javac.target} Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt Bundle-SymbolicName: org.apache.lucene.${name} Bundle-Name: Lucene Search Engine: ${ant.project.name} Bundle-Vendor: The Apache Software Foundation Bundle-Version: ${version} Bundle-Description: ${bnd.project.description} Bundle-DocUR: http://www.apache.org/ I tested on lucene and solr modules and all jars are created with the correct OSGI info in the manifest.mf. Unluckily bndlib is not flexible so if you use bndlib you are forced to: - precompile the classes - create a temp directory with a temporary jar - extract the new manifest from the jar and put it in the shared directory > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > Attachments: lucene_trunk.patch > > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Luca Stancapiano updated LUCENE-3167: - Comment: was deleted (was: Lucene uses the 2.3.4 version of maven-bundle-plugin. So it is better downlaod the 1.15.0 version of bndlib instead of the last. The download url for bndlib 1.15.0 will be: http://mirrors.ibiblio.org/pub/mirrors/maven2/biz/aQute/bndlib/1.15.0/bndlib-1.15.0.jar) > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant
[ https://issues.apache.org/jira/browse/LUCENE-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Luca Stancapiano updated LUCENE-3167: - Description: We need to make a bundle thriugh Ant, so the binary can be published and no more need the download of the sources. Actually to get a OSGI bundle we need to use maven tools and build the sources. Here the reference for the creation of the OSGI bundle through Maven: https://issues.apache.org/jira/browse/LUCENE-1344 Bndtools could be used inside Ant was: We need to make a bundle thriugh Ant, so the binary can be published and no more need the download of the sources. Actually to get a OSGI bundle we need to use maven tools and build the sources. Here the reference for the creation of the OSGI bundle through Maven. Bndtools could be used inside Ant https://issues.apache.org/jira/browse/LUCENE-1344 > Make lucene/solr a OSGI bundle through Ant > -- > > Key: LUCENE-3167 > URL: https://issues.apache.org/jira/browse/LUCENE-3167 > Project: Lucene - Java > Issue Type: New Feature > Environment: bndtools >Reporter: Luca Stancapiano > > We need to make a bundle thriugh Ant, so the binary can be published and no > more need the download of the sources. Actually to get a OSGI bundle we need > to use maven tools and build the sources. Here the reference for the creation > of the OSGI bundle through Maven: > https://issues.apache.org/jira/browse/LUCENE-1344 > Bndtools could be used inside Ant -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org