[jira] [Updated] (LUCENE-3167) Make lucene/solr a OSGI bundle through Ant

2013-01-08 Thread Tommaso Teofili (JIRA)

 [ 
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

2011-10-09 Thread Luca Stancapiano (Updated) (JIRA)

 [ 
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

2011-09-13 Thread Steven Rowe (JIRA)

 [ 
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

2011-09-13 Thread Steven Rowe (JIRA)

 [ 
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

2011-09-13 Thread Steven Rowe (JIRA)

 [ 
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

2011-08-31 Thread Luca Stancapiano (JIRA)

 [ 
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 : xmlproperty file=${ant.file} 
collapseAttributes=true prefix=bnd/ 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

2011-07-07 Thread Luca Stancapiano (JIRA)

 [ 
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:

  macrodef name=build-manifest description=Builds a manifest file
attribute name=title default=Lucene Search Engine: 
${ant.project.name} /
attribute name=bndtempDir default=${build.dir}/temp/
sequential
  xmlproperty file=${ant.file} collapseAttributes=true prefix=bnd/
  property name=bndclasspath refid=classpath/
  taskdef resource=aQute/bnd/ant/taskdef.properties / 
  mkdir dir=@{bndtempDir}/
  bnd 
  classpath=${bndclasspath} 
  eclipse=false 
  failok=false 
  exceptions=true
  files=${common.dir}/lucene.bnd 
  output=@{bndtempDir}/${final.name}-temp.jar / 
  copy todir=${common.dir}/build flatten=true
  resources
  url 
url=jar:file://@{bndtempDir}/${final.name}-temp.jar!/META-INF/MANIFEST.MF/
  /resources
  /copy
/sequential
  /macrodef

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

2011-07-03 Thread Luca Stancapiano (JIRA)

 [ 
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

2011-06-01 Thread Luca Stancapiano (JIRA)

 [ 
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