You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Patrick du Boucher <pa...@gmail.com> on 2007/08/24 14:37:41 UTC

Module definition... an *easy* question?

Hi. 
This may seem a little obvious to most...... but...... 
I've had a lot of trouble finding what makes a good "module". I'm new to Ivy
and implementing it accross a quite large group of java projects, (and 3rd
party softwares, config files, media files etc...). This is an excellent
opportunity to do it correctly from scratch. 

I've not been able to really understand what constitutes a "module" that ivy
describes in a ivy.xml file. 
Which of these should have their own (unique) ivy file.  

java class 
java package 
java project 
source file 
scripts 
jar file 
3rd party jar file 
3rd party s/w (ie. media player) 
configuration file (property files included or data files) 
system folders (ie \src or \doc) 

thanks in advance. 

Best Regards, 
Patrick 
-- 
View this message in context: http://www.nabble.com/Module-definition...-an-*easy*-question--tf4323324.html#a12311590
Sent from the ivy-user mailing list archive at Nabble.com.


Re: Module definition... an *easy* question?

Posted by Patrick du Boucher <pa...@gmail.com>.
I agree with you that the doc is a bit limited. The concepts are very well
explained (mainly) and the examples are also quite intiutive. But I did find
that the documentation on the leap between theory and practice is a little
muddled.

>"Team development using Ivy"

would be a great idea!!


I had started building ivy project by project (for modules!) but I had kind
of gotten worried that it had to be done per package within each project. so
thanks for the idea.


bhatia wrote:
> 
> Till date, our developers have been following the checkout-50-projects in
> the workspace to be able to compile-one approach.  With Ivy I have been
> able to eliminate this by using Ivy which gets all necessary jars, wars
> and their sources for compile-time / run-time configs.
> 

this is cool, I had not thought of this as a benefit!



RE: your question

bhatia wrote:
> 
> What still remains a mystery to me is how to refer to a project which is
> in my local workspace from a dependant project also in my local workspace.
> The other dependencies, I can easily get from my repository.
> 

first of all, let me know what you end up doing, cause I will have the same
problem. !!

I would have thought it's no different than referring to another local
resource, but I think there may be naming protocol issues. (not sure if
that's the problem you encountered)

Maybe a workaround is to refer to the local project's jar file?

Also, you can probably define new attributes to the <dependency> tag, that
might also resolve your problem. you might use it as;

<dependency org="com" subpackageclass1="trunk" subpackageclass2="test"
[etc.....]  name="log4j"  >
     <include name="log4j-1.2.14" ext="jar" matcher="exactOrRegexp"/>
</dependency>
to represent the package com.trunk.test.[etc....]
but Im not sure if that actually is your problem.

Another idea that just came to me is to refer to the filesystem directory on
your system?

I have a feeling that my "expertise" is only confusing the issue (and me in
the process)

Best of luck with it!
Let me know what you end up in doing.







bhatia wrote:
> 
> I am new to Ivy too and started from a scratch. I had the same questions
> in my head initially but the website documentation with experimentation
> did get me this far. 
> 
> A module for me can be a project in my Eclipse workspace and when I
> publish it to a repository it can define what artifacts I have for this
> module and which revisions exist in the repository. Not just that, you can
> even specify which dependencies your project needs at compile-time and
> which ones at run-time. 
> 
> Till date, our developers have been following the checkout-50-projects in
> the workspace to be able to compile-one approach.  With Ivy I have been
> able to eliminate this by using Ivy which gets all necessary jars, wars
> and their sources for compile-time / run-time configs.
> 
> What still remains a mystery to me is how to refer to a project which is
> in my local workspace from a dependant project also in my local workspace.
> The other dependencies, I can easily get from my repository.
> 
> Although the individual components of the solution are well documented on
> the site, I believe it would greatly help by having a full section
> dedicated on "Team development using Ivy" on the website since I am having
> trouble proposing developers how to work with Ivy etc....
> 

-- 
View this message in context: http://www.nabble.com/Module-definition...-an-*easy*-question--tf4323324.html#a12312246
Sent from the ivy-user mailing list archive at Nabble.com.


Re: Module definition... an *easy* question?

Posted by bhatia <Bh...@OFAC.CH>.
Hi Patrick,

I am new to Ivy too and started from a scratch. I had the same questions in
my head initially but the website documentation with experimentation did get
me this far. 

A module for me can be a project in my Eclipse workspace and when I publish
it to a repository it can define what artifacts I have for this module and
which revisions exist in the repository. Not just that, you can even specify
which dependencies your project needs at compile-time and which ones at
run-time. 

Till date, our developers have been following the checkout-50-projects in
the workspace to be able to compile-one approach.  With Ivy I have been able
to eliminate this by using Ivy which gets all necessary jars, wars and their
sources for compile-time / run-time configs.

What still remains a mystery to me is how to refer to a project which is in
my local workspace from a dependant project also in my local workspace. The
other dependencies, I can easily get from my repository.

Although the individual components of the solution are well documented on
the site, I believe it would greatly help by having a full section dedicated
on "Team development using Ivy" on the website since I am having trouble
proposing developers how to work with Ivy etc....

All the best
Saurabh



Patrick du Boucher wrote:
> 
> Hi. 
> This may seem a little obvious to most...... but...... 
> I've had a lot of trouble finding what makes a good "module". I'm new to
> Ivy and implementing it accross a quite large group of java projects, (and
> 3rd party softwares, config files, media files etc...). This is an
> excellent opportunity to do it correctly from scratch. 
> 
> I've not been able to really understand what constitutes a "module" that
> ivy describes in a ivy.xml file. 
> Which of these should (in accordance with best practices) have their own
> (unique) ivy file.  
> 
> java class 
> java package 
> java project 
> source file 
> scripts 
> jar file 
> 3rd party jar file 
> 3rd party s/w (ie. media player) 
> configuration file (property files included or data files) 
> system folders (ie \src or \doc) 
> 
> thanks in advance. 
> 
> Best Regards, 
> Patrick 
> 

-- 
View this message in context: http://www.nabble.com/Module-definition...-an-*easy*-question--tf4323324.html#a12311927
Sent from the ivy-user mailing list archive at Nabble.com.


RE: Module definition... an *easy* question?

Posted by Gilles Scokart <gs...@gmail.com>.
I don't think there is a right answer to your question.  It as to do with
your development lifecycle.  A module is something that you baseline and
release to someone else (a customer, an other team, or other developers).

The answer also depends on the level of automated dependency management that
you want to do.

Typically, it is a java project, and third party libraries.

Note that it has nothing to do with the type of the content : it can be java
libraries, configuration files, war, documentation,...

Depending of your development process, and of the type of dependency
management tool, you can split those different things into different modules
or you can regroup them into one or a few module, using multiple artefact in
the same module.


I know I didn't ansered clear to your question, but...  I fear there is no
universal answer. :-(

Gilles
  
> -----Original Message-----
> From: Patrick du Boucher [mailto:patrick.duboucher@gmail.com]
> Sent: vendredi 24 août 2007 14:42
> To: ivy-user@incubator.apache.org
> Subject: Module definition... an *easy* question?
> 
> 
> Hi.
> This may seem a little obvious to most...... but......
> I've had a lot of trouble finding what makes a good "module". I'm new to
> Ivy
> and implementing it accross a quite large group of java projects, (and 3rd
> party softwares, config files, media files etc...). This is an excellent
> opportunity to do it correctly from scratch.
> 
> I've not been able to really understand what constitutes a "module" that
> ivy
> describes in a ivy.xml file.
> Which of these should (in accordance with best practices) have their own
> (unique) ivy file.
> 
> java class
> java package
> java project
> source file
> scripts
> jar file
> 3rd party jar file
> 3rd party s/w (ie. media player)
> configuration file (property files included or data files)
> system folders (ie \src or \doc)
> 
> thanks in advance.
> 
> Best Regards,
> Patrick
> --
> View this message in context: http://www.nabble.com/Module-definition...-
> an-*easy*-question--tf4323324.html#a12311590
> Sent from the ivy-user mailing list archive at Nabble.com.