From forrest-dev-return-5855-apmail-xml-forrest-dev-archive=xml.apache.org@xml.apache.org Mon Jun 02 19:28:48 2003 Return-Path: Delivered-To: apmail-xml-forrest-dev-archive@xml.apache.org Received: (qmail 80770 invoked by uid 500); 2 Jun 2003 19:28:46 -0000 Mailing-List: contact forrest-dev-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: forrest-dev@xml.apache.org Delivered-To: mailing list forrest-dev@xml.apache.org Received: (qmail 80617 invoked from network); 2 Jun 2003 19:28:44 -0000 Received: from main.gmane.org (80.91.224.249) by daedalus.apache.org with SMTP; 2 Jun 2003 19:28:44 -0000 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 19Muww-0003PK-00 for ; Mon, 02 Jun 2003 21:26:30 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: forrest-dev@xml.apache.org Received: from news by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 19MuvN-0003GB-00 for ; Mon, 02 Jun 2003 21:24:53 +0200 From: Leo Simons Subject: Re: basic forrest plugin for maven Date: Mon, 02 Jun 2003 21:26:57 +0200 Lines: 102 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@main.gmane.org User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3) Gecko/20030312 X-Accept-Language: en-us, en In-Reply-To: Sender: news X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N I've reworked the plugin to be able to be integrated with the forrest build. to see it in action, do this: wget http://cvs.apache.org/~leosimons/maven-forrest-plugin.zip /tmp mv /tmp/maven-forrest-plugin.zip ~/cvs/xml-forrest/src/resources cd ~/cvs/xml-forrest/src/resources unzip maven-forrest-plugin.zip cd maven-plugin #### install maven-beta-9 or later, if you don't have it yet #### maven plugin # this is a target inside the maven-plugin-plugin, atm # it just calls the jar:jar goal/target maven plugin:install # this is another target inside that plugin; # it just copies the generated jarfile into your local # maven installation #### checkout avalon and avalon-excalibur modules #### cd ~/cvs/avalon-excalibur/compatibility maven xdoc # site generated using forrest plugin The maven.xml file in this patch is modified from the maven plugin sample at http://cvs.apache.org/viewcvs.cgi/maven/src/plugins-build/examples/plugin-script/. It should be pretty clear what it does (even if you don't know maven or jelly, like me ;), basically the shbat distribution is generated, patched, then jarred up along with some minimal script files. more todo: >> ------------ >> - add plugin to forrest cvs could someone with appropriate access please get the zipfile mentioned above and add its contents to the src/resources directory, after verifying its a good idea and the location is a good one? >> - figure out a full POM for forrest and list all of its dependencies >> (the gump descriptor should be a good start) >> >> - patch the most recent forrest install buildfile as I did (really >> minimal changes only, in fact) done >> - patch the buildfile to customize the classpath to reference >> dependencies in the repository, rather than include a whole bunch of >> jars in the plugin; remove all the jars "build.syclasspath=only" might help here, since we can just put the entire maven classpath on the sysclasspath in the call that runs ant. >> - properly structure the plugin so that it adheres to maven plugin >> conventions and things like a manifest are auto-generated done. >> - remove unused stuff like the webapp and forrestbot functionality >> from the plugin how easy is it to strip down the shbat distribution further? Are there plans for that, is it wanted? Where would I start? >> - figure out how to neatly replace the xdoc generation (right now the >> forrest:generate target just overwrites any maven-generated files >> which are in the way) this is the most tricky part. A symbiotic relationship between maven and forrest can exist to some extent, as you can have maven-generated files easily reference files which will be generated later by forrest, and vice versa (where I believe filterlinks.xsl should be modified in forrest to not overwrite any stuff we know maven will generate), but from there it is more tricky. I saw an anakia2document.xsl sheet and some auxillary files. How easy would it be to detect whether a given xdoc file is in maven's format and have forrest run this automatically? Where does one configure forrest to do that? Is there docs on how to do that (I have a hunch there is some kind of fancy dynamism in some kind of sitemap :D)? >> - customize forrest skins to include a reference to the >> maven-generated project reports if they exist my current thinking is that for now a "reports" tab should be added to a temporary tabs.xml file based on a test for existence of the maven-reports.html file. Is that workable? Where would that test go; how easy is it to modify the tabs.xml file conditionally like that? My hunch is XSLT is in order, which makes me shiver..... >> - write a project.xml (maven POM) -> status.xml (Forrest status file) >> converter >> >> - perhaps write an all-new doc generation plugin where it is easier to >> customize whether JSL or forrest or something else is used? my current thinking is that the easiest setup will be to incorporate parsing of all maven-style docs into forrest. lemme know what you guys think! cheers, - Leo