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 . . .

Reply via email to