You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Dain Sundstrom <ds...@gluecode.com> on 2004/10/05 01:01:25 UTC

Heads Up: big change to deployment

I just committed a big change to deployment... I have changed 
deployment to no longer build into a packed Jar file, instead it builds 
into a temp directory and once complete moves the temp directory into 
the config store.  If a packed car file is needed, the deployer simply 
jars up the temp directory.  This should make adding support for 
manifest class path entries trivial, as the standard URLClassLoader can 
handle like 80% of the cases.

I also added code to meticulously track temp files and delete them 
asap... my old implementation left tons of temp files around.

I haven't tested this on windows yet, but I heading over to my windows 
machine right now to test it.

Can someone on linux check if the build works?

Thanks,

-dain

--
Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26


Re: Heads Up: big change to deployment

Posted by Dain Sundstrom <ds...@gluecode.com>.
Well looks like this doesn't work on windows.  I don't think windows is 
letting me move the temp directory to the config store because the 
URLClassLoader on windows holds locks open on the jar files inside of 
the config store.

I'll add some code that copies the files from the temp dir into the 
config store.  I hope later we can just have our own implementation of 
URLClassLoader that we can call close on to release open file locks on 
windows.

This shouldn't take about an hour to fix.

-dain

--
Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26

On Oct 4, 2004, at 4:01 PM, Dain Sundstrom wrote:

> I just committed a big change to deployment... I have changed 
> deployment to no longer build into a packed Jar file, instead it 
> builds into a temp directory and once complete moves the temp 
> directory into the config store.  If a packed car file is needed, the 
> deployer simply jars up the temp directory.  This should make adding 
> support for manifest class path entries trivial, as the standard 
> URLClassLoader can handle like 80% of the cases.
>
> I also added code to meticulously track temp files and delete them 
> asap... my old implementation left tons of temp files around.
>
> I haven't tested this on windows yet, but I heading over to my windows 
> machine right now to test it.
>
> Can someone on linux check if the build works?
>
> Thanks,
>
> -dain
>
> --
> Dain Sundstrom
> Chief Architect
> Gluecode Software
> 310.536.8355, ext. 26


Re: Heads Up: big change to deployment

Posted by Dain Sundstrom <ds...@gluecode.com>.
Everything should be fixed now.  If you have any problems let met know 
asap.

Don't forget you will need to update and build both Geronimo and 
OpenEJB from source, until the snapshots are refreshed.

-dain

--
Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26

On Oct 4, 2004, at 6:47 PM, Dain Sundstrom wrote:

> There is still a bug with resolving URIs on Windows.  It looks like 
> you can't resolve an absolute file location (e.g., c:\a\b\c) against a 
> file uri unless you specify the file protocol on the uri.  Anyway, I'm 
> about to commit it... just verifying the change.
>
> -dain
>
> --
> Dain Sundstrom
> Chief Architect
> Gluecode Software
> 310.536.8355, ext. 26
>
> On Oct 4, 2004, at 6:46 PM, Aaron Mulder wrote:
>
>> On Mon, 4 Oct 2004, Dain Sundstrom wrote:
>>> All that stuff worked for me on a fresh checkout on the windows pc I
>>> have hiding in the corner :)  It looks like you didn't update 
>>> openejb.
>>> I get an exception moving the temp dir into the config store.
>>
>> 	You're right -- I had to update all the child projects first.
>> Then I was back to the same error as before, but it seems to be 
>> working
>> fine after your latest commit.
>>
>> Aaron


Re: Heads Up: big change to deployment

Posted by Dain Sundstrom <ds...@gluecode.com>.
There is still a bug with resolving URIs on Windows.  It looks like you 
can't resolve an absolute file location (e.g., c:\a\b\c) against a file 
uri unless you specify the file protocol on the uri.  Anyway, I'm about 
to commit it... just verifying the change.

-dain

--
Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26

On Oct 4, 2004, at 6:46 PM, Aaron Mulder wrote:

> On Mon, 4 Oct 2004, Dain Sundstrom wrote:
>> All that stuff worked for me on a fresh checkout on the windows pc I
>> have hiding in the corner :)  It looks like you didn't update openejb.
>> I get an exception moving the temp dir into the config store.
>
> 	You're right -- I had to update all the child projects first.
> Then I was back to the same error as before, but it seems to be working
> fine after your latest commit.
>
> Aaron


Re: Heads Up: big change to deployment

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
On Mon, 4 Oct 2004, Dain Sundstrom wrote:
> All that stuff worked for me on a fresh checkout on the windows pc I  
> have hiding in the corner :)  It looks like you didn't update openejb.   
> I get an exception moving the temp dir into the config store.

	You're right -- I had to update all the child projects first.  
Then I was back to the same error as before, but it seems to be working 
fine after your latest commit.

Aaron

Re: Heads Up: big change to deployment

Posted by Dain Sundstrom <ds...@gluecode.com>.
All that stuff worked for me on a fresh checkout on the windows pc I  
have hiding in the corner :)  It looks like you didn't update openejb.   
I get an exception moving the temp dir into the config store.

-dain

On Oct 4, 2004, at 5:22 PM, Aaron Mulder wrote:

> 	Okay, when I tried a "maven complete-rebuild", I got:
>
> The build cannot continue because of the following unsatisfied  
> dependency:
> geronimo-client-builder-1.0-SNAPSHOT.jar
>
> 	If I try to build the client-builder module, it can't find some
> openejb stuff:
>
> data/cvs/geronimo/modules/client-builder/src/java/org/apache/geronimo/ 
> client/builder/AppClientModuleBuilder.java:70:
> package org.openejb.client.naming does not exist
> import org.openejb.client.naming.RemoteEJBObjectFactory;
>                                  ^
> /data/cvs/geronimo/modules/client-builder/src/java/org/apache/ 
> geronimo/client/builder/AppClientModuleBuilder.java:71:
> package org.openejb.client.naming does not exist
> import org.openejb.client.naming.RemoteEJBRefAddr;
>
> 	Then I tried a maven multiproject:install, and I got this:
>
> /data/cvs/geronimo/openejb/modules/core/src/java/org/openejb/ 
> deployment/OpenEJBModuleBuilder.java:67:
> cannot resolve symbol
> symbol  : class IOUtil
> location: package util
> import org.apache.geronimo.deployment.util.IOUtil;
>                                            ^
> /data/cvs/geronimo/openejb/modules/core/src/java/org/openejb/ 
> deployment/OpenEJBModuleBuilder.java:68:
> cannot resolve symbol
> symbol  : class JarUtil
> location: package util
> import org.apache.geronimo.deployment.util.JarUtil;
>
> ...
>
> 	It's hard to troubleshoot when I get a different error every time.
> :)
>
> Aaron
>
> On Mon, 4 Oct 2004, Aaron Mulder wrote:
>> On Mon, 4 Oct 2004, Dain Sundstrom wrote:
>>> Can someone on linux check if the build works?
>>
>> 	At first glance, no:
>>
>> BUILD FAILED
>> File......
>> /home/ammulder/.maven/cache/maven-multiproject-plugin-1.3.1/ 
>> plugin.jelly
>> Element... maven:reactor
>> Line...... 217
>> Column.... 9
>> Unable to obtain goal [multiproject:install-callback] --
>> /data/cvs/geronimo/modules/assembly/maven.xml:205:15:
>> <bootstrap:bootstrap> Could not move source directory into config  
>> store:
>> source=/tmp/geronimo-deployment-64539.tmp,
>> destination=/data/cvs/geronimo/modules/assembly/target/geronimo-1.0- 
>> SNAPSHOT/config-store/13
>> Total time: 3 minutes 1 seconds
>> Finished at: Mon Oct 04 19:47:58 EDT 2004
>>
>> Aaron
>>


Re: Heads Up: big change to deployment

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
	Okay, when I tried a "maven complete-rebuild", I got:

The build cannot continue because of the following unsatisfied dependency:
geronimo-client-builder-1.0-SNAPSHOT.jar

	If I try to build the client-builder module, it can't find some 
openejb stuff:

data/cvs/geronimo/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java:70: 
package org.openejb.client.naming does not exist
import org.openejb.client.naming.RemoteEJBObjectFactory;
                                 ^
/data/cvs/geronimo/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java:71: 
package org.openejb.client.naming does not exist
import org.openejb.client.naming.RemoteEJBRefAddr;

	Then I tried a maven multiproject:install, and I got this:

/data/cvs/geronimo/openejb/modules/core/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java:67: 
cannot resolve symbol
symbol  : class IOUtil
location: package util
import org.apache.geronimo.deployment.util.IOUtil;
                                           ^
/data/cvs/geronimo/openejb/modules/core/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java:68: 
cannot resolve symbol
symbol  : class JarUtil
location: package util
import org.apache.geronimo.deployment.util.JarUtil;

...

	It's hard to troubleshoot when I get a different error every time.  
:)

Aaron

On Mon, 4 Oct 2004, Aaron Mulder wrote:
> On Mon, 4 Oct 2004, Dain Sundstrom wrote:
> > Can someone on linux check if the build works?
> 
> 	At first glance, no:
> 
> BUILD FAILED
> File...... 
> /home/ammulder/.maven/cache/maven-multiproject-plugin-1.3.1/plugin.jelly
> Element... maven:reactor
> Line...... 217
> Column.... 9
> Unable to obtain goal [multiproject:install-callback] -- 
> /data/cvs/geronimo/modules/assembly/maven.xml:205:15: 
> <bootstrap:bootstrap> Could not move source directory into config store: 
> source=/tmp/geronimo-deployment-64539.tmp, 
> destination=/data/cvs/geronimo/modules/assembly/target/geronimo-1.0-SNAPSHOT/config-store/13
> Total time: 3 minutes 1 seconds
> Finished at: Mon Oct 04 19:47:58 EDT 2004
> 
> Aaron
> 

Re: Heads Up: big change to deployment

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
On Mon, 4 Oct 2004, Dain Sundstrom wrote:
> Can someone on linux check if the build works?

	At first glance, no:

BUILD FAILED
File...... 
/home/ammulder/.maven/cache/maven-multiproject-plugin-1.3.1/plugin.jelly
Element... maven:reactor
Line...... 217
Column.... 9
Unable to obtain goal [multiproject:install-callback] -- 
/data/cvs/geronimo/modules/assembly/maven.xml:205:15: 
<bootstrap:bootstrap> Could not move source directory into config store: 
source=/tmp/geronimo-deployment-64539.tmp, 
destination=/data/cvs/geronimo/modules/assembly/target/geronimo-1.0-SNAPSHOT/config-store/13
Total time: 3 minutes 1 seconds
Finished at: Mon Oct 04 19:47:58 EDT 2004

Aaron