You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Brett Porter <br...@apache.org> on 2009/02/19 15:38:56 UTC
Re: Using Doxia 1.1 with Maven 2.0.x and more (WAS: svn commit: r740732 - in /maven/doxia: doxia/trunk/doxia-maven-plugin/pom.xml site/pom.xml)
On 05/02/2009, at 12:39 AM, Vincent Siveton wrote:
> Hi guys,
>
> The good news is that using the shade plugin, I was able to run a the
> latest Doxia plugin (using Doxia 1.1) with mvn 2.0.9 and 2.1.0.M2 and
> site-plugin 2.0-beta-7.
> The bad news, I don't know what are the potential side effects.
For what you are trying to do, there'll be no negative side effects to
this or the PDF plugin.
Think of it this way, you are "self containing" the plugins' doxia
dependencies - they won't interact with Maven or other plugins. That's
fine here - these are standard mojos that get executed that way
anyway. But if you try it on project-info-reports, you get this:
[INFO] Error configuring: org.apache.maven.plugins:maven-project-info-
reports-plugin. Reason: java.lang.LinkageError: Class org/codehaus/
doxia/sink/Sink violates loader constraints
This is because it is trying to pass the "self contained" sink through
to the site plugin as if it were a "core" sink, and they no longer
match up (even if they were to be the same). I'll take a closer look
at whether we can get this reference out easily.
- Brett
--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: Using Doxia 1.1 with Maven 2.0.x and more (WAS: svn commit: r740732 - in /maven/doxia: doxia/trunk/doxia-maven-plugin/pom.xml site/pom.xml)
Posted by Brett Porter <br...@apache.org>.
On 20/02/2009, at 1:38 AM, Brett Porter wrote:
>
> On 05/02/2009, at 12:39 AM, Vincent Siveton wrote:
>
>> Hi guys,
>>
>> The good news is that using the shade plugin, I was able to run a the
>> latest Doxia plugin (using Doxia 1.1) with mvn 2.0.9 and 2.1.0.M2 and
>> site-plugin 2.0-beta-7.
>> The bad news, I don't know what are the potential side effects.
>
> For what you are trying to do, there'll be no negative side effects
> to this or the PDF plugin.
>
> Think of it this way, you are "self containing" the plugins' doxia
> dependencies - they won't interact with Maven or other plugins.
> That's fine here - these are standard mojos that get executed that
> way anyway. But if you try it on project-info-reports, you get this:
>
> [INFO] Error configuring: org.apache.maven.plugins:maven-project-
> info-reports-plugin. Reason: java.lang.LinkageError: Class org/
> codehaus/doxia/sink/Sink violates loader constraints
>
> This is because it is trying to pass the "self contained" sink
> through to the site plugin as if it were a "core" sink, and they no
> longer match up (even if they were to be the same). I'll take a
> closer look at whether we can get this reference out easily.
This didn't go so well.
The way this works is that the site plugin relies on getting a
consistent report and sink interface from every reporting plugin
loaded by Maven. The only way they get a common denominator is by
Maven dictating this. So any type of filtering out or cherrypicking
classes is going to cause some confusion because at the end you need
site and report operating on the same classes. I tried every
combination I could think of to see if I could discover something in
the current structure that would decouple it without much success.
So I tried a straight upgrade to doxia 1.1-SNAPSHOT and tried running
the old site plugin. This seemed to work but dropped the skinning
altogether. But I have a feeling there could be potential problems
here - if you are getting the new sink, then a report operates on the
old sink-api, but you grab a new site plugin, then the report will
fail because it doesn't declare all the new sink api methods.
My recommendation for 2.1.0 is to get 1.0 in there so it's at least on
that final strand, and run site 2.0 off of that.
For Doxia 1.1+, a hard look needs to be taken at how all these pieces
fit together. It can be used just fine for PDF, etc. where they don't
use the reporting links into the site. I think that is the model to go
for with the reports being as self contained as possible and the site
being able to link them together in some other way without actually
referring to or calling the report plugins (we can just use the site
lifecycle in the build to do the execution). That is probably a better
opportunity to look at separating the data gathering (in the reports)
from the rendering (in the site). This would leave the other
infrastructure in Maven for the old versions of the site plugin until
support is removed.
WDYT?
Cheers,
Brett
--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org