Hi Trygve,
Maybe I broke stuff.... its a bit hard to tell from your description.
There are two things going on in your build:
1. car-maven-plugin "car" packaging which for each plugin project
builds a plugin and puts it in the local maven repo. It's plausible
that the changes here broke this step.
2. car-maven-plugin assembly packaging which assembles a server out of
the plugins from the maven repo. I don't see how this could have
broken but you never know...
To clarify the situation... IIUC (1) is actually generating artifacts
that get into the local maven repo?? Are these artifacts copied into
the geronimo server repository in (2)? If not, something else must
have changed so these plugins aren't dependencies of the server
assembly project.
back to (1)...
in each plugin project, there should be a target/fliteredplan/plan.xml
file that should be your plan with the property substitutions done
(but not the environment element inserted). Is it there and did the
property substitution work?
Furthermore, there should be target/resources/META-INF/plan.xml which
should be your completed plan file with the dependencies etc included
and target/resources/META-INF/geronimo-;plugin.xml which should have
the dependencies and the category. Finally both these files should be
in the completed car file.
I'd also like to make two suggestions about your build... is a very
bad idea to have projects reference into each others directories or
into other file system locations. I'm not sure why you have a lot of
individual db pools...
- if the db pools are all used in one application, note that you can
set up as many db pools in one plan as you need, as
connectiondefinitiony-instance elements.
- if you actually need separate plugins for each db pool so they can
be used independently, I strongly advise packing the common plan into
a jar file as a resource (in its own project) and then using the maven-
dependency-plugin to unpack it into target/rawplan or similar location.
Please let us know what is wrong.
thanks
david jencks
On Jan 27, 2009, at 6:15 AM, Trygve Hardersen wrote:
Hi
I hit a problem today with our custom Geronimo assembly that I think
is related to this:
We have many MySQL DB pools, each represented as a Geronimo plugin.
The plan.xml file for these plugins is very simmilar, so I'm sharing
a common file between the plugins:
db-plugin/pom.xml -->
<plugins>
<plugin>
<groupId>org.apache.geronimo.buildsupport</groupId>
<artifactId>car-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<!-- We use a common plan template for DB pools -->
<planFileName>mysql-pool-plan.xml</planFileName>
<sourceDir>${project.parent.basedir}/src/main/plan</
sourceDir>
</configuration>
</plugin>
</plugins>
db-plugin/src/main/plan/mysql-pool-plan.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!-- The master DB connection pool -->
<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-$
{geronimoSchemaVersion}">
<!-- The DB pool -->
<resourceadapter>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.sql.DataSource</
connectionfactory-interface>
<connectiondefinition-instance>
<name>${currentDBName}</name>
<config-property-setting name="ServerName">$
{currentDBHost}</config-property-setting>
<config-property-setting name="PortNumber">$
{currentDBPort}</config-property-setting>
<config-property-setting name="DatabaseName">$
{currentDBSchema}</config-property-setting>
<config-property-setting name="UserName">$
{currentDBUser}</config-property-setting>
<config-property-setting name="Password">$
{currentDBPass}</config-property-setting>
<connectionmanager>
<local-transaction/>
<single-pool>
<max-size>${currentDBMaxPoolSize}</max-
size>
<min-size>${currentDBMinPoolSize}</min-
size>
<blocking-timeout-milliseconds>$
{currentDBBlockTimeout}</blocking-timeout-milliseconds>
<idle-timeout-minutes>$
{currentDBIdleTimeout}</idle-timeout-minutes>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
</connector>
db-plugin/db-001/pom.xml -->
....
<properties>
<currentDBHost>db-001</currentDBHost>
<currentDBName>db/shard-001</currentDBName>
<currentDBSchema>jdb_shard_001</currentDBSchema>
</properties>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.geronimo.buildsupport</groupId>
<artifactId>car-maven-plugin</artifactId>
<configuration>
<deploymentConfigs>
<!--<deploymentConfig>${gbeanDeployer}</
deploymentConfig>-->
<deploymentConfig>${connectorDeployer}</
deploymentConfig>
</deploymentConfigs>
<category>${productName}</category>
<module>
<groupId>org.tranql</groupId>
<artifactId>tranql-connector-mysql-local</
artifactId>
<type>rar</type>
</module>
</configuration>
</plugin>
</plugins>
</build>
...
The build still works, but the DB plugins are not included in the
final /var/config/config.xml file, so they are not started with the
server. If I create a plan.xml file in src/main/plan for each of the
DB plugins everything works fine.
Is "my way" of doing it not supported any longer, or is this a bug
with Geronimo?
Many thanks for your help!
Trygve
On Mon, Jan 26, 2009 at 9:35 AM, David Jencks (JIRA)
<[email protected]> wrote:
[ https://issues.apache.org/jira/browse/GERONIMO-4522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Jencks closed GERONIMO-4522.
----------------------------------
Resolution: Fixed
Implemented rev 737650.
To build g. with ee6 bits first build the jetty7 plugins from
sandbox/djencks then do the main build with
mvn clean install -Pee6,default
> history dependencies.xml file should support property
substitutions. Plan processing should use maven filtering, not
velocity
>
------------------------------------------------------------------------------------------------------------------------------
>
> Key: GERONIMO-4522
> URL: https://issues.apache.org/jira/browse/GERONIMO-4522
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: car-maven-plugin
> Affects Versions: 2.2
> Reporter: David Jencks
> Assignee: David Jencks
> Fix For: 2.2
>
>
> In order to support easier switching between ee5 and ee6 builds we
need to be able to use properties in the dependencies.xml files. In
addition the plan processing can remove a todo by using maven
filtering rather than velocity.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.