continuum-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Petter Måhlén <petter.mah...@jadestone.se>
Subject How to handle inter-project dependencies
Date Tue, 15 May 2007 13:31:38 GMT
Hi,

We have a setup that works well during development but doesn't agree with
Continuum's philosophy of how to handle things - or so it seems to me. I
think there is a point in doing it another way than we are, but I am not
sure how. Hopefully, somebody here can enlighten me. :)

We have three projects:

1. 'common', which basically contains an XML schema definition file for code
generation with XJC (other things as well, but that's probably not relevant
for the issue at hand).

2. 'client', which is built using Ant (for historical reasons, would have
preferred Maven but no time to fix that yet). One step of the build looks
like so:

	<target name="generate-xsd-source">
		<mkdir dir="${xjc.gen.dir}" />
		<exec executable="${xjc.exe}">
			<arg value="-p" />
			<arg value="se.jadestone.hc.client.database"/>
			<arg value="-d" />
			<arg value="${xjc.gen.dir}"/>
			<arg
value="${common.dir}/src/main/schemas/database.xsd"/>
		</exec>
	</target>

In our local environments, '${common.dir}' points to a directory where the
source code of the 'common' project resides (../common by default).

3. 'server', which is built using Maven, and which contains the following
dependency:

  ...
  <build>
     ...
     <plugins>
	   	<plugin>
			<groupId>com.sun.tools.xjc.maven2</groupId>
			<artifactId>maven-jaxb-plugin</artifactId>
			<executions>
				<execution>
					<goals>
						<goal>generate</goal>
					</goals>
				</execution>
			</executions>
			<configuration>
	
<generatePackage>se.jadestone.hc.client.database</generatePackage>
	
<schemaDirectory>../common/src/main/schemas</schemaDirectory>
				<strict>true</strict>
				<verbose>true</verbose>       
			</configuration>
		</plugin>
     </plugin>
  </build>

Since we cannot know (I think) which directory name Continuum will choose
when checking out and building the 'common' project, both of these builds
fail. As far as I have been able to figure out, both the XJC tool and the
maven-jaxb-plugin require that we specify an explicit path to the file to
generate code from, so it doesn't seem to be an option to use the jar file
that we actually build from other things in the 'common' project. I would
like to get away from using explicit paths the way we are, but I am not sure
how.

Does anybody have a solution to this problem? We're using 1.0.3, by the way.

Thanks in advance,

Petter


Mime
View raw message