You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Chris Lewis <ch...@bellsouth.net> on 2007/12/04 19:56:35 UTC

customize artifact contents

Hello list,

I have a question regarding the final packaging of artifacts. Basically 
I want to exclude an entire (sub) package of class files - here's why:

I'm working on an app (web) that contains a 'demo app', solely used to 
showcase visual components. The app project is actually a component 
library, and the app part isn't ever used in production. The demo app 
lives in a sub package under src/main/java, NOT src/test/java. The 
reason for this is because the demo app needs access to resources 
(javascripts, css, and images) that are part of the components, and 
naturally these resources also live in src/main/resources.
Now if I move my demo app to the recommended place under src/test/java, 
then when I run my web app (jetty plugin) it fails to find the 
resources, since the tests never include resources from 
src/main/resources but only from src/test/resources. Keeping my demo app 
in the main directory allows it to access the resources.

So now I need a way to strip the demo app from the final artifact, 
unless there is a way to move it to where it belongs (src/test/...) but 
modify the location used for resources. Any suggestions (links to docs, 
etc) are appreciated. I've read Better Builds ... and didn't come across 
anything of this nature.

Thanks in advance
sincerely,
Chris Lewis

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: customize artifact contents

Posted by Chris Lewis <ch...@bellsouth.net>.
Thanks for the reply. I had something like this set up at first, but 
quickly changed it because I'm also working on the component library 
project at the same time. Any time I want to see my changes I have to 
mvn install that artifact and then (re)execute my demo app. On top of 
that, part of the components are JS and CSS whose changes I need to see 
immediately - without installing/stopping/starting the web app.

I can do all of this in my current setup, with the (unacceptable) side 
affect of having a test app in a production artifact. If there is a way 
to do this using a dependent project, can you direct me towards 
information on how?

Thanks,
Chris

Michael McCallum wrote:
> create a new web app project that just contains the demo code... depend on the 
> real web app... voila when you build it overlays the demo on the real app 
> war...
>
> you need to be careful not to include dependencies in the demo app or at least 
> none of the same deps as the real app... you will see two versions of jars 
> appearing in the demo war 
> On Wed, 05 Dec 2007 07:56:35 Chris Lewis wrote:
>   
>> Hello list,
>>
>> I have a question regarding the final packaging of artifacts. Basically
>> I want to exclude an entire (sub) package of class files - here's why:
>>
>> I'm working on an app (web) that contains a 'demo app', solely used to
>> showcase visual components. The app project is actually a component
>> library, and the app part isn't ever used in production. The demo app
>> lives in a sub package under src/main/java, NOT src/test/java. The
>> reason for this is because the demo app needs access to resources
>> (javascripts, css, and images) that are part of the components, and
>> naturally these resources also live in src/main/resources.
>> Now if I move my demo app to the recommended place under src/test/java,
>> then when I run my web app (jetty plugin) it fails to find the
>> resources, since the tests never include resources from
>> src/main/resources but only from src/test/resources. Keeping my demo app
>> in the main directory allows it to access the resources.
>>
>> So now I need a way to strip the demo app from the final artifact,
>> unless there is a way to move it to where it belongs (src/test/...) but
>> modify the location used for resources. Any suggestions (links to docs,
>> etc) are appreciated. I've read Better Builds ... and didn't come across
>> anything of this nature.
>>
>> Thanks in advance
>> sincerely,
>> Chris Lewis
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>     
>
>
>
>   


Re: customize artifact contents

Posted by Michael McCallum <gh...@apache.org>.
create a new web app project that just contains the demo code... depend on the 
real web app... voila when you build it overlays the demo on the real app 
war...

you need to be careful not to include dependencies in the demo app or at least 
none of the same deps as the real app... you will see two versions of jars 
appearing in the demo war 
On Wed, 05 Dec 2007 07:56:35 Chris Lewis wrote:
> Hello list,
>
> I have a question regarding the final packaging of artifacts. Basically
> I want to exclude an entire (sub) package of class files - here's why:
>
> I'm working on an app (web) that contains a 'demo app', solely used to
> showcase visual components. The app project is actually a component
> library, and the app part isn't ever used in production. The demo app
> lives in a sub package under src/main/java, NOT src/test/java. The
> reason for this is because the demo app needs access to resources
> (javascripts, css, and images) that are part of the components, and
> naturally these resources also live in src/main/resources.
> Now if I move my demo app to the recommended place under src/test/java,
> then when I run my web app (jetty plugin) it fails to find the
> resources, since the tests never include resources from
> src/main/resources but only from src/test/resources. Keeping my demo app
> in the main directory allows it to access the resources.
>
> So now I need a way to strip the demo app from the final artifact,
> unless there is a way to move it to where it belongs (src/test/...) but
> modify the location used for resources. Any suggestions (links to docs,
> etc) are appreciated. I've read Better Builds ... and didn't come across
> anything of this nature.
>
> Thanks in advance
> sincerely,
> Chris Lewis
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org



-- 
Michael McCallum
Enterprise Engineer
mailto:gholam@apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org