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