# 0.90.7 to 0.90.9 : new dependencies

**URL:** <https://discuss.elastic.co/t/0-90-7-to-0-90-9-new-dependencies/15091>\
**Category:** Elasticsearch\
**Created:** [January 3, 2014, 9:51am UTC](https://discuss.elastic.co/t/0-90-7-to-0-90-9-new-dependencies/15091 "2014-01-03T09:51:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gabriel\_landais](https://avatars.discourse-cdn.com/v4/letter/g/a9a28c/32.png) [@gabriel\_landais](https://discuss.elastic.co/u/gabriel_landais)\
**Post date:** [January 3, 2014, 9:51am UTC](https://discuss.elastic.co/t/0-90-7-to-0-90-9-new-dependencies/15091/1 "2014-01-03T09:51:16Z")

</div>

Hi,  
before updating our project, I checked the new dependencies and found  
that org.antlr:antlr-runtime:jar:3.5, org.ow2.asm:asm:jar:4.1  
and org.ow2.asm:asm-commons:jar:4.1 have been added to this release.

I'm a bit surprised that these new libraries are not in the release notes.  
I've seen some mails already about asm version conflict, but sure it will  
happen again and again.

Also, as we have to use the full library to access ES (Jest is not an  
alternative), I had a nice time resolving classpath conflicts. Maven shade  
plugin was helpful, even if renaming classes used in services need some  
hacks.

So two questions :

- is a pure Java API is on the roadmap?
- wouldn't be a great idea to provide a classpath safe version of ES, all  
classes inside a org.elasticsearch root package?

Thanks  
Gabriel

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/44275fc3-bd0e-49ce-ba3b-75c567b8fedf%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/44275fc3-bd0e-49ce-ba3b-75c567b8fedf%40googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [January 3, 2014, 12:21pm UTC](https://discuss.elastic.co/t/0-90-7-to-0-90-9-new-dependencies/15091/2 "2014-01-03T12:21:37Z")

</div>

The asm issue should also be forwarded to the Lucene team. The new ES  
dependency lucene-suggest 4.6 includes asm (and antlr) dependency in the  
Lucene pom, which might not be the way it should be.

asm is also used as a shaded dependency in mvel, which is the native script  
language of ES right now, and mvel is broken under Java 8 build, so this  
issue will not disappear for a while.

I wonder why the Lucene features are not delegated into separate ES plugins  
any more, so anyone who wants it can extend ES, while the ES core keeps a  
relatively small dependency tree.

For example, like the ICU plugin, ES never included lucene-icu into the  
core (but, you know, lucene-icu is vital for me, and lucene-suggest is not).

If you are interested in building ES from source, you might exclude the  
lucene-suggest asm dependency in the pom, that is the only method right now  
I can think of. Also, it is up to a rebuild from source to extend the Maven  
shade plugin to really shade all ES dependencies. If the code will still  
work then - there may be subtle issues, e.g. class loader, hard coded class  
names, resource names etc.

Jörg

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFCY4hT\_fuLJO\_2yHty%3D59Tf8oH0mYp2OoDejOsAjbzaA%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFCY4hT_fuLJO_2yHty%3D59Tf8oH0mYp2OoDejOsAjbzaA%40mail.gmail.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![nik9000](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nik9000/32/44947_2.png) [@nik9000](https://discuss.elastic.co/u/nik9000)\
**Post date:** [January 3, 2014, 2:42pm UTC](https://discuss.elastic.co/t/0-90-7-to-0-90-9-new-dependencies/15091/3 "2014-01-03T14:42:32Z")

</div>

From my perspective plugins are more of a pain then a feature:

Compared to installing the deb, plugins are very difficult to work with  
especially when you are paranoid and won't use the installer. Now you have  
to build a whole new way to install just this one piece of infrastructure.  
And many of the plugins need to version in lock step with EP which means  
that we have to coordinate two different installation/upgrade mechanisms.  
It would be so much easier for us if everything was right in the core or  
had its own deb.

Plugins must be tested on their own. If I make some change in  
Elasticsearch I can't really be sure I'm not breaking plugins.

I don't use the Java API and wouldn't even if I were writing in Java  
because the rest API has fewer backwards compatibility issues.

Nik

On Fri, Jan 3, 2014 at 7:21 AM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<[joergprante@gmail.com](mailto:joergprante@gmail.com)

> wrote:

> The asm issue should also be forwarded to the Lucene team. The new ES  
> dependency lucene-suggest 4.6 includes asm (and antlr) dependency in the  
> Lucene pom, which might not be the way it should be.
> 
> asm is also used as a shaded dependency in mvel, which is the native  
> script language of ES right now, and mvel is broken under Java 8 build, so  
> this issue will not disappear for a while.
> 
> I wonder why the Lucene features are not delegated into separate ES  
> plugins any more, so anyone who wants it can extend ES, while the ES core  
> keeps a relatively small dependency tree.
> 
> For example, like the ICU plugin, ES never included lucene-icu into the  
> core (but, you know, lucene-icu is vital for me, and lucene-suggest is not).
> 
> If you are interested in building ES from source, you might exclude the  
> lucene-suggest asm dependency in the pom, that is the only method right now  
> I can think of. Also, it is up to a rebuild from source to extend the Maven  
> shade plugin to really shade all ES dependencies. If the code will still  
> work then - there may be subtle issues, e.g. class loader, hard coded class  
> names, resource names etc.
> 
> Jörg
> 
> --  
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFCY4hT\_fuLJO\_2yHty%3D59Tf8oH0mYp2OoDejOsAjbzaA%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFCY4hT_fuLJO_2yHty%3D59Tf8oH0mYp2OoDejOsAjbzaA%40mail.gmail.com)  
> .
> 
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/CAPmjWd3bkog-Ftqmr7Ej-cf89OXVBumC7ErmvDgTgjMLWraJuw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAPmjWd3bkog-Ftqmr7Ej-cf89OXVBumC7ErmvDgTgjMLWraJuw%40mail.gmail.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [January 3, 2014, 8:43pm UTC](https://discuss.elastic.co/t/0-90-7-to-0-90-9-new-dependencies/15091/4 "2014-01-03T20:43:15Z")

</div>

That's why I started a while ago a modularization effort, to get rid of  
zip-based plugins (at least the JVM based ones) and move over to Maven  
dependencies as a method for including plugins online and resolving their  
dependencies from remote repos. Each plugin would be versioned and loaded  
by a separate classloader, so they can't break or conflict any more, also  
not their dependencies (just like a war in a webapp container). Integration  
testing would be a breeze in such an environment, just a mvn command.

Jörg

On Fri, Jan 3, 2014 at 3:42 PM, Nikolas Everett [nik9000@gmail.com](mailto:nik9000@gmail.com) wrote:

> Plugins must be tested on their own. If I make some change in  
> Elasticsearch I can't really be sure I'm not breaking plugins.

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGt%3DEi8HmPngSjPHfR%2BeFwaV44UvGRzVpxe%3DpYaiVH6eQ%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGt%3DEi8HmPngSjPHfR%2BeFwaV44UvGRzVpxe%3DpYaiVH6eQ%40mail.gmail.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:58am UTC](https://discuss.elastic.co/t/0-90-7-to-0-90-9-new-dependencies/15091/5 "2017-07-06T01:58:25Z")

</div>


