Hello Linus, thank you for your reply!
Sorry I took awhile to get back to you. Your explanation makes
sense, but when attempting your method on VERSION_0_28_1 or the newer
VERSION_0_30 checkouts, I get the following error when running that last
target:
Target "update-argouml.jar-manifest" does not exist in the project
"argouml".
I tried this in the argouml\src\argouml-build and a few other
locations, as there seems to be a lot of build scripts lying around that
call each other. Where exactly did you run this target?
Nathaniel Kofalt
On 4/29/2010 4:48 PM, Linus Tolke Tigris wrote:
> Hello Nathaniel!
>
> You have found a weakness in the loading mechanism and that is that it
> relies on all the fact that all diagrams to be loaded are on the class
> path. When you build as you describe the argouml.jar is created
> without including them in the Class-Path:-entry in the manifest.
>
> To fix, you can use the same function that we use when doing releases.
>
> Build like this:
> svn checkout
> http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/
> <http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/src> argouml
> Apply the diff
> Build with "./build.sh install" or "build.bat install" (in the
> argouml directory).
> Newly-built project appears in "argouml\build"
> Include the modules on the class path in the argouml.jar using
> "./build.sh update-argouml.jar-manifest" or "build.bat
> update-argouml.jar-manifest".
>
> The update-argouml.jar-manifest target adds all available modules to
> the class path. When doing releases, all modules are first built,
> ending up in argouml\build\ext and then the
> update-argouml.jar-manifest target is run to create the argouml.jar
> that is distributed. This magic is located in build.xml on the top
> level, a file that you didn't see when just checking out src and tools.
>
> To conclude, the problem is not with running in batch mode or
> commands. It is in the way you start argouml without the correct class
> path.
>
> If you don't want to use this magic you could set the classpath
> explicitly to java or edit the manifest file in the argouml.jar file
> you have created and add ext/argouml-diagrams-sequence.jar to the
> Class-Path: entry.
>
> /Linus
>
>
>
> On Mon, Apr 26, 2010 at 8:17 AM, Nathaniel Kofalt <[email protected]
> <mailto:[email protected]>> wrote:
>
> Hello all!
>
> We use a custom ArgoUML build (currently of 0.28.1) - essentially
> just a minor change by "thn" (revision 17025, see link below) that
> makes
> it possible to save all graphics from the command-line. Combined
> with a
> simple commit script, and now we have a SVN repository of ArgoUML
> projects that automatically generate pictures of themselves into a
> folder, which gets served over Apache. This allows us to have a
> browser-viewable set of images always showing the latest revision
> of the
> UML. This is very convenient for our team, and our main reason for
> using
> ArgoUML.
>
> The command we use is pretty vanilla, just open the project and
> export all in batch mode (put in your own locations at the ... marks):
> java -jar ...argouml.jar -batch -command
> "org.argouml.uml.ui.ActionOpenProject=....example.zargo" -command
> "org.argouml.uml.ui.ActionSaveAllGraphics=..../exampleEmptyFolder"
>
> And this works perfectly in most cases. However, any project
> with a
> Sequence diagram causes this exception:
> org.argouml.persistence.OpenException:
> java.lang.ClassNotFoundException:
> org.argouml.sequence2.diagram.UMLSequenceDiagram
> (plus a lengthy stack traced, attached to this email).
>
> Replicating this error is pretty easy:
> svn checkout
> http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/src
> argouml/src --username guest
> svn checkout
> http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/tools
> argouml/tools --username guest
> Apply the diff linked below (one file), easy enough to do
> manually
> Build project with "argouml\src\argouml-build\build.sh" or
> similar "build.bat"
> Newly-built project appears in
> "argouml\src\argouml-build\build"
> Use the java command above on any ArgoUML project without a
> Sequence diagram to see it generate PNG images for each diagram
> Use the java command above on any ArgoUML project with a
> Sequence diagram to see it fail
>
> The diff link:
>
> http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSaveAllGraphics.java?view=diff&r1=17024&r2=17025&pathrev=17025&diff_format=l
>
> <http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSaveAllGraphics.java?view=diff&r1=17024&r2=17025&pathrev=17025&diff_format=l>
>
> This seems strange, since presumably the only difference from the
> official releases is that tiny feature added (like 30 lines). To
> confuse
> matters, the class source it can't find
> (org.argouml.sequence2.diagram.UMLSequenceDiagram) clearly exists
> in the
> checkouts we build from (in the
>
> "argouml\src\argouml-core-diagrams-sequence2\src\org\argouml\sequence2\diagram"
> folder).
>
> For convenience I also attached the exact modified file,
>
> "argouml\src\argouml-app\src\org\argouml\uml\ui\ActionSaveAllGraphics.java"
> so you don't have to apply the diff manually. I am familiar with Java,
> but I'm confused since opening the project in GUI mode produces
> the same
> error, yet in the official builds I can open the project just
> fine. Am I
> doing some portion of the build process wrong?
>
> Any help is appreciated!
>
> Nathaniel Kofalt
>
> ------------------------------------------------------
>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2595638
>
> <http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2595638>
>
> To unsubscribe from this discussion, e-mail:
> [[email protected]
> <mailto:[email protected]>].
>
>
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2603704
To unsubscribe from this discussion, e-mail:
[[email protected]].
....>svn checkout http://argouml.tigris.org/svn/argouml/releases/VERSION_0_30/
argouml --username guest
....>cd argouml\src\argouml-build
....>build.bat update-argouml.jar-manifest
Searching for tools dir...
trying ..\..\tools\apache-ant-1.7.0
Ant Found
Buildfile: build.xml
BUILD FAILED
Target "update-argouml.jar-manifest" does not exist in the project "argouml".
Total time: 0 seconds
Build failed
Press any key to continue . . .