------- Forwarded message follows -------
From:                   Siegfried G�schl <[EMAIL PROTECTED]>
To:                     [EMAIL PROTECTED]
Subject:                Re: Making a massive earfile...
Date sent:              Thu, 30 Oct 2003 10:01:00 +0100

Hi James,

what I did on my last consulting job is to externalize the
dependencies using external entity references ...

<?xml version="1.0"?>

<!DOCTYPE project[
   <!ENTITY foo.dependencies SYSTEM "file:../master/deps/foo-
LATEST.inc">
]>
<project>
  <dependencies>
    &foo.dependencies;
    <dependency>
      <groupId>foo</groupId>
      <artifactId>foo</artifactId>
      <version>${version}</version>
      <properties>
        <ear.bundle>false</ear.bundle>
      </properties>
    </dependency>
  </dependencies>
</project>

I was forced to do that since the MEVENIDE plugin did not work and we
had different Cocoon and Wesphere Application Server versions to
support. With a little bit of planning it is  possible to get quite
far with it but there are couple of problems worth mentioning:

-) Since the fragments are included into each project there is not
much flexibility in bundling a JAR for project A but not for project
B
or the other way round.

-) It is possible to define a JAR more than once and possibly with
different version .... :-(


Cheers,

Siegfried Goeschl


On 29 Oct 2003 at 16:54, James CE Johnson wrote:

> I'm looking for some advice on the best way to make a single massive
> ear file for the app I'm building.
>
> Currently, my project consists of:
> - one jar of plain old objects
> - two jars of EJBs
> - one war of the webapp bits
>
> Each of these four things are subprojects within my larger project.
>
> I want to give our production team a single ear file that contains
> everything needing to be deployed. To do that I can easily create a
> project.xml that references each of the above and use ear:ear to
> bundle up the result. But... That ear file needs to also include
the
> rather large list of "third party" jars required by the code I've
> written. All of those are already listed in each subprojects'
> project.xml. Is there a clever way to construct bigEar/project.xml
so
> that I don't have to copy/paste the list of dependencies from each
of
> the subprojects?
>
> My current solution looks something like this:
>
>   <goal name="earfile">
>
>     <copy file="conf/application.xml"
>           todir="${maven.build.dir}"
>           filtering="true"
>           />
>     <copy file="conf/jboss-app.xml"
>           todir="${maven.build.dir}">
>       <filterset>
>         <filter token="APPLICATION_EARFILE"
>                 value="${maven.final.name}.ear"/>
>       </filterset>
>     </copy>
>
>     <deploy:copy-deps todir="${maven.build.dir}"
>
projectDescriptor="${basedir}/../security/project.xml"/>
>     <deploy:copy-deps todir="${maven.build.dir}"
>             projectDescriptor="${basedir}/../service/project.xml"/>
>     <deploy:copy-deps todir="${maven.build.dir}"
>             projectDescriptor="${basedir}/../view/project.xml"/>
>
>     <ear earfile="${maven.build.dir}/${maven.final.name}.ear"
>          appxml="${maven.build.dir}/application.xml">
>
>       <fileset dir="${maven.build.dir}"
>                includes="*.jar,*.war" />
>
>       <metainf dir="${maven.build.dir}"
>                includes="jboss-app.xml" />
>     </ear>
>
>   </goal>
>
>
> --------------------------------------------------------------------
-
> To unsubscribe, e-mail: [EMAIL PROTECTED] For
> additional commands, e-mail: [EMAIL PROTECTED]
>

------- End of forwarded message -------

Siegfried Goeschl
CTO
=================================
IT20one GmbH
mail: [EMAIL PROTECTED]
phone: +43-1-9900046
fax: +43-1-52 37 888
www.it20one.at
Siegfried Goeschl
CTO
=================================

IT20one GmbH
mail: [EMAIL PROTECTED]
phone: +43-1-9900046
www.it20one.at


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

Reply via email to