You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-dev@maven.apache.org by Dennis Lundberg <de...@apache.org> on 2007/09/24 22:06:25 UTC
Re: svn commit: r578786 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml
This brings in a circular dependency between doxia and doxia-tools.
Below we have doxia:doxia-module-fo depending on
doxia-sitetools:doxia-doc-renderer (with the wrong version here as well,
it should be doxiaSitetoolsVersion not doxiaVersion) which in turn
depends on doxia:core and company.
Is this an indication that doc-renderer should really be in doxia
instead of in doxia-sitetools?
ltheussl@apache.org wrote:
> Author: ltheussl
> Date: Mon Sep 24 05:27:45 2007
> New Revision: 578786
>
> URL: http://svn.apache.org/viewvc?rev=578786&view=rev
> Log:
> Adjust to new environment
>
> Modified:
> maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml
>
> Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml
> URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml?rev=578786&r1=578785&r2=578786&view=diff
> ==============================================================================
> --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml (original)
> +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml Mon Sep 24 05:27:45 2007
> @@ -21,17 +21,14 @@
>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
> <parent>
> - <artifactId>doxia</artifactId>
> + <artifactId>doxia-modules</artifactId>
> <groupId>org.apache.maven.doxia</groupId>
> <version>1.0-beta-1-SNAPSHOT</version>
> </parent>
> <modelVersion>4.0.0</modelVersion>
> <artifactId>doxia-module-fo</artifactId>
> <name>Doxia :: FO Module</name>
> -
> - <properties>
> - <doxiaVersion>1.0-beta-1-SNAPSHOT</doxiaVersion>
> - </properties>
> + <description>A Doxia module for FO (Formatting Objects) source documents.</description>
>
> <developers>
> <developer>
> @@ -48,18 +45,8 @@
> <dependencies>
> <dependency>
> <groupId>org.apache.maven.doxia</groupId>
> - <artifactId>doxia-core</artifactId>
> - <version>${doxiaVersion}</version>
> - </dependency>
> - <dependency>
> - <groupId>org.apache.maven.doxia</groupId>
> - <artifactId>doxia-sink-api</artifactId>
> - <version>${doxiaVersion}</version>
> - </dependency>
> - <dependency>
> - <groupId>org.apache.maven.doxia</groupId>
> <artifactId>doxia-doc-renderer</artifactId>
> - <version>${doxiaVersion}</version>
> + <version>${projectVersion}</version>
> </dependency>
> <dependency>
> <groupId>commons-configuration</groupId>
> @@ -70,20 +57,6 @@
> <groupId>org.apache.xmlgraphics</groupId>
> <artifactId>fop</artifactId>
> <version>0.93</version>
> - </dependency>
> - <!-- test dependencies -->
> - <dependency>
> - <groupId>junit</groupId>
> - <artifactId>junit</artifactId>
> - <version>3.8.1</version>
> - <scope>test</scope>
> - </dependency>
> - <dependency>
> - <groupId>org.apache.maven.doxia</groupId>
> - <artifactId>doxia-core</artifactId>
> - <version>${doxiaVersion}</version>
> - <classifier>tests</classifier>
> - <scope>test</scope>
> </dependency>
> </dependencies>
> <build>
>
>
>
--
Dennis Lundberg
Re: svn commit: r578786 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml
Posted by Lukas Theussl <lt...@apache.org>.
good catch, there is indeed a design flaw that's being revealed.
The point is that I use two sinks in the fo module, the 'normal' FoSink,
and the FoAggregateSink. The latter is used to transform a set of input
files into only one target file, as required by a pdf plugin. For this
to work, you need certain meta information that is not found in the
single source files, eg to construct the TOC, the cover page, the
'rendering context', etc. The AggregateSink uses the DocumentModel of
the docrenderer to represent this information. That's the only reason it
depends on docrenderer, it doesn't (and shouldn't) need all the
interface stuff.
I think there are two possible solutions:
-) move the FoAggregateSink into docrenderer, eg o.a.m.d.docrenderer.fo
-) factor out the DocumentModel from docrenderer and put it eg into
doxia-core, or a separate project? It's only that part that should be
part of doxia, not the whole docrenderer.
I don't like the first one as it limits the possibilities of the fo
module (and any other module btw) to be used stand-alone. It would also
imply that we limit the core modules to only handle single-document
translations. OTOH, it's what Vincent has already effectively done with
the itext module (even though he doesn't use a separate sink but merges
the generated itext files by hand).
Note that the xhtml module uses its own RenderingContext to approach
this same kind of problem, but this is not scalable, and it's not clear
to me how to use it eg to generate one single html file from a set of
input files. We need a separate document model that can be used by any
doxia module.
As I said in the vote thread, I am going to re-write the doc-renderer
anyway as it's currently not general enough (judging from my first
experiences with the pdf plugin).
Let me know what you think.
-Lukas
Dennis Lundberg wrote:
> This brings in a circular dependency between doxia and doxia-tools.
>
> Below we have doxia:doxia-module-fo depending on
> doxia-sitetools:doxia-doc-renderer (with the wrong version here as well,
> it should be doxiaSitetoolsVersion not doxiaVersion) which in turn
> depends on doxia:core and company.
>
> Is this an indication that doc-renderer should really be in doxia
> instead of in doxia-sitetools?
>
> ltheussl@apache.org wrote:
>
>> Author: ltheussl
>> Date: Mon Sep 24 05:27:45 2007
>> New Revision: 578786
>>
>> URL: http://svn.apache.org/viewvc?rev=578786&view=rev
>> Log:
>> Adjust to new environment
>>
>> Modified:
>> maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml
>>
>> Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml?rev=578786&r1=578785&r2=578786&view=diff
>>
>> ==============================================================================
>>
>> --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml
>> (original)
>> +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/pom.xml Mon
>> Sep 24 05:27:45 2007
>> @@ -21,17 +21,14 @@
>>
>> <project xmlns="http://maven.apache.org/POM/4.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>> http://maven.apache.org/maven-v4_0_0.xsd">
>> <parent>
>> - <artifactId>doxia</artifactId>
>> + <artifactId>doxia-modules</artifactId>
>> <groupId>org.apache.maven.doxia</groupId>
>> <version>1.0-beta-1-SNAPSHOT</version>
>> </parent>
>> <modelVersion>4.0.0</modelVersion>
>> <artifactId>doxia-module-fo</artifactId>
>> <name>Doxia :: FO Module</name>
>> -
>> - <properties>
>> - <doxiaVersion>1.0-beta-1-SNAPSHOT</doxiaVersion>
>> - </properties>
>> + <description>A Doxia module for FO (Formatting Objects) source
>> documents.</description>
>>
>> <developers>
>> <developer>
>> @@ -48,18 +45,8 @@
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.maven.doxia</groupId>
>> - <artifactId>doxia-core</artifactId>
>> - <version>${doxiaVersion}</version>
>> - </dependency>
>> - <dependency>
>> - <groupId>org.apache.maven.doxia</groupId>
>> - <artifactId>doxia-sink-api</artifactId>
>> - <version>${doxiaVersion}</version>
>> - </dependency>
>> - <dependency>
>> - <groupId>org.apache.maven.doxia</groupId>
>> <artifactId>doxia-doc-renderer</artifactId>
>> - <version>${doxiaVersion}</version>
>> + <version>${projectVersion}</version>
>> </dependency>
>> <dependency>
>> <groupId>commons-configuration</groupId>
>> @@ -70,20 +57,6 @@
>> <groupId>org.apache.xmlgraphics</groupId>
>> <artifactId>fop</artifactId>
>> <version>0.93</version>
>> - </dependency>
>> - <!-- test dependencies -->
>> - <dependency>
>> - <groupId>junit</groupId>
>> - <artifactId>junit</artifactId>
>> - <version>3.8.1</version>
>> - <scope>test</scope>
>> - </dependency>
>> - <dependency>
>> - <groupId>org.apache.maven.doxia</groupId>
>> - <artifactId>doxia-core</artifactId>
>> - <version>${doxiaVersion}</version>
>> - <classifier>tests</classifier>
>> - <scope>test</scope>
>> </dependency>
>> </dependencies>
>> <build>
>>
>>
>>
>
>