Re: Conditional dependencies

2008-10-06 Thread Simone Gianni
Hi Michael,
thanks a lot for your answer.

This is how we are currently doing it. In reality our scenario is a bit
more complicated than the given database example. We have many artifacts
(like A and B), and a whole lot of connection parts (like A2B), that
would be better placed in their own artifacts, provided that they are
used when both artifacts are in the classpath, and we don't want to have
the user bother with these connection artifacts. Also because A and B
could arrive in the classpath via transiitive dependencies, so the user
have no idea (if not doing a dependency:tree) that they are there and
the connection part A2B is missing.

As a last resort, do you think a plugin can handle these dynamic
dependencies? Can a plugin add dependencies to the project, and then
have them resolved and used in the rest of the build lifecycle? Maybe
binding to one of the early phases?

Simone

Michael McCallum wrote:
 wrap the dependency for the db driver in a pom project that also depends upon 
 the dialect

 e.g.

 example.company.db.posgresql
 - postgresql jdc driver
 - postgresql database dialect

 then

 example.company.applicationwithdb
 - example.company.db.postgresql

 profiles should not be used to munge up dependencies, it just makes it 
 confusing for people to have side effects.

 On Mon, 06 Oct 2008 05:47:16 Simone Gianni wrote:
   
 Has anybody ever done something
 like this? Has anybody had the same need and investigated a way to solve
 it?
 



   


-- 
Simone GianniCEO Semeru s.r.l.   Apache Committer
MALE human being programming a computer   http://www.simonegianni.it/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Conditional dependencies

2008-10-05 Thread Simone Gianni
Hi all,
I would like to include or exclude a dependency based on the presence of
an artifact on the global class path.

For example, I have a database project. The user will include a
dependency on it in his own pom. The user will also add a JDBC driver
artifact. My database project should be able to declare additional
dependencies depending on the presence of specific JDBC drivers
artifacts, for example a database-mysql-dialect if the mysql-connector
is used, or the database-postgres-dialect if the postgres driver is used.

Whle it is possible to check at runtime, using reflection and the like,
the presence of a given class, it lacks versioning, it is not a clean
way, it clutters the main package code with stuff that could (and
should) be placed in different artifacts.

I don't know any way to do this in Maven right now. Theoretically, it
could be achieved with profile activation, if there was a profile
activation based on the presence of an artifact or at least on the
presence of classpath resources instead of plain files. Is it possible
to implement such a profile activator? Has anybody ever done something
like this? Has anybody had the same need and investigated a way to solve it?

Thanks in advance,
Simone

-- 
Simone GianniCEO Semeru s.r.l.   Apache Committer
MALE human being programming a computer   http://www.simonegianni.it/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Conditional dependencies

2008-10-05 Thread Michael McCallum
wrap the dependency for the db driver in a pom project that also depends upon 
the dialect

e.g.

example.company.db.posgresql
- postgresql jdc driver
- postgresql database dialect

then

example.company.applicationwithdb
- example.company.db.postgresql

profiles should not be used to munge up dependencies, it just makes it 
confusing for people to have side effects.

On Mon, 06 Oct 2008 05:47:16 Simone Gianni wrote:
 Has anybody ever done something
 like this? Has anybody had the same need and investigated a way to solve
 it?



-- 
Michael McCallum
Enterprise Engineer
mailto:[EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: conditional dependencies

2008-02-07 Thread Stephen Connolly
The problem I see with conditional dependencies is that they define the
dependencies that Maven needs in order to build/test the artifact.

So if I do a build on java6, my conditional dependencies will exclude
javax.activation...

I assume the Release/deploy plugins will upload the effective pom for my
build environment, which does not include javax.activation...

Now you come along and depend on my artifact, but are building with java5...
so you do not receive the conditional dependency.

On the other hand if the release/deploy plugins upload the pom and it's
profile definitions, Maven is going to have to re-detect the profile
activation to determine the transitive dependencies (Which I don't thinkk it
does)

-Stephen

On Feb 5, 2008 8:20 AM, SlinnHawkins, Jon (ELS-CAM) 
[EMAIL PROTECTED] wrote:

 Hi Jorg

 Yeah just set up profiles for Java5 and java6 each specifying the unique
 dependencies for the jdk.

 Jon

 -Original Message-
 From: Joerg Hohwiller [mailto:[EMAIL PROTECTED]
 Sent: 04 February 2008 21:13
 To: Maven Users List
 Subject: conditional dependencies

 Hi there,

 I am using conditional dependencies in the form that I use variables in
 the dependencies and profiles to set these variables.

 Now I currently wonder what to do if a dependency is only required under
 specific situations. E.g. stax or jsr250 is included in java6 while you
 need dependencies on external artifacts for java5.
 Has someone experience with that?
 Is it best to use a variable for the scope and set it to provided for
 java6?
 Or is it possible to add a dependency into the profile section?

 Thanks
   Jörg

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



 This email is from Elsevier Limited, a company registered in England and
 Wales with company number 1982084,
 whose registered office is The Boulevard, Langford Lane, Kidlington,
 Oxford, OX5 1GB, United Kingdom.


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: conditional dependencies

2008-02-06 Thread Joerg Hohwiller
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

 Hi Jorg
Hi Jon,
 
 Yeah just set up profiles for Java5 and java6 each specifying the unique 
 dependencies for the jdk.
So what you are saying is that it really works to declare a dependency within a
profile section? I have NOT tried this again since maven 2.0.4. but it did not
work properly then.
And shouldn't there be POMs with packaging pom in central repo to do this for
stax, jsr250, etc., so it is a centralized feature?
Then everybody could just add a dependency on stax-profile (or however one
would call it) with type pom and that is all.
 
 Jon 
Thanks so far...
  Jörg
 
 -Original Message-
 From: Joerg Hohwiller [mailto:[EMAIL PROTECTED] 
 Sent: 04 February 2008 21:13
 To: Maven Users List
 Subject: conditional dependencies
 
 Hi there,
 
 I am using conditional dependencies in the form that I use variables in the 
 dependencies and profiles to set these variables.
 
 Now I currently wonder what to do if a dependency is only required under 
 specific situations. E.g. stax or jsr250 is included in java6 while you need 
 dependencies on external artifacts for java5.
 Has someone experience with that?
 Is it best to use a variable for the scope and set it to provided for java6?
 Or is it possible to add a dependency into the profile section?
 
 Thanks
Jörg
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 This email is from Elsevier Limited, a company registered in England and 
 Wales with company number 1982084,
 whose registered office is The Boulevard, Langford Lane, Kidlington, Oxford, 
 OX5 1GB, United Kingdom.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHqi63mPuec2Dcv/8RAqbhAJ0XS6VBZWDHiW7YcRwhF3jZ8c+uygCfcuj+
KyKGgIxxrLJR2zeEVOdRFTw=
=Glsg
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: conditional dependencies

2008-02-05 Thread SlinnHawkins, Jon (ELS-CAM)
Hi Jorg

Yeah just set up profiles for Java5 and java6 each specifying the unique 
dependencies for the jdk.

Jon 

-Original Message-
From: Joerg Hohwiller [mailto:[EMAIL PROTECTED] 
Sent: 04 February 2008 21:13
To: Maven Users List
Subject: conditional dependencies

Hi there,

I am using conditional dependencies in the form that I use variables in the 
dependencies and profiles to set these variables.

Now I currently wonder what to do if a dependency is only required under 
specific situations. E.g. stax or jsr250 is included in java6 while you need 
dependencies on external artifacts for java5.
Has someone experience with that?
Is it best to use a variable for the scope and set it to provided for java6?
Or is it possible to add a dependency into the profile section?

Thanks
   Jörg

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



This email is from Elsevier Limited, a company registered in England and Wales 
with company number 1982084,
whose registered office is The Boulevard, Langford Lane, Kidlington, Oxford, 
OX5 1GB, United Kingdom.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



conditional dependencies

2008-02-04 Thread Joerg Hohwiller

Hi there,

I am using conditional dependencies in the form that I use variables
in the dependencies and profiles to set these variables.

Now I currently wonder what to do if a dependency is only required under 
specific situations. E.g. stax or jsr250 is included in java6 while

you need dependencies on external artifacts for java5.
Has someone experience with that?
Is it best to use a variable for the scope and set it to provided for java6?
Or is it possible to add a dependency into the profile section?

Thanks
  Jörg

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Conditional Dependencies?

2007-05-04 Thread Manos Batsis


Hello,

Is there a way to have conditional dependencies based on custom 
properties, including artifacts and/or their versions?


Many thanks,

Manos

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Conditional Dependencies?

2007-05-04 Thread Wayne Fay

The only way I've seen of making dependencies conditional is via profiles.

What exactly are you trying to do?

Wayne

On 5/4/07, Manos Batsis [EMAIL PROTECTED] wrote:


Hello,

Is there a way to have conditional dependencies based on custom
properties, including artifacts and/or their versions?

Many thanks,

Manos

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Conditional Dependencies?

2007-05-04 Thread Manos Batsis

Wayne Fay wrote:
The only way I've seen of making dependencies conditional is via 
profiles.


That would create too many profiles for me.

Suppose an EAR parent's POM, where the EAR can have multiple modules one 
can choose from and configure. For example struts 1.x or 2.x based web 
module, ejb 2.1 or 3.0 module, use of HDIV [1] in the web module and so 
on and so forth.


I'm trying to figure the best way to go about this for my md4j [2] 
quickstarter project.


[1] http://www.hdiv.org/
[2] http://dev.abiss.gr/md4j/

Cheers,

Manos

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Conditional Dependencies?

2007-05-04 Thread Wayne Fay

If you can't/won't create the various profiles to support this
functionality, I think you're going to need to write a plugin (or two)
to do all this. Its just not supported in the core, and I don't see it
being added any time soon, so a plugin seems the only way forward.

Wayne

On 5/4/07, Manos Batsis [EMAIL PROTECTED] wrote:

Wayne Fay wrote:
 The only way I've seen of making dependencies conditional is via
 profiles.

That would create too many profiles for me.

Suppose an EAR parent's POM, where the EAR can have multiple modules one
can choose from and configure. For example struts 1.x or 2.x based web
module, ejb 2.1 or 3.0 module, use of HDIV [1] in the web module and so
on and so forth.

I'm trying to figure the best way to go about this for my md4j [2]
quickstarter project.

[1] http://www.hdiv.org/
[2] http://dev.abiss.gr/md4j/

Cheers,

Manos

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Conditional dependencies in M2

2006-04-25 Thread Clifton Craig
On Monday 24 April 2006 3:51 pm, Mike Perham wrote:
 scopetest/scope is the closest thing I can think of.  Test dependencies
 are not transitive so you need to declare them in each module.

Right, I saw that but didn't know if the scoped would allow transitive 
behaviour. I also don't know much of other available scopes. So let's say I 
have a project, MyUtils, with a dependency on XMLUnit scoped to test and 
another optional dependency on JDOM. JDOM is only necessary if you want to 
use XPath features wrapped by MyUtils and provided by JDOM. Now I want to 
include Myutils in another project but I only want to use some collections 
classes also found in MyUtils and have no need for the wrapping of JDOM. How 
do I set the POM for MyUtils such that JDOM is not transitively included? 
More importantly how do I set it such that JDOM is automatically included 
with another project that does want to use the wrapped JDOM functionality 
from MyUtils without changing the POM for either project? Is profiles the 
answer?

--- 
Clifton C. Craig, Software Engineer
Intelligent Computer Systems -  A Division of GBG
[EMAIL PROTECTED]
[EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Conditional dependencies in M2

2006-04-25 Thread Carlos Sanchez
optional dependencies are set with optional
They are not transitive, so if you decide to use that from other
project you need to explicitly add jdom, and that will bring all jdom
transitive dependencies

On 4/25/06, Clifton Craig [EMAIL PROTECTED] wrote:
 On Monday 24 April 2006 3:51 pm, Mike Perham wrote:
  scopetest/scope is the closest thing I can think of.  Test dependencies
  are not transitive so you need to declare them in each module.

 Right, I saw that but didn't know if the scoped would allow transitive
 behaviour. I also don't know much of other available scopes. So let's say I
 have a project, MyUtils, with a dependency on XMLUnit scoped to test and
 another optional dependency on JDOM. JDOM is only necessary if you want to
 use XPath features wrapped by MyUtils and provided by JDOM. Now I want to
 include Myutils in another project but I only want to use some collections
 classes also found in MyUtils and have no need for the wrapping of JDOM. How
 do I set the POM for MyUtils such that JDOM is not transitively included?
 More importantly how do I set it such that JDOM is automatically included
 with another project that does want to use the wrapped JDOM functionality
 from MyUtils without changing the POM for either project? Is profiles the
 answer?

 ---
 Clifton C. Craig, Software Engineer
 Intelligent Computer Systems -  A Division of GBG
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




--
I could give you my word as a Spaniard.
No good. I've known too many Spaniards.
 -- The Princess Bride

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Conditional dependencies in M2

2006-04-24 Thread Clifton Craig
Hello all,

I am converting from Ant/Ivy to Maven2 and I have a question regarding 
dependencies in Maven2. In Ivy I could define dependencies which would be 
conditionally considered based on my build configuration. for example, I 
could define in a project Foo, a dependency on Bar for all configurations and 
a dependecy on Box for the test configuration of project Foo. Then, another 
project, say Fuzz, could depend on Foo and use either its default 
configuration (which would transitivly bring in Bar but not Box)  or use its 
test configuration (which would transitivly bring in Bar AND Box). How is 
this done in Maven? I read up on profiles and I'm wondering if that's the 
answer, or if there's a more straight foward way of doing the same. Could 
somebody provide an example of a Maven equivalent? Thanx in advance.

--- 
Clifton C. Craig, Software Engineer
Intelligent Computer Systems -  A Division of GBG
[EMAIL PROTECTED]
[EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Conditional dependencies in M2

2006-04-24 Thread Alexandre Poitras
This is what you are looking for :
http://maven.apache.org/guides/introduction/introduction-to-profiles.html

On 4/24/06, Clifton Craig [EMAIL PROTECTED] wrote:
 Hello all,

 I am converting from Ant/Ivy to Maven2 and I have a question regarding
 dependencies in Maven2. In Ivy I could define dependencies which would be
 conditionally considered based on my build configuration. for example, I
 could define in a project Foo, a dependency on Bar for all configurations and
 a dependecy on Box for the test configuration of project Foo. Then, another
 project, say Fuzz, could depend on Foo and use either its default
 configuration (which would transitivly bring in Bar but not Box)  or use its
 test configuration (which would transitivly bring in Bar AND Box). How is
 this done in Maven? I read up on profiles and I'm wondering if that's the
 answer, or if there's a more straight foward way of doing the same. Could
 somebody provide an example of a Maven equivalent? Thanx in advance.

 ---
 Clifton C. Craig, Software Engineer
 Intelligent Computer Systems - A Division of GBG
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Conditional dependencies in M2

2006-04-24 Thread Mike Perham
scopetest/scope is the closest thing I can think of.  Test dependencies are 
not transitive so you need to declare them in each module. 

-Original Message-
From: Clifton Craig [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 24, 2006 2:15 PM
To: users@maven.apache.org
Subject: Conditional dependencies in M2

Hello all,

I am converting from Ant/Ivy to Maven2 and I have a question regarding 
dependencies in Maven2. In Ivy I could define dependencies which would be 
conditionally considered based on my build configuration. for example, I could 
define in a project Foo, a dependency on Bar for all configurations and a 
dependecy on Box for the test configuration of project Foo. Then, another 
project, say Fuzz, could depend on Foo and use either its default configuration 
(which would transitivly bring in Bar but not Box)  or use its test 
configuration (which would transitivly bring in Bar AND Box). How is this done 
in Maven? I read up on profiles and I'm wondering if that's the answer, or if 
there's a more straight foward way of doing the same. Could somebody provide an 
example of a Maven equivalent? Thanx in advance.

---
Clifton C. Craig, Software Engineer
Intelligent Computer Systems -  A Division of GBG [EMAIL PROTECTED] [EMAIL 
PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [m1] Conditional dependencies

2005-09-02 Thread Wendy Smoak

From: Brett Porter [EMAIL PROTECTED]


This is a bit dangerous.


Agreed. :)  But it works.


1) a project will have a different model depending on that property. It
will ripple into needing to change other things like the final name of the
built artifact to ensure you don't end up with one thing sometimes being
something different


Actually... that's the intent.  We build a .war file, and it contains
whichever JSF implementation you choose-- different .jar files in
WEB-INF/lib, web.xml filtered one way or another, but the name of the .war
file remains the same.  (Remember that this is an existing Ant build...)


This is a little bit of an unusual use case. It's understandable that you
often depend on a spec dependency (for which we don't yet have great
support) and an impl goes into the final bundle and the impl might change.
Changing the API too is what is unusual.


I agree... but that's the requirement.


Anyway, in m1 the general approach to this is to have two projects that do
the different bundling and build whichever you want, sharing the common
code. I'm not sure if that's easily done when the api is changed though.


I've just been introduced to the leave the project structure alone and put
all the build files in a completely separate directory structure concept.
Most of my problems (like building three artifacts out of a single source
tree) might just go away.  Reorganizing the project itself to suit Maven is
definitely not something I want to have to push for.


I replied in this fashion in another thread. I should also mention again
that environmental changes to project builds are supported in Maven 2.


(I missed your earlier responses, thanks for pointing them out.)  Okay,
okay... I'll look at m2 again.  :)  Last time it seemed like not enough of
the plugins I needed were ready yet.

--
Wendy


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [m1] Conditional dependencies

2005-09-01 Thread Jay H. Hartley
Wendy,

 Jay, this turned out to work *perfectly*!

Glad to hear it, though I agree with Brett that it doesn't necessarily fall
in the category of Best Practice. I'm glad to hear Maven 2 will do a
better job of dealing with this kind of issue.

One concern was having duplicate artifacts with the same name but different
contents. If you haven't already, you might consider using the same property
in the artifact ID:
artfactIdmyproject-${maven.shale.jsf.impl}/artifactId.

You could also manipulate maven.final.name, I guess, but I think SNAPSHOT
builds already do this, so you could end up with conflicts if you did it in
the wrong place.

Similarly, you could sprinkle that property around in other places to cause,
for example, the site to deploy to a different location with a different
title and slightly different description.

Effectively you end up with two different object models that just happen to
share the same codebase.

Good luck,

Jay

-Original Message-
From: Wendy Smoak [mailto:[EMAIL PROTECTED] 
Sent: Thursday, September 01, 2005 10:40 AM
To: Maven Users List
Subject: Re: [m1] Conditional dependencies

From: Jay H. Hartley [EMAIL PROTECTED]

 2) Create two different parent project files, and have the extends
 parameter depend on a property:

 project
 extends${jsf.project.file}/extends

Jay, this turned out to work *perfectly*!

project.properties:
  maven.shale.jsf.impl.default=myfaces

-project.xml
extend${maven.shale.jsf.impl.default}-project.xml/extend

project.xml:
   extend${maven.shale.jsf.impl}-project.xml/extend

And jsfri-project.xml or myfaces-project.xml declares dependencies on one
JSF implementation or the other.

So you can either set
   maven.shale.jsf.impl = [myfaces | jsfri ] or leave it out and let it
default.

--
Wendy Smoak 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [m1] Conditional dependencies

2005-08-30 Thread Jay H. Hartley
Wendy,

I can't say I've had this exact problem, but I can think of two approaches
I'd consider:

1) Create a separate project, let's call it jsf. Have all the RI/MyFaces
jars listed in its dependency list. No code is involved, but the build
produces two artifacts, both uberjars (not that you'd use the deprecated
plug-in) that incorporate all the classes needed for each option. Then your
existing approach with single-jar substitution based on a property will
continue to work.

2) Create two different parent project files, and have the extends
parameter depend on a property:

project
extends${jsf.project.file}/extends
...
/project

Those base project files list the dependencies for the appropriate option.
You can use the same property to determine how to filter the web.xml file. I
did a quick test of this, and both ${pom.extends} and ${pom.dependencies}
appear to have gotten modified as I expected. I haven't verified that code
compilation, war bundling, etc. work, but since the object model appears
correct I would expect everything else to work.

I'm sure you could also script up a plug-in, but these two approaches seem
relatively simple to me with minimal modifications to your existing scripts.

Hope this helps,

Jay

-Original Message-
From: Wendy Smoak [mailto:[EMAIL PROTECTED] 
Sent: Monday, August 29, 2005 9:15 PM
To: Maven Users List
Subject: [m1] Conditional dependencies

I'm working on a project that needs to compile and build with *either* the
JSF Reference Implementation *or* Apache MyFaces.  This has to be
user-specified, at build time.  In addition to compilation and including the
correct .jar files in a webapp, there's also a modification that must be
done to web.xml, commenting out a section if we're using the RI, leaving it
in place for MyFaces.

And I had it working by having the user specify which JSF api and
implementation .jar files to use, as properties:

maven.shale.jsf.api.jar=${maven.repo.local}/myfaces/jars/myfaces-jsf-api-1.0
.9.jar
maven.shale.jsf.impl.jar=${maven.repo.local}/myfaces/jars/myfaces-impl-1.0.9
.jar
   or
maven.shale.jsf.api.jar=${maven.repo.local}/javax.faces/jars/jsf-api-1.1.jar
maven.shale.jsf.impl.jar=${maven.repo.local}/javax.faces/jars/jsf-impl-1.1.j
ar

But then I found out that for MyFaces, there is a *third* .jar file that
must be included in the .war file.  So now (realizing that there's probably
no way I can avoid a bunch of scripting) I'm thinking of having the user
specify either:

maven.shale.jsf = [myfaces|jsfri]
  or
maven.shale.jsf.ri = [true|false]
maven.shale.jsf.myfaces = [true|false]

Before I go any further with that, is there a precedent I should follow?

Alternately, because I can't specify a dependency in the project.xml file,
I already wrote 'myfaces-project.xml' which does nothing but declare the
dependencies so Maven will download them.  Is it possible that the right
answer is to have a 'myfaces-project.xml' file in each directory and do
either

$ maven build-all
   or
$ maven -p myfaces-project.xml build-all

depending on which JSF implementation you want to use?  I'm not sure I want
to start down that path, given that there may eventually be multiple JSF
implementations from which to choose.

What would you do in this situation?

If you want to take a look at the files:
   http://svn.apache.org/viewcvs.cgi/struts/shale/trunk/
or
   $ svn co http://svn.apache.org/repos/asf/struts/shale/trunk/ shale

(If you want to try to build it, read this first: 
http://wiki.wsmoak.net/cgi-bin/wiki.pl?ShaleMavenBuild )

Thanks for any advice!  I note that there is only one thread on this topic
in the archives... one post, with no replies.

--
Wendy Smoak




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [m1] Conditional dependencies

2005-08-30 Thread Wendy Smoak

From: Jay H. Hartley [EMAIL PROTECTED]


2) Create two different parent project files, and have the extends
parameter depend on a property:

project
extends${jsf.project.file}/extends


That has promise!  Thanks, I didn't know you could do that. :)

If it's not painfully obvious by this point, this is an existing Ant build 
that I'm trying to reproduce with Maven.


After several days of fighting with it, I'm going to retreat to the position 
of making the Maven build do something reasonably useful, and propose a 
reorganization to get the project into a format that Maven is happier to 
deal with.


Thanks for putting up with all the questions. :)

--
Wendy Smoak 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [m1] Conditional dependencies

2005-08-30 Thread Brett Porter
This is a bit dangerous.

1) a project will have a different model depending on that property. It will 
ripple into needing to change other things like the final name of the built 
artifact to ensure you don't end up with one thing sometimes being something 
different

2) you can only do this trick once. There is no multiple inheritence.

This is a little bit of an unusual use case. It's understandable that you 
often depend on a spec dependency (for which we don't yet have great 
support) and an impl goes into the final bundle and the impl might change. 
Changing the API too is what is unusual.

Anyway, in m1 the general approach to this is to have two projects that do 
the different bundling and build whichever you want, sharing the common 
code. I'm not sure if that's easily done when the api is changed though.

I replied in this fashion in another thread. I should also mention again 
that environmental changes to project builds are supported in Maven 2.

- Brett

On 8/31/05, Wendy Smoak [EMAIL PROTECTED] wrote:
 
 From: Jay H. Hartley [EMAIL PROTECTED]
 
  2) Create two different parent project files, and have the extends
  parameter depend on a property:
 
  project
  extends${jsf.project.file}/extends
 
 That has promise! Thanks, I didn't know you could do that. :)
 
 If it's not painfully obvious by this point, this is an existing Ant build
 that I'm trying to reproduce with Maven.
 
 After several days of fighting with it, I'm going to retreat to the 
 position
 of making the Maven build do something reasonably useful, and propose a
 reorganization to get the project into a format that Maven is happier to
 deal with.
 
 Thanks for putting up with all the questions. :)
 
 --
 Wendy Smoak
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 



[m1] Conditional dependencies

2005-08-29 Thread Wendy Smoak
I'm working on a project that needs to compile and build with *either* the 
JSF Reference Implementation *or* Apache MyFaces.  This has to be 
user-specified, at build time.  In addition to compilation and including the 
correct .jar files in a webapp, there's also a modification that must be 
done to web.xml, commenting out a section if we're using the RI, leaving it 
in place for MyFaces.


And I had it working by having the user specify which JSF api and 
implementation .jar files to use, as properties:


maven.shale.jsf.api.jar=${maven.repo.local}/myfaces/jars/myfaces-jsf-api-1.0.9.jar
maven.shale.jsf.impl.jar=${maven.repo.local}/myfaces/jars/myfaces-impl-1.0.9.jar
  or
maven.shale.jsf.api.jar=${maven.repo.local}/javax.faces/jars/jsf-api-1.1.jar
maven.shale.jsf.impl.jar=${maven.repo.local}/javax.faces/jars/jsf-impl-1.1.jar

But then I found out that for MyFaces, there is a *third* .jar file that 
must be included in the .war file.  So now (realizing that there's probably 
no way I can avoid a bunch of scripting) I'm thinking of having the user 
specify either:


maven.shale.jsf = [myfaces|jsfri]
 or
maven.shale.jsf.ri = [true|false]
maven.shale.jsf.myfaces = [true|false]

Before I go any further with that, is there a precedent I should follow?

Alternately, because I can't specify a dependency in the project.xml file, 
I already wrote 'myfaces-project.xml' which does nothing but declare the 
dependencies so Maven will download them.  Is it possible that the right 
answer is to have a 'myfaces-project.xml' file in each directory and do 
either


$ maven build-all
  or
$ maven -p myfaces-project.xml build-all

depending on which JSF implementation you want to use?  I'm not sure I want 
to start down that path, given that there may eventually be multiple JSF 
implementations from which to choose.


What would you do in this situation?

If you want to take a look at the files:
  http://svn.apache.org/viewcvs.cgi/struts/shale/trunk/
or
  $ svn co http://svn.apache.org/repos/asf/struts/shale/trunk/ shale

(If you want to try to build it, read this first: 
http://wiki.wsmoak.net/cgi-bin/wiki.pl?ShaleMavenBuild )


Thanks for any advice!  I note that there is only one thread on this topic 
in the archives... one post, with no replies.


--
Wendy Smoak



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Conditional dependencies

2005-01-10 Thread Hallingstad Håkon
I have a dependency for an EJB jar that should only be present if
packaging for the WAS userdefined goal. How may I include/exlude
dependencies?

Regards,
Håkon Hallingstad
Software Developer, EDB
+47 2252 8218
[EMAIL PROTECTED]
www.edb.com
IT er ikke alt - men det hjelper

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]