You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by "Matt Inger (JIRA)" <ji...@apache.org> on 2007/10/23 02:00:50 UTC

[jira] Commented: (IVY-600) Add ability to construct a native library path based on dependencies

    [ https://issues.apache.org/jira/browse/IVY-600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536879 ] 

Matt Inger commented on IVY-600:
--------------------------------

You can find all the native libraries by using the appropriate cachepath (or cachefileset) and
giving it:

type="so" 

OR

type="dll"

From there, you'll need some kind of generic task which can take a a fileset, and construct a
dirset from it with the unique directories contained in the fileset.  I don't think you'd need anything
specific for native libraries.  I think something like this might give you a string with all the directories:

<ivy:cachepath type="so" pathId="my.libpath" />
<pathconvert property="library.path" refid="my.libpath">
  <mapper type="regexp" from="^(.*)/.*.so$$" to="\1"/>
</pathconvert>

(I think that regexp will work, as the first .* should be greedy and read everything until the last / it finds).

at this point, the property "library.path" should contain the directories which you need (of course, it may have
repeats though).  This being said, it would be rather simple to write a generic ant task to take a fileset/path
and convert it to a unique dirset.



> Add ability to construct a native library path based on dependencies
> --------------------------------------------------------------------
>
>                 Key: IVY-600
>                 URL: https://issues.apache.org/jira/browse/IVY-600
>             Project: Ivy
>          Issue Type: New Feature
>          Components: Ant, Core
>            Reporter: Arthur Branham
>
> We are currently experimenting with the IVY project as the central dependency management system for our ANT build system.  So far we have achieved compile configurations and have used these to construct a dynamic classpath which is fed to the javac task.  This works perfectly for compiling projects and we have moved onto the next step of running standalone projects using our ANT system.  I know IVY is centered around being a build system, but it is very very close to being a great program launcher.  With the ability to define different configurations for projects in the dependency description file (compile, runtime) you can use a runtime configuration to build a dynamic classpath to feed to the java ant task.  The only missing piece is incorporating native library folders dynamically in a java.library.path based on the dependent modules used in bulding the classpath. 
> What I am requesting is the ability to export a path of library directories rather than artifact files.  Maybe you could possibly create a "library" element similar to artifact in the publications section and have a different "librarypath" task similar to cachepath to resolve these library folders based on a "library" pattern under the resolvers in the settings file. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.