You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Aaron Evans <aa...@yahoo.ca> on 2006/01/25 20:52:56 UTC

[J2 - 2.0] - Binary Build - Documentation and Build Process Issues

Just a bit of feedback for the 2.0 binary build documentation and process.

If one starts at:
http://portals.apache.org/jetspeed-2/getting-started.html

and then follows the link to the binary build instructions at:

http://portals.apache.org/jetspeed-2/getting-started-binary.html

Step 3 tells you to put the following lines in ${USER_HOME}/build.properties:

basedir = c:/myportal
maven.repo.remote = http://www.bluesunrise.com/maven/,
http://www.ibiblio.org/maven/, \
http://dist.codehaus.org/, http://cvs.apache.org/repository

The problem here is that it makes no mention of the *other* properties you
must have in your build.properties file which are covered in the building from
source documentation.  

So if you run j2:portal.genapp with just the above, you of course get:

BUILD FAILED
File...... /home/aaron/.maven/cache/maven-jetspeed2-plugin-2.0\plugin.jelly
Element... fail
Line...... 635
Column.... 42
Required property org.apache.jetspeed.server.home undefined. See 
http://portals.apache.org/jetspeed-2/getting-started.html.
Total time: 1 seconds
Finished at: Wed Jan 25 13:59:31 EST 2006

The documentation has you set the the application server properties in section
3.4, but it seems this is too late as they are required for j2:portal.genapp 
(section 3.2).

In addition, sections 3.3 and 3.4 are unclear about which file these properties
should be set in.  It makes reference to project.xml and 
${basedir}project.properties, but as I said, some properties are required
in $HOME/build.properties up front.

I personally set the portal configuration properties, application server 
properties and my database (mysql) properties before running j2:portal.genapp
and in my $HOME/build.properties and this has worked well so far.

Also there is a paragraph or two in section 3.3 that are repeated.

The second problem (and this has been discussed in a few different posts) is
that after you successfully run j2:portal.genapp, when you go to run 
maven war:install, because of some properties not getting set properly, you
get the following errors:

Attempting to download portals-bridges-common-.jar.
WARNING: Failed to download portals-bridges-common-.jar.
Attempting to download portals-bridges-velocity-.jar.
WARNING: Failed to download portals-bridges-velocity-.jar.
Attempting to download jmock-1.0.1.jar.
67K downloaded
Attempting to download derby-.jar.
WARNING: Failed to download derby-.jar.
Attempting to download javamail-1.3.3.jar.
346K downloaded
Attempting to download activation-1.0.2.jar.
53K downloaded
The build cannot continue because of the following unsatisfied dependencies:

portals-bridges-common-.jar
portals-bridges-velocity-.jar
derby-.jar

As someone pointed out earlier, the easiest and quickest way to remedy this
is to create a build.properties file in ${basedir} with the following values:

portals.bridges.version=1.0
derby.version=10.1.1.0
bridges.groupId=org.apache.portals.bridges
jetspeed.version=2.0

I hope that this issue is fixed in the upcoming 2.0.1.

After that, it is pretty much all smooth sailing.

I have to say, I am pretty happy with the whole process of using the maven 
plugin to build a custom portal over a the installer that includes tomcat and 
the whole she-bang. 

It allows me to add in changes in the folder structure of ${basedir} and then
re-run war:install and j2:quickStart to rebuild and re-deploy my customized 
portal.

It also means that I can use my existing, customized/productionalized tomcat 
build.

There are just perhaps a few last gotchas that should perhaps be mentioned:

1. If you are running tomcat 5.5, the rss portlet doesn't work until you
copy the xml jars (jetspeed/WEB-INF/lib/x*.jar) to $CATALINA_HOME/shared/lib.

2. When deploying portlet applications or making changes, any changes to a
portlet.xml file will require a tomcat restart.

That's about it though.

I hope that this information is helpful to those trying to do the binary build
and for those that may be refining the documentation and build process in the
near future.

aaron


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: [J2 - 2.0] - Binary Build - Documentation and Build Process Issues

Posted by David Sean Taylor <da...@bluesunrise.com>.
Aaron Evans wrote:
> Just a bit of feedback for the 2.0 binary build documentation and process.
> 
> If one starts at:
> http://portals.apache.org/jetspeed-2/getting-started.html
> 
> and then follows the link to the binary build instructions at:
> 
> http://portals.apache.org/jetspeed-2/getting-started-binary.html
> 
> Step 3 tells you to put the following lines in ${USER_HOME}/build.properties:
> 
> basedir = c:/myportal
> maven.repo.remote = http://www.bluesunrise.com/maven/,
> http://www.ibiblio.org/maven/, \
> http://dist.codehaus.org/, http://cvs.apache.org/repository
> 

basedir doesn't sound right. i never do that

> The problem here is that it makes no mention of the *other* properties you
> must have in your build.properties file which are covered in the building from
> source documentation.  
> 
> So if you run j2:portal.genapp with just the above, you of course get:
> 
> BUILD FAILED
> File...... /home/aaron/.maven/cache/maven-jetspeed2-plugin-2.0\plugin.jelly
> Element... fail
> Line...... 635
> Column.... 42
> Required property org.apache.jetspeed.server.home undefined. See 
> http://portals.apache.org/jetspeed-2/getting-started.html.
> Total time: 1 seconds
> Finished at: Wed Jan 25 13:59:31 EST 2006
> 
> The documentation has you set the the application server properties in section
> 3.4, but it seems this is too late as they are required for j2:portal.genapp 
> (section 3.2).
> 
> In addition, sections 3.3 and 3.4 are unclear about which file these properties
> should be set in.  It makes reference to project.xml and 
> ${basedir}project.properties, but as I said, some properties are required
> in $HOME/build.properties up front.
> 
> I personally set the portal configuration properties, application server 
> properties and my database (mysql) properties before running j2:portal.genapp
> and in my $HOME/build.properties and this has worked well so far.
> 

Im not a big fan of having properties in $HOME/build.properties
Ive been moving away from that and instead keeping properties inside the 
project. Either way, you need to have these properties somewhere define 
such as:

org.apache.jetspeed.server.context = myproject
org.apache.jetspeed.services.autodeployment.user = j2deployer
org.apache.jetspeed.services.autodeployment.password = j2deployer
org.apache.jetspeed.services.autodeployment.port = 8080

org.apache.jetspeed.server.home = ${tomcat.root}
org.apache.jetspeed.server.shared = 
${org.apache.jetspeed.server.home}/shared/lib
org.apache.jetspeed.deploy.war.dir = 
${org.apache.jetspeed.server.home}/webapps

org.apache.jetspeed.catalina.version.major = 5.5
#org.apache.jetspeed.catalina.version.major = 5

org.apache.jetspeed.portal.home = /eclipse/workspace/myproject
org.apache.jetspeed.portal.groupId = mycompany
org.apache.jetspeed.portal.artifactId = myproject
org.apache.jetspeed.portal.name = My Portal
org.apache.jetspeed.portal.currentVersion = 1.0

and these maybe necessary to override default db settings

org.apache.jetspeed.production.database.default.name=derby
org.apache.jetspeed.production.database.url = 
jdbc:derby:/mydbland/derbydb/mydb;create=true
org.apache.jetspeed.production.database.driver = 
org.apache.derby.jdbc.EmbeddedDriver
org.apache.jetspeed.production.database.user =
org.apache.jetspeed.production.database.password =
org.apache.jetspeed.production.jdbc.drivers.path=${maven.home.local}/repository/org.apache.derby/jars/derby-10.1.1.0.jar

Thats way too many properties!

> Also there is a paragraph or two in section 3.3 that are repeated.
> 
> The second problem (and this has been discussed in a few different posts) is
> that after you successfully run j2:portal.genapp, when you go to run 
> maven war:install, because of some properties not getting set properly, you
> get the following errors:
> 
> Attempting to download portals-bridges-common-.jar.
> WARNING: Failed to download portals-bridges-common-.jar.
> Attempting to download portals-bridges-velocity-.jar.
> WARNING: Failed to download portals-bridges-velocity-.jar.
> Attempting to download jmock-1.0.1.jar.
> 67K downloaded
> Attempting to download derby-.jar.
> WARNING: Failed to download derby-.jar.
> Attempting to download javamail-1.3.3.jar.
> 346K downloaded
> Attempting to download activation-1.0.2.jar.
> 53K downloaded
> The build cannot continue because of the following unsatisfied dependencies:
> 
> portals-bridges-common-.jar
> portals-bridges-velocity-.jar
> derby-.jar
> 
YUP, then you have to go about defining versions

I usually have a project.properties in my custom home dir

derby.version=10.1.1.0
jetspeed.version = 2.1-dev
bridges.version = 1.0
portals.bridges.version = 1.0
bridges.groupId=org.apache.portals.bridges
portals.bridges.common.version=1.0

amongst other things there

> As someone pointed out earlier, the easiest and quickest way to remedy this
> is to create a build.properties file in ${basedir} with the following values:
> 
> portals.bridges.version=1.0
> derby.version=10.1.1.0
> bridges.groupId=org.apache.portals.bridges
> jetspeed.version=2.0
> 
> I hope that this issue is fixed in the upcoming 2.0.1.
> 
> After that, it is pretty much all smooth sailing.
> 
I think we should provide a sample custom app
Maybe thats the simplest way
That and moving all the properties into the sample custom app for 2.0.1

> I have to say, I am pretty happy with the whole process of using the maven 
> plugin to build a custom portal over a the installer that includes tomcat and 
> the whole she-bang. 
> 
> It allows me to add in changes in the folder structure of ${basedir} and then
> re-run war:install and j2:quickStart to rebuild and re-deploy my customized 
> portal.
> 
> It also means that I can use my existing, customized/productionalized tomcat 
> build.
> 
> There are just perhaps a few last gotchas that should perhaps be mentioned:
> 
> 1. If you are running tomcat 5.5, the rss portlet doesn't work until you
> copy the xml jars (jetspeed/WEB-INF/lib/x*.jar) to $CATALINA_HOME/shared/lib.
> 
> 2. When deploying portlet applications or making changes, any changes to a
> portlet.xml file will require a tomcat restart.

and jetspeed-portlet.xml...
I started reviewing that last night and came across a few issues

> 
> That's about it though.
> 
> I hope that this information is helpful to those trying to do the binary build
> and for those that may be refining the documentation and build process in the
> near future.
> 
> aaron
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
> 
> 
> 


-- 
David Sean Taylor
Bluesunrise Software
david@bluesunrise.com
[office] +01 707 773-4646
[mobile] +01 707 529 9194

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org