Author: philharveyonline
Date: Wed Apr  3 12:05:11 2013
New Revision: 1463950

URL: http://svn.apache.org/r1463950
Log:
PROTON-280: Added Engine documentation and configured Maven to generate HTML 
from it and from existing Messenger docs.
Moved existing docs down one level because Maven's doxia markdown plugin 
requires that markdown docs are in a markdown sub-folder.

Added:
    qpid/proton/trunk/docs/markdown/
    qpid/proton/trunk/docs/markdown/engine/
    qpid/proton/trunk/docs/markdown/engine/engine.md
    qpid/proton/trunk/docs/markdown/index.md
    qpid/proton/trunk/docs/markdown/messenger/
    qpid/proton/trunk/docs/markdown/messenger/index.md
    qpid/proton/trunk/docs/markdown/messenger/message_disposition.md
      - copied, changed from r1463574, 
qpid/proton/trunk/docs/messenger/message_disposition.md
    qpid/proton/trunk/docs/markdown/messenger/quick_start_linux.md
      - copied, changed from r1463574, 
qpid/proton/trunk/docs/messenger/quick_start_linux.md
    qpid/proton/trunk/docs/markdown/messenger/sending_and_receiving.md
      - copied, changed from r1463574, 
qpid/proton/trunk/docs/messenger/sending_and_receiving.md
Removed:
    qpid/proton/trunk/docs/messenger/message_disposition.md
    qpid/proton/trunk/docs/messenger/quick_start_linux.md
    qpid/proton/trunk/docs/messenger/sending_and_receiving.md
Modified:
    qpid/proton/trunk/pom.xml
    qpid/proton/trunk/proton-j/contrib/proton-hawtdispatch/pom.xml
    qpid/proton/trunk/proton-j/contrib/proton-jms/pom.xml
    qpid/proton/trunk/proton-j/pom.xml
    qpid/proton/trunk/proton-j/proton-api/pom.xml
    qpid/proton/trunk/proton-j/proton/pom.xml
    qpid/proton/trunk/tests/pom.xml

Added: qpid/proton/trunk/docs/markdown/engine/engine.md
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/docs/markdown/engine/engine.md?rev=1463950&view=auto
==============================================================================
--- qpid/proton/trunk/docs/markdown/engine/engine.md (added)
+++ qpid/proton/trunk/docs/markdown/engine/engine.md Wed Apr  3 12:05:11 2013
@@ -0,0 +1,74 @@
+Proton's Engine is a stateful component with a low-level API that allows an
+application to communicate using AMQP. This document gives a high level 
overview
+of the Engine's design, intended to be read by application developers intending
+to use it.
+
+The Engine is built around the concept of a protocol engine. The idea behind a
+protocol engine is to capture all the complex details of implementing a given
+protocol in a way that is as decoupled as possible from OS details such as I/O
+and threading models. The result is a highly portable and easily embedded
+component that provides a full protocol implementation. 
+
+
+The Engine API
+--------------
+
+The Engine contains in-memory representations of AMQP entities such as
+Connection, Session and Delivery. These are manipulated via its API, which
+consists of two main parts.
+
+- The *control and query API*, commonly referred to as *The Top Half*, which
+  offers functions to directly create, modify and query the Connections,
+  Sessions etc.
+
+- The *transport API*, commonly referred to as *The Bottom Half*, which 
contains
+  a small set of functions to operate on the AMQP entities therein by accepting
+  binary AMQP input and producing binary AMQP output. The Engine's transport
+  layer can be thought of as transforming a *queue of bytes*, therefore the API
+  is expressed in terms of input appended to the *tail* and output fetched from
+  the *head*.
+
+
+Typical Engine usage
+--------------------
+
+The diagram below shows how the Engine is typically used by an application.  
The
+socket's remote peer is serviced by another AMQP application, which may (or may
+not) use Proton.
+
+<pre>
+<![CDATA[
+
+                              +------------ +          +---------------+
+                              |             |          |               |
+                              | Application |--------->| Engine        |
+                              | business    |          | "Top Half"    |
+                              | logic       |          | Control and   |
+                              |             |<---------| query API     |
+                              |             |          |               |
+                              |             |          +---------------+
+                              |             |                 |
+     +-------------+          +-------------+          +---------------+
+     |             |  Input   |             |  Tail    | Engine        |
+     |             |--------->|             |--------->| "Bottom half" |
+     |   Socket    |          | Application |          | Transport API |
+     |             |<---------| I/O layer   |<---------|               |
+     |             |  Output  |             |  Head    |               |
+     +-------------+          +-------------+          +---------------+
+]]>
+</pre>
+
+For maximum flexibility, the Engine is not multi-threaded. It is therefore
+typical for an application thread to loop continuously, repeatedly calling the
+Top Half and Bottom Half functions.
+
+
+Implementations
+---------------
+
+Implementations of the Engine currently exist in C and Java. Bindings exist 
from
+several languages (e.g. Ruby, Python, Java Native Interface) to the C Engine.
+
+For more information see the documentation in the code.
+
+

Added: qpid/proton/trunk/docs/markdown/index.md
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/docs/markdown/index.md?rev=1463950&view=auto
==============================================================================
--- qpid/proton/trunk/docs/markdown/index.md (added)
+++ qpid/proton/trunk/docs/markdown/index.md Wed Apr  3 12:05:11 2013
@@ -0,0 +1,27 @@
+
+Proton is a library for speaking AMQP, including:
+
+- The AMQP [Messenger API](messenger/index.html), a simple but powerful 
interface to send and receive
+  messages over AMQP.
+- The [AMQP Protocol Engine](engine/engine.html), a succinct encapsulation of 
the full
+  AMQP protocol machinery.
+
+Proton is designed for maximum embeddability:
+
+- minimal dependencies
+- minimal assumptions about application threading model
+
+Proton is designed to scale up and down:
+
+- transparently supports both simple peer to peer messaging and complex
+globally federated topologies
+
+Proton is multi-lingual:
+
+- Proton-C - a C implementation with lanuage bindings in Python, Php, Perl,
+Ruby, and Java (via JNI).
+- Proton-J - a pure Java implementation
+
+Please see http://qpid.apache.org/proton for a more info.
+
+

Added: qpid/proton/trunk/docs/markdown/messenger/index.md
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/docs/markdown/messenger/index.md?rev=1463950&view=auto
==============================================================================
--- qpid/proton/trunk/docs/markdown/messenger/index.md (added)
+++ qpid/proton/trunk/docs/markdown/messenger/index.md Wed Apr  3 12:05:11 2013
@@ -0,0 +1,8 @@
+See the following Messenger documents:
+
+[Linux Quick Start](quick_start_linux.html)
+
+[Sending and Receiving](sending_and_receiving.html)
+
+[Message Disposition](message_disposition.html)
+

Copied: qpid/proton/trunk/docs/markdown/messenger/message_disposition.md (from 
r1463574, qpid/proton/trunk/docs/messenger/message_disposition.md)
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/docs/markdown/messenger/message_disposition.md?p2=qpid/proton/trunk/docs/markdown/messenger/message_disposition.md&p1=qpid/proton/trunk/docs/messenger/message_disposition.md&r1=1463574&r2=1463950&rev=1463950&view=diff
==============================================================================
--- qpid/proton/trunk/docs/messenger/message_disposition.md (original)
+++ qpid/proton/trunk/docs/markdown/messenger/message_disposition.md Wed Apr  3 
12:05:11 2013
@@ -10,11 +10,11 @@ detect the disposition of their messages
 Message States
 ---------------------------
 
-Messages have one of four different states:  
-  * `PN_STATUS_UNKNOWN`  
-  * `PN_STATUS_PENDING`  
-  * `PN_STATUS_ACCEPTED`  
-  * `PN_STATUS_REJECTED`  
+Messages have one of four different states:
+  * `PN_STATUS_UNKNOWN`
+  * `PN_STATUS_PENDING`
+  * `PN_STATUS_ACCEPTED`
+  * `PN_STATUS_REJECTED`
 
 <br/>
 
@@ -66,7 +66,6 @@ be changed, even if you have a separate 
 
 <br/>
 <br/>
-   
 
 
 ### sending ###
@@ -76,7 +75,7 @@ if it has a positive outgoing window siz
 
         pn_messenger_set_outgoing_window ( messenger, N );
 
-and if a tracker has been associated with that message in question.  
+and if a tracker has been associated with that message in question.
 This call:
 
         pn_messenger_outgoing_tracker ( messenger );
@@ -93,7 +92,7 @@ The returned value will be one of
 
 * `PN_STATUS_ACCEPTED`
 * `PN_STATUS_REJECTED` , or
-* `PN_STATUS_PENDING` - If the receiver has not disposed the message yet.  
+* `PN_STATUS_PENDING` - If the receiver has not disposed the message yet.
 
 
 If either the sender or the receiver simply declares the message (or range of 
messages) to
@@ -107,14 +106,14 @@ settled messages.
 
 <br/>
 
-_Note_  
+_Note_
 If a message is rejected by the receiver, it does not mean that
 the message was malformed.  Malformed messages cannot be sent.
 Even messages with no content are valid messages.
 Rejection by a receiver should be understood as the receiver
-saying "I don't want this." or possibly  "I don't want this _yet_." 
+saying "I don't want this." or possibly  "I don't want this _yet_."
 dependeing on your application.
-The sender could decide to try sending the same message again later, 
+The sender could decide to try sending the same message again later,
 or to send the message to another receiver, or to discard it.
 
 

Copied: qpid/proton/trunk/docs/markdown/messenger/quick_start_linux.md (from 
r1463574, qpid/proton/trunk/docs/messenger/quick_start_linux.md)
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/docs/markdown/messenger/quick_start_linux.md?p2=qpid/proton/trunk/docs/markdown/messenger/quick_start_linux.md&p1=qpid/proton/trunk/docs/messenger/quick_start_linux.md&r1=1463574&r2=1463950&rev=1463950&view=diff
==============================================================================
--- qpid/proton/trunk/docs/messenger/quick_start_linux.md (original)
+++ qpid/proton/trunk/docs/markdown/messenger/quick_start_linux.md Wed Apr  3 
12:05:11 2013
@@ -3,7 +3,7 @@ Linux Quick Start
 
 
 On a Linux system, these instructions take you from
-zero to running your first example code.  You will 
+zero to running your first example code.  You will
 need root privileges for one of the commands.
 
 

Copied: qpid/proton/trunk/docs/markdown/messenger/sending_and_receiving.md 
(from r1463574, qpid/proton/trunk/docs/messenger/sending_and_receiving.md)
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/docs/markdown/messenger/sending_and_receiving.md?p2=qpid/proton/trunk/docs/markdown/messenger/sending_and_receiving.md&p1=qpid/proton/trunk/docs/messenger/sending_and_receiving.md&r1=1463574&r2=1463950&rev=1463950&view=diff
==============================================================================
    (empty)

Modified: qpid/proton/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/pom.xml?rev=1463950&r1=1463949&r2=1463950&view=diff
==============================================================================
--- qpid/proton/trunk/pom.xml (original)
+++ qpid/proton/trunk/pom.xml Wed Apr  3 12:05:11 2013
@@ -16,6 +16,7 @@
   limitations under the License.
 -->
 <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";>
+  <description>Proton is a library for speaking AMQP.</description>
   <parent>
     <groupId>org.apache</groupId>
     <artifactId>apache</artifactId>
@@ -32,19 +33,44 @@
     <junit-version>4.10</junit-version>
   </properties>
 
+  <distributionManagement>
+    <site>
+      <id>proton-site-id</id>
+      <!-- Maven requires a site url even if you only run site:stage -->
+      <url>file:///tmp/proton-site</url>
+    </site>
+  </distributionManagement>
+
   <build>
     <plugins>
-    <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-compiler-plugin</artifactId>
-      <configuration>
-        <source>1.6</source>
-        <target>1.6</target>
-        <optimize>true</optimize>
-        <showDeprecation>true</showDeprecation>
-        <showWarnings>true</showWarnings>
-      </configuration>
-    </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+          <optimize>true</optimize>
+          <showDeprecation>true</showDeprecation>
+          <showWarnings>true</showWarnings>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.doxia</groupId>
+            <artifactId>doxia-module-markdown</artifactId>
+            <version>1.3</version>
+          </dependency>
+        </dependencies>
+        <configuration>
+          <inputEncoding>UTF-8</inputEncoding>
+          <outputEncoding>UTF-8</outputEncoding>
+          <siteDirectory>docs</siteDirectory>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 
@@ -68,4 +94,14 @@
     </profile>
   </profiles>
 
+  <url>http://qpid.apache.org/proton</url>
+  <scm>
+    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
+  </scm>
+  <issueManagement>
+    <url>https://issues.apache.org/jira/browse/PROTON</url>
+  </issueManagement>
+  <ciManagement>
+    <url>https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/</url>
+  </ciManagement>
 </project>

Modified: qpid/proton/trunk/proton-j/contrib/proton-hawtdispatch/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/contrib/proton-hawtdispatch/pom.xml?rev=1463950&r1=1463949&r2=1463950&view=diff
==============================================================================
Binary files - no diff available.

Modified: qpid/proton/trunk/proton-j/contrib/proton-jms/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/contrib/proton-jms/pom.xml?rev=1463950&r1=1463949&r2=1463950&view=diff
==============================================================================
Binary files - no diff available.

Modified: qpid/proton/trunk/proton-j/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/pom.xml?rev=1463950&r1=1463949&r2=1463950&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/pom.xml (original)
+++ qpid/proton/trunk/proton-j/pom.xml Wed Apr  3 12:05:11 2013
@@ -24,6 +24,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>proton-j</artifactId>
+  <name>proton-j</name>
   <packaging>pom</packaging>
 
   <dependencies>
@@ -41,5 +42,8 @@
     <module>contrib/proton-jms</module>
     <module>contrib/proton-hawtdispatch</module>
   </modules>
+  <scm>
+    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
+  </scm>
     
 </project>

Modified: qpid/proton/trunk/proton-j/proton-api/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton-api/pom.xml?rev=1463950&r1=1463949&r2=1463950&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton-api/pom.xml (original)
+++ qpid/proton/trunk/proton-j/proton-api/pom.xml Wed Apr  3 12:05:11 2013
@@ -24,5 +24,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>proton-api</artifactId>
+  <name>proton-api</name>
+  <scm>
+    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
+  </scm>
 
 </project>

Modified: qpid/proton/trunk/proton-j/proton/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/pom.xml?rev=1463950&r1=1463949&r2=1463950&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/pom.xml (original)
+++ qpid/proton/trunk/proton-j/proton/pom.xml Wed Apr  3 12:05:11 2013
@@ -24,6 +24,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>proton-j-impl</artifactId>
+  <name>proton-j-impl</name>
 
   <dependencies>
     <dependency>
@@ -46,4 +47,7 @@
     </dependency>
   </dependencies>
 
+  <scm>
+    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
+  </scm>
 </project>

Modified: qpid/proton/trunk/tests/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/tests/pom.xml?rev=1463950&r1=1463949&r2=1463950&view=diff
==============================================================================
--- qpid/proton/trunk/tests/pom.xml (original)
+++ qpid/proton/trunk/tests/pom.xml Wed Apr  3 12:05:11 2013
@@ -22,6 +22,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>tests</artifactId>
+  <name>tests</name>
 
   <description>The Proton system tests execute against either the Java or the 
C implementations, based on the chosen profile.
 
@@ -137,4 +138,7 @@ To override this, run Maven like so: &qu
     <artifactId>proton-project</artifactId>
     <version>1.0-SNAPSHOT</version>
   </parent>
+  <scm>
+    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
+  </scm>
 </project>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to