geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: [jira] Closed: (GERONIMO-4522) history dependencies.xml file should support property substitutions. Plan processing should use maven filtering, not velocity
Date Tue, 27 Jan 2009 17:32:42 GMT
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)  
> <jira@apache.org> 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.
>
>


Mime
View raw message