You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Don Brown <mr...@twdata.org> on 2006/04/06 21:52:01 UTC

[Proposal] Remove Tiles dependency in Action 1

With the new restructuring, we have three official Struts subprojects - Action, Shale, and Tiles.  Currently, Tiles 
depends on Action 1, and through Action 1's EL artifact, Action 1 depends on Tiles.

I propose we remove this circular dependency and move the Tiles-dependent EL tags into Tiles itself.  The only other 
dependency I'm aware of is Struts Blank, which I also propose we remove its Tiles dep.

Don

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by James Mitchell <jm...@apache.org>.
Definitely +1

--
James Mitchell




On Apr 6, 2006, at 3:52 PM, Don Brown wrote:

> With the new restructuring, we have three official Struts  
> subprojects - Action, Shale, and Tiles.  Currently, Tiles depends  
> on Action 1, and through Action 1's EL artifact, Action 1 depends  
> on Tiles.
>
> I propose we remove this circular dependency and move the Tiles- 
> dependent EL tags into Tiles itself.  The only other dependency I'm  
> aware of is Struts Blank, which I also propose we remove its Tiles  
> dep.
>
> Don
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Sean Schofield <se...@gmail.com>.
> But does MyFaces depend on Tomahawk components at compile time?  This is
> the circular link that has me concerned.

No, that part is different.  Its a one-way dependency.   I guess there
is nothing that Maven2 can do for you then.

> Don

Sean

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Don Brown <mr...@twdata.org>.
Sean Schofield wrote:
>> Agreed.  I handled this in scripting by adding an element to each dependency declaration marking it as optional or not.
>>   I used this new element to create the release notes (combined with changes.xml) as well as create website docs.
>> Perhaps we could do something similar in Maven 2.
>>     
>
> Maven2 has a <provided> scope for dependencies.  Maybe this is the
> right solution?  We use it in MyFaces for the Tomahawk components
> which depend on a JSF implementation.  We compile against the MyFaces
> implementation but we do not distribute this with Tomahawk.  Its up to
> the end user to provide their own implementation.
>   
But does MyFaces depend on Tomahawk components at compile time?  This is 
the circular link that has me concerned.  In this particular case, I 
think it makes sense to move the EL version of Tiles tags into Tiles 
itself, since it is code that Tiles really should be maintaining, now 
that it is a separate project.

Don

> Of course I don't know much about the Struts/Tiles EL so maybe I am confused ...
>
>   
>> Don
>>     
>
> Sean
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Sean Schofield <se...@gmail.com>.
> Agreed.  I handled this in scripting by adding an element to each dependency declaration marking it as optional or not.
>   I used this new element to create the release notes (combined with changes.xml) as well as create website docs.
> Perhaps we could do something similar in Maven 2.

Maven2 has a <provided> scope for dependencies.  Maybe this is the
right solution?  We use it in MyFaces for the Tomahawk components
which depend on a JSF implementation.  We compile against the MyFaces
implementation but we do not distribute this with Tomahawk.  Its up to
the end user to provide their own implementation.

Of course I don't know much about the Struts/Tiles EL so maybe I am confused ...

> Don

Sean

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Don Brown <mr...@twdata.org>.
Craig McClanahan wrote:
> It's ok to keep it the way you propose, I guess ... but hard versus soft
> runtime dependencies is worth some thought across all of the artifacts, as
> we are reorganizing things.

Agreed.  I handled this in scripting by adding an element to each dependency declaration marking it as optional or not. 
  I used this new element to create the release notes (combined with changes.xml) as well as create website docs. 
Perhaps we could do something similar in Maven 2.

Don

> 
> Don
> 
> 
> Craig
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Craig McClanahan <cr...@apache.org>.
On 4/6/06, Don Brown <mr...@twdata.org> wrote:
>
> Craig McClanahan wrote:
> > On 4/6/06, Don Brown <mr...@twdata.org> wrote:
> >> With the new restructuring, we have three official Struts subprojects -
> >> Action, Shale, and Tiles.  Currently, Tiles
> >> depends on Action 1, and through Action 1's EL artifact, Action 1
> depends
> >> on Tiles.
> >>
> >> I propose we remove this circular dependency and move the
> Tiles-dependent
> >> EL tags into Tiles itself.  The only other
> >> dependency I'm aware of is Struts Blank, which I also propose we remove
> >> its Tiles dep.
> >
> >
> > Wouldn't this make Tiles depend on the EL artifact, even if you didn't
> need
> > it?  Seems like the Tiles EL tags might really need to be their own
> artifact
> > that depends on Tiles and EL (as well as Action).
>
> Tiles can have multiple artifacts, I'm fine with that.  I just want to
> remove the circular dependency between the two
> projects.  Still, if we merged the code and kept with one artifact, sure,
> the build would require EL, wouldn't the end
> result require EL only if you tried to use those tags?


True.  But it's this sort of "soft" runtime dependency that can confuse
people too (and I'm as guilty of this with Shale as anyone else :-).  How
does one document the runtime dependencies in release notes or something?
There would need to be asterisks that you would need EL, but only if you're
using this particular subset of functionality.

It's ok to keep it the way you propose, I guess ... but hard versus soft
runtime dependencies is worth some thought across all of the artifacts, as
we are reorganizing things.

Don


Craig

Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Don Brown <mr...@twdata.org>.
Craig McClanahan wrote:
> On 4/6/06, Don Brown <mr...@twdata.org> wrote:
>> With the new restructuring, we have three official Struts subprojects -
>> Action, Shale, and Tiles.  Currently, Tiles
>> depends on Action 1, and through Action 1's EL artifact, Action 1 depends
>> on Tiles.
>>
>> I propose we remove this circular dependency and move the Tiles-dependent
>> EL tags into Tiles itself.  The only other
>> dependency I'm aware of is Struts Blank, which I also propose we remove
>> its Tiles dep.
> 
> 
> Wouldn't this make Tiles depend on the EL artifact, even if you didn't need
> it?  Seems like the Tiles EL tags might really need to be their own artifact
> that depends on Tiles and EL (as well as Action).

Tiles can have multiple artifacts, I'm fine with that.  I just want to remove the circular dependency between the two 
projects.  Still, if we merged the code and kept with one artifact, sure, the build would require EL, wouldn't the end 
result require EL only if you tried to use those tags?

Don

> 
> Don
> 
> 
> Craig
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Craig McClanahan <cr...@apache.org>.
On 4/6/06, Don Brown <mr...@twdata.org> wrote:
>
> With the new restructuring, we have three official Struts subprojects -
> Action, Shale, and Tiles.  Currently, Tiles
> depends on Action 1, and through Action 1's EL artifact, Action 1 depends
> on Tiles.
>
> I propose we remove this circular dependency and move the Tiles-dependent
> EL tags into Tiles itself.  The only other
> dependency I'm aware of is Struts Blank, which I also propose we remove
> its Tiles dep.


Wouldn't this make Tiles depend on the EL artifact, even if you didn't need
it?  Seems like the Tiles EL tags might really need to be their own artifact
that depends on Tiles and EL (as well as Action).

Don


Craig

Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Antonio Petrelli <br...@tariffenet.it>.
Greg Reddin ha scritto:
> But I'm not sure if Tiles-Struts Action integration will happen in the 
> Tiles Subproject or as a sub-subproject of Action :-)

Maybe in a sub-subproject of Tiles :-P


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [Proposal] Remove Tiles dependency in Action 1

Posted by Greg Reddin <gr...@apache.org>.
On Apr 6, 2006, at 2:52 PM, Don Brown wrote:

> With the new restructuring, we have three official Struts  
> subprojects - Action, Shale, and Tiles.  Currently, Tiles depends  
> on Action 1, and through Action 1's EL artifact, Action 1 depends  
> on Tiles.
>
> I propose we remove this circular dependency and move the Tiles- 
> dependent EL tags into Tiles itself.  The only other dependency I'm  
> aware of is Struts Blank, which I also propose we remove its Tiles  
> dep.

Ok, I had to think about this a little bit, but I think I'm fine with  
creating an el sub-subproject in Tiles and moving those tags there.   
At first blush I didn't like the idea, but since EL has become a sub- 
subproject of Action, it makes sense for the Tiles pieces to be part  
of Tiles.

Ultimately my hope is that the Tiles dependencies on Action will be  
removed when Standalone is released.  But I'm not sure if Tiles- 
Struts Action integration will happen in the Tiles Subproject or as a  
sub-subproject of Action :-)

I guess there's plenty of time to figure all that out.

Greg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org