Hi,<br><br><div class="gmail_quote">On Wed, Nov 5, 2008 at 8:43 AM, tog <span dir="ltr"><<a href="mailto:guillaume.alleon@gmail.com">guillaume.alleon@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dear all,<br>
<br>
Sorry for asking again some more questions :)<br>
<br>
I have an actor that is using plenty of third-party jars (a lot of<br>
them may collide some existing ones). For example my actor is using<br>
jaxb with a different version than the one located in<br>
/Applications/Kepler-1.0.0/Kepler.app/Kepler/lib/jar/<br>
<br>
I am therefore wondering if there is a way to isolate the loading of<br>
dependencies on a per actor basis ?</blockquote><div>We're working on such a mechanism now.  We've recognized this conflicting jar problem for a while, and now we are working on a new, modular system in which actors or packages of actors are created in independent modules and can specify their own jar dependencies, even if they have conflicting version requirements for a particular jar file.  This is being accomplished through the use of independent ClassLoaders for each of the modules.  Unfortunately, we are not done with this work yet and so it is not yet in the default build for kepler. <br>
<br>However, if you want to experiment with our new build system, you could try the alternate build which handles these module dependency conflicts.  It is a work in progress and is likely to still change substantially -- we're actively working on it -- so be prepared for problems if you try this system.  Nevertheless, you might find it useful.  To see the alternate build instructions, visit this page:<br>
<a href="https://dev.kepler-project.org/developers/teams/build/documentation/the-new-build-system">https://dev.kepler-project.org/developers/teams/build/documentation/the-new-build-system</a><br>Feedback on how that system works for you would be appreciated.<br>
<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have then noticed this file .classpath.default. My understanding is<br>
that this file is containing all the (existing) jars required for the<br>
existing actors.<br>
Does that mean that removing all  these files + the actors definition<br>
located in /Applications/Kepler-1.0.0/Kepler.app/Kepler/kar/actors/<br>
will lead to  a kind of "empty" Kepler ?<br>
<br>
Therefore adding an actor is just:<br>
  - creating a kar file putting in<br>
/Applications/Kepler-1.0.0/Kepler.app/Kepler/kar/actors/<br>
  - adding the adequate dependencies in<br>
/Applications/Kepler-1.0.0/Kepler.app/Kepler/lib/jar<br>
  - modifying accordingly the .classpath.default file<br>
<br>
Am I right ?</blockquote><div>No, the .classpath.default file is only used for the eclipse build.  Modifying it will not really affect how the ant build works.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
There is then still this issue of being able to use different jars of<br>
the same tools for different actors ?</blockquote><div>Right -- having the build and runtime system support actors that require conflicting jar files is a major requirement of the new build and runtime system.  We'll get it worked out as soon as possible.<br>
<br>Matt<br></div></div><br>-- <br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Matthew B. Jones<br>Director of Informatics Research and Development<br>National Center for Ecological Analysis and Synthesis (NCEAS)<br>
UC Santa Barbara<br><a href="mailto:jones@nceas.ucsb.edu">jones@nceas.ucsb.edu</a>                       Ph: 1-907-523-1960<br><a href="http://www.nceas.ucsb.edu/ecoinfo">http://www.nceas.ucsb.edu/ecoinfo</a><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>