Daniel Fagerstrom wrote:
Great guys, let us go back to work again :)

yep :-)

Jorg Heymans wrote:

Reinhard Poetz wrote:

                                      - o -

+-------------------------------------------------------------------+
|          Build and deployment from a Cocoon user's POV            |
+-------------------------------------------------------------------+




ROOT
 +-- block.xml
 +-- pom.xml
 +-- src
     +-- main
     |   +-- java
     |       +-- myApp
     |           +-- MyJavaFlowController.java
     |   +-- webapp
     |       +-- sitemap.xmap
     |       +-- hello.xml
     +-- test


Note that this follows the standard M2 project structure which makes the M2 life much easier as it saves you configuration time (greetings from RoR).


yes. Include also src/main/resources , contents here gets automatically added to the classpath as well.


Yes follow M2 conventions as long as possible.

What do you think about moving block dependecy handling from block.xml to pom.xml? It means reduced flexibilty as block dependencies becomes direct instead of indirect as in the current schema. OTH it reduce complexity and fullfills our current use cases. If we need indirect dependencies we can add it later. There would be a need to give the dependencies POM unique ids that can be used in the block protocol and we also need a way to be able to mark a dependency as "extension", any idea if this would be possible?

I don't think so, but maybe Jorg has some ideas. The problem is that our block dependencies are "only" telling which contract a dependant block has to fullfill (+ the information about a default implementation). Additionally we have other dependencies as a block can extend another block or implement interfaces.

IMO the only thing we can do is that we add a goal to the Maven lifecycle that checks whether block.xml and pom.xml are in sync.


The next step is adding your block to Cocoon application server by

mvn cocoon:deploy
 -Dserver=/home/rpoetz/cocoon2.2
 -Dmount-point=/myBlock


at a later stage we could also provide

mvn cocoon:deploy
  -Dserver=/home/rpoetz/cocoon2.2
  -Dmount-point=/myBlock
  -DartifactId=myblock
  -DgroupId=org.apache.cocoon.blocks
  -Dversion=1.0beta

which would just fetch the block and install it.

This will add an entry to the wiring.xml and will resolve all block dependencies by putting them into the "<connections>" part.

Hmm, while that would be nice at some point I think that it currently would be enough to have a block aware variant of the war pluggin. That fetch and install all needed blocks in the webapp one i developing. Maybe wiring.xml could even be expressed as a POM for this pluggin?

Hmm, have to think more about this.


--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}

                                       web(log): http://www.poetz.cc
--------------------------------------------------------------------

Reply via email to