You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Jacob Singh (JIRA)" <ji...@apache.org> on 2009/05/19 11:59:45 UTC
[jira] Updated: (SOLR-1173) Let contrib projects modify web.xml
when running dist-war
[ https://issues.apache.org/jira/browse/SOLR-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jacob Singh updated SOLR-1173:
------------------------------
Attachment: xmltask_contrib_build.diff
This patch provides a new task (dist-war-contrib). This will do a contrib-crawl over the contrib/*/build.xml files looking for a dist-war task which will get run prior to running dist-war if you run dist.
If you want to modify the web.xml before it is added to the war:
1. Download the xmltask jar from: http://sourceforge.net/project/downloading.php?group_id=27398&filename=xmltask-v1.15.1.jar&a=8015257 and put it in lib
2. Add something like the following to your build.xml (in your contrib project):
<target name="dist-war" depends="dist">
<xmltask source="${solr-path}/build/web/WEB-INF/web.xml" dest="${solr-path}/build/web/WEB-INF/web.xml"
preserveType="true"
report="true">
<insert path="/web-app/filter[last()]" position="after">
<![CDATA[
<filter>
<display-name>HmacFilter</display-name>
<filter-name>HmacFilter</filter-name>
<filter-class>com.acquia.search.HmacFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HmacFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
]]>
</insert>
</xmltask>
</target>
3. That's it! Deploy and your changes to web.xml will take effect, no fuss no muss.
Note: This does show some warnings for projects that do not implement dist-war
> Let contrib projects modify web.xml when running dist-war
> ---------------------------------------------------------
>
> Key: SOLR-1173
> URL: https://issues.apache.org/jira/browse/SOLR-1173
> Project: Solr
> Issue Type: New Feature
> Affects Versions: 1.4, 1.5
> Reporter: Jacob Singh
> Fix For: 1.4
>
> Attachments: xmltask_contrib_build.diff
>
>
> Original problem:
> I just wrote a Servlet Filter to handle authentication for our
> service. Here's what I did:
> 1. Created a dir in contrib
> 2. Put my project in there, I took the dataimporthandler build.xml as
> an example and modified it to suit my needs. Worked great!
> 3. ant dist now builds my jar and includes it
> I now need to modify web.xml to add my filter-mapping, init params,
> etc. How can I do this cleanly? Or do I need to manually open up the
> archive and edit it and then re-war it?
> In common-build I don't see a target for dist-war, so don't see how it
> is possible...
> See: http://mail-archives.apache.org/mod_mbox/lucene-solr-user/200905.mbox/%3C4ED43C6D-320D-4E0D-835D-4366B0F08D0E@ehatchersolutions.com%3E
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.