Author: bimargulies
Date: Mon Aug 29 21:34:13 2011
New Revision: 1163019

URL: http://svn.apache.org/viewvc?rev=1163019&view=rev
Log:
More doc.

Modified:
    maven/sandbox/branches/doxia-ide-eclipse-with-tycho/src/site/apt/index.apt

Modified: 
maven/sandbox/branches/doxia-ide-eclipse-with-tycho/src/site/apt/index.apt
URL: 
http://svn.apache.org/viewvc/maven/sandbox/branches/doxia-ide-eclipse-with-tycho/src/site/apt/index.apt?rev=1163019&r1=1163018&r2=1163019&view=diff
==============================================================================
--- maven/sandbox/branches/doxia-ide-eclipse-with-tycho/src/site/apt/index.apt 
(original)
+++ maven/sandbox/branches/doxia-ide-eclipse-with-tycho/src/site/apt/index.apt 
Mon Aug 29 21:34:13 2011
@@ -6,10 +6,109 @@
  25 August 2011
  -----
 
-Structure
+Overview
 
-  [org.apache.maven.doxia.eclipse.dependencies] builds an OSGi bundle with all 
of the dependencies
+  A collection of Eclipse Editors for the common file formats of
+  Doxia:
+
+  * APT
+
+  * Confluence
+
+  * DocBook (simple)
+
+  * FML
+
+  * TWiki
+
+  * XDOC
+
+  * XHTML
+
+  These are made up of an OSGi bundle containing Doxia itself, plus a
+  series of Eclipse plugins that provide the editors.
+
+Tree Structure
+
+  [doxia-osgi] builds an OSGi bundle with all of the dependencies
   that are not OSGi in their native form. Due to a Tycho limitation, you have 
to run mvn install
-  on this before building the <<<eclipse>>> subdirectory.
+  on this before building the <<<eclipse-plugins>>> subdirectory.
+
+  [eclipse-plugins] contains all of the other material, using Tycho to make 
eclipse plugins.
+
+Build Process
+
+  The goal here is to permit both a relatively normal Maven build
+  process and active development inside Eclipse. Due to the unsettled
+  state of the technologies that can connect Maven and Eclipse, what
+  we have is something of a camel.
+
+  The first task is to package Doxia in OSGi. In, perhaps, a perfect
+  world, all the relevant Doxia bits-and-pieces would have independent
+  OSGi metadata, and be deployed in a public P2 repository (e.g. the
+  Nexus Pro at repository.apache.org). However, this would be
+  considerable effort for dubious value, and further the Doxia
+  components have the same package in multiple components, which
+  causes 'split package' syndrome in OSGi.
+
+  Rather than add OSGi metadata to all of the individual pieces, this
+  project builds a single bundle that incorporates all of them, and
+  then exports their APIs. The work is done by the
+  <<<maven-bundle-plugin>>> in
+  <<<doxia-osgi/org.apache.maven.doxia.eclipse.dependencies>>>.
+  The POM includes all the configuration for the bundle.
+
+  The present author does not know how all of this gets along with the 
+  <<<maven-release-plugin>>>. OSGi versioning works differently from
+  the usual Maven convention. Since we're not publishing via the
+  deploy plugin, it's probably safest to tag, update versions, and
+  release by hand. It only has to happen once per Doxia release.
+
+  See Peter Kriens'
+  explanation of the muddle with OSGi version numbers
+  {{{http://www.osgi.org/blog/2011/06/negative-qualifiers.html}here}}.
+
+  One solution goes like this: you release (e.g.) 1.0.0. Then
+  set the version number to 1.0.100.qualifier, and use the
+  auto-generated qualifiers. Then, to make a release, you set the
+  version to (e.g.) 1.1.0. This means giving up on the third digit,
+  but we don't generally use three numbers around Maven anyhow.
+
+  The <<<p2-repository>>> directory takes the plugin and packages it
+  up as a feature in a P2 repository. This is just for convenience;
+  I've found that Eclipse more reliably imports projects from here
+  than from the target directory where the bundle plugin operates.
+
+  Once Doxia is 'bundled', the next problem is the Eclipse plugins
+  themselves. Here, in the <<<eclipse-plugins>>> directory, the build
+  uses the Tycho plugins. The Tycho plugins produce Eclipse-compatible
+  OSGi bundles with a minimum of configuration. They also have a
+  minimum of documentation and useful logging messages. So when things
+  go wrong, it can get confusing in a hurry.
+
+  Tycho will grab the Doxia bundle from the Maven local repository,
+  but not if it is built in the same reactor. Thus, you have to run
+  mvn twice: once to build doxia-osgi, and once for the plugins.
+
+  The <<<eclipse-plugins>>> build delivers its results in
+  <<<features/org.apache.maven.doxia.ide.eclipse.feature/target/site>>>. That
+  is a P2 repository.
+
+  It can be copied to any old http server and away it goes.
+
+  I don't know why we would care to bother to make an 'update site' 
+  as opposed to a P2 repo.
+
+  Tycho is completely incompatible with the
+  <<<maven-release-plugin>>>, so, again, some sort of manual procedure
+  is called for.
+
+
+
+
+
+
+
+
+  
 
-  [eclipse] contains all of the other material, using Tycho to make eclipse 
plugins.


Reply via email to