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
>
>
>