- This topic has 4 replies, 2 voices, and was last updated 15 years, 6 months ago by Greg.
-
AuthorPosts
-
cbattisParticipantWe still use xdoclet. In the 7.x stack, xdoclet now ends up in a numbered folder under configuration\org.eclipse.osgi. Every time any updates are downloaded for eclipse, this folder number changed. We could deal with that in 7.0 and 7.1, but now in 7.5, the folder is completely removed every time eclipse is started.
This is causing 2 problems.
1. Our XDoclet Build Policy is “Use xdoclet-build.xml file”. When we try to do “Run XDoclet” after starting up eclipse, it fails because the numbered folder doesn’t exist anymore. If we change to dynamic build, then run xdoclet, the folder gets recreated. We need to use the file because we have an integration build process that is automated with ANT.
2. Because XDoclet is no longer being actively developed, we have made some bug fixes to the xdoclet modules on our own. Since MyEclipse 4.x, we;ve just simply copied our versions into the main xdoclet folder once each new version of MyEclipse. This got a little trickier in 7.0 and 7.1, but it still worked. Now we would have to do this every single time any developer needed to run xdoclet.
Is there any way to turn off this functionality of removing the numbered folder?
GregMemberHello,
I’ve been able to replicate the problem (actually I haven’t seen the folder get deleted) but I understand the problem. The problem is the xdoclet-build.xml has a property setting that points out into the OSGi bundle area. This bundle area is reserved for OSGi when it needs to allow plugins (in MyEclipse) to access jars that are stored internal to other jars. The MyEclispe xdoclet Core plugin which contains all the xdoclet-modules is stored in a jar so for OSGi to give us access to internal module jars it has to explode them in the OSGi area. There is no way to prevent this behavior. And as you have seen this OSGi bundle area is free to be “scrubbed” by OSGi if it thinks no bundles are requiring those files.
I’ve entered your report as an issue in our bug tracker so the developers should be able to put in a fix for the 7.5.1 release (followup patch for 7.5). Thanks for your report.
GregMemberYou could work around this issue by finding the xdoclet core jar in your installation (common/plugins) folder and extracting the xdoclet modules out of the jar into a well-known and stable location. Then you could manually modify your xdoclet-build.xml file on line 9, the one that has something like this:
<property name="xdoclet.basedir" value="/C:/installs/7.1/MyEclipse%207.1/configuration/org.eclipse.osgi/bundles/114/1/.cp/"/>
You can point this xdoclet.basedir property to the well known (and stable) folder that you extracted the xdoclet-module jars to. Then you do not have to worry about osgi scrubbing this directory.
cbattisParticipantThat is a good suggestion for item 2, thanks.
For item 1, I found a workaround. After starting MyEclipse, I click on the “Refresh XDoclet Modules” button in Preferences to force the xdoclet bundle to be exploded.
GregMemberGlad you got it working.
-
AuthorPosts