and then? 

My problem is, that I need to put the ddl scripts into an artifact (*.zip 
or *.jar) just for expand them later on into a delivery structure.
The delivery structure is generated by a "delivery pom.xml" with all 
dependencies to releases artifacts that will go into the delivery.

the ddl scripts are actually a part of the directory structure of a "jar" 
build module.

I could now
        a) put the ddl scripts into the *.jar (where they are not used) 
and extract them later on into the delivery directory structure 
        b) put the ddl scripts into a new *.zip file which will be created 
during the existing *.jar module build (than i have two artifacts within 
one module)
        c) put the ddl scripts into a new *.zip file which will be created 
during the build of a new *.zip module build.

or with other words:
I don´t want the size of my jar files to grow because a lot of DDL scripts 
are packaged into them
I don`t want to ignore the Maven policy "one artifact within one module"

So - what´s best practice? How do others package and deliver their DDL 
files?

thanx, Torsten




Stephen Connolly <[email protected]> 
16.01.2009 15:47
Bitte antworten an
"Maven Users List" <[email protected]>


An
Maven Users List <[email protected]>
Kopie

Thema
Re: where to put DDL files in a project structure.






how about

src/main/ddl

?

2009/1/16 <[email protected]>

> Hi,
>
> I´m thinking about where to put my DDL scripts in our project structure:
>
> Actually we have two projects with DDL scripts as part of a multi-module
> build.
>
> project-core
>        \src\main\java
>        \conf\ddl
>
> project-ext
>        \src\main\java
>        \conf\ddl
>
> When the multi-module build gets released, only the *.jars (containing
> *.class files) go to the mavenrepo - the \conf\ddl folders are'nt
> versioned.
>
> When the whole project gets delivered (in a special structure for the
> customer), we have a separate "delivery build" which references the
> release of the multi-module build,
> the releases of some other sub-modules, a documentation folder and so 
on.
>
> This "delivery-build" also references relative the \ddl folders of
> "project-core" and "project-ext":
>
> <plugin>
>        <artifactId>maven-antrun-plugin</artifactId>
>        <executions>
>                <execution>
>                        <id>copy</id>
>                        <phase>package</phase>
>                        <configuration>
>                                <tasks>
>                                        <copy
> todir="${delivery_dir}/${productVersion}/Install/DB" flatten="true"
> failonerror="true">
>                                                <fileset dir="
> ../../../system/backend/project-ext/conf/ddl">
>                                                        <include
> name="**/*"/>
>                                                </fileset>
>                                                <fileset dir="
> ../../../system/backend/project-core/conf/ddl">
>                                                        <include
> name="**/*"/>
>                                                        <exclude
> name="**/updatedb*"/>
>                                                </fileset>
>                                                <fileset
> dir="../../../install/additional-db-scripts">
>                                                        <include
> name="**/update_db*"/>
>                                                </fileset>
>                                        </copy>
>                                        ....
>
> Now, I want to "release" the \conf\ddl folders too, as part of the
> multi-module build and pack them into "project-core.zip" or
> "project-ext.zip".
>
> ==> Would you suggest to have 2 artifacts within one module (one *.jar
> artifact containing the source files and one artifact containing the DDL
> files)
>        or separte the DDL files into a new sub-module (for example
> project-core-ddl and project-ext-ddl) ?
>
>
> Thanx for your advice,
>
>
> Torsten
>
>
>

Reply via email to