Thanks Linus!

I will probably take a whack at that later this week, and have also 
opened an issue #6087:
http://argouml.tigris.org/issues/show_bug.cgi?id=6087
Let me know if I did anything wrong; I'm not too familiar with the 
sub-components of ArgoUML.

-Nathaniel Kofalt


On 5/7/2010 12:13 AM, Linus Tolke Tigris wrote:
> As I hope you understand, this is the first time I try to describe how 
> these scripts can be used. The solution to the user problem is 
> probably to change the USERNAME= line in the beginning of the 
> build-release.sh to "guest".
>
> The purpose of using the script checkout is to checkout all involved 
> projects (including the Java project that was required to open your 
> old zargo files) and build them all. You could do this manually. The 
> list of the 18 projects is in the beginning of the build-release.sh 
> script.
>
> Since we all agree that building everything for a very small patch you 
> could consider doing this by adding a function to the installed 
> release instead. Since the CommandLine commands are started with 
> explicit class names you could build your own such command and run the 
> release with that command.
>
> That would include the following steps:
>
>     * Download and unpack the release (in this scenario it will act
>       both as the library to compile against and later to run).
>     * Create a new command. Something like:
>
> package edu.umn.nathaniel.argouml;
> import org.argouml.PATH.CommandLineInterface;
> import org.argouml.OTHER.CLASSES;
>
> public class ExportAllDiagramsAsSVG implements CommandLineInterface
> {
>     public boolean doCommand(String arg) {
>         Approximately the same thing as in the original command
>         but setting svg explicitly.
>     }
> }
>
>     * Compile the new command using argouml.jar as classpath.
>     * Run argouml with the new command to the classpath giving the
>       command line to start it.
>
> This all sounds very simple but things like running with command on 
> the classpath could be complicated depending on how java treats a 
> combination of the -jar and -classpath arguments.
>
>
>
> On Thu, May 6, 2010 at 10:49 PM, Nathaniel Kofalt <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     No problem, I use VirtualBox to run CrunchBang Linux so it's not a
>     big deal. But it looks like the build-release.sh script uses
>     restricted SVN calls:
>     u...@pc:~/argoumlinstaller$ ./build-release.sh -c
>     Give the name of the release (like 0.21.3 or 0.22.ALPHA_3).
>     0.30.1
>     Release: 0.30.1
>     Tagname: VERSION_0_30_1
>     Destdir: /home/failcrunch/argoumlinstaller/build/VERSION_0_30_1
>     User:    linus
>     Checking default login / password combinations.Authentication
>     realm: <http://argouml.tigris.org:80> CollabNet Subversion Repository
>     Password for 'linus':
>
>     Trying to use the guest account didn't work for me. (Maybe I am
>     not correctly specifying a blank password.) Do I need to have the
>     script run a checkout, seeing as I already did a checkout of the
>     0.30.1 release folder?
>
>     To clarify, all I patch is a default (since from the command-line
>     there's no option to use non-default). So it's more of a personal
>     preference (just SVG over PNG). I can still submit a patch once I
>     get this working though, along with whatever build tutorial I end
>     up writing for myself as a result :)
>
>     -Nathaniel Kofalt
>
>
>
>     On 5/6/2010 3:18 PM, Linus Tolke Tigris wrote:
>>     Hello again Nathaniel!
>>
>>     I didn't notice that you patched also to control the type of the
>>     files (in this thread this is your first mention of it ;-).
>>     Please make sure you send the patch to someone that can commit it
>>     for upcoming releases.
>>
>>     The instructions on how to make releases are in the wiki
>>     http://argouml.tigris.org/wiki/Making_a_release. I don't think
>>     they are really appropriate for what you want to do. Perhaps you
>>     could try the following (to build the 0.30.1 release):
>>     svn co
>>     
>> http://argoumlinstaller.tigris.org/svn/argoumlinstaller/releases/VERSION_0_30_1
>>     argoumlinstaller
>>     cd argoumlinstaller
>>     ./build-release.sh -c
>>     0.30.1
>>     <Wait for the checkout>
>>     <Apply the patch in build/VERSION_0_30_1>
>>     ./build-release.sh -b
>>     <Get the entire tree of jar files from
>>     build/VERSION_0_30_1/argouml/build and use that>.
>>
>>     But to do this you will need cygwin. There is no
>>     build-release.bat script.
>>
>>             /Linus
>>
>>
>>     On Thu, May 6, 2010 at 5:43 PM, Nathaniel Kofalt
>>     <[email protected] <mailto:[email protected]>> wrote:
>>
>>         Ugh, I didn't see the install target. Thanks for your patience.
>>
>>         You are correct - builds now work correctly (other than the
>>         0.30 can't open 0.28.1 projects issue). Since I only have a
>>         few UML projects for my team, I can upgrade each file
>>         manually, since that'd probably be less work than re-creating
>>         the rest of your build environment.
>>
>>         Is there a way to upgrade the file version of .zargo project
>>         files? I tried opening and using "save-as" with the Web Start
>>         version, but that didn't seem to do it.
>>
>>         Alternatively, are there complete build instructions
>>         anywhere? I remember creating my initial instructions for
>>         0.28.1 from somewhere on the website, but couldn't find it
>>         again. I've been bumbling through these recent steps, but it
>>         may be easier if I was following the same way the official
>>         releases are built.
>>
>>         It's almost tragic, seeing that as of 0.30 (since mass-export
>>         from command line was implemented via this diff
>>         
>> <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>)
>>         my custom build only changes two lines in
>>         "\src\argouml-app\src\org\argouml\uml\ui\SaveGraphicsManager.java"
>>         to set SVG images as the default, rather than PNG, since
>>         there's no way (as of my old instructions form 0.28.1) to set
>>         the image type on a mass-export from the command line. If,
>>         since then, somebody has implemented that ability, I could
>>         use that and not go through these compiling problems at all.
>>
>>         -Nathaniel Kofalt
>>
>>
>>
>>         On 5/6/2010 10:15 AM, Linus Tolke Tigris wrote:
>>>         Moved to the dev list.
>>>
>>>         I guess that this is because of a combination of events:
>>>         * we moved the Java-specific parts to a separate subproject
>>>         between 0.28.1 and 0.30
>>>         * The old project requires Java-specific parts.
>>>         * You build without the Java project. All official builds
>>>         are done with the Java project included.
>>>
>>>                  /Linus
>>>
>>>         On Thu, May 6, 2010 at 12:17 PM, Nathaniel Kofalt
>>>         <[email protected] <mailto:[email protected]>> wrote:
>>>
>>>             A quick clarification:
>>>
>>>             If I checkout VERSION_0_28_1, change line 12 of the
>>>             "argouml/build.xml" file as I mentioned, then run
>>>             "build" and "build update-argouml.jar-manifest" the
>>>             resultant build can correctly open projects with
>>>             sequence diagrams! That's good.
>>>
>>>             However, if I checkout VERSION_0_30, change the build
>>>             file, and run "build" and "build
>>>             update-argouml.jar-manifest" the newer build cannot open
>>>             any projects created with the older ArgoUML version,
>>>             failing with a
>>>             org.xml.sax.SAXException: Plugin profile "Java" is not
>>>             available in installation
>>>             error. Attached is the trace it provided, and the exact
>>>             commands I used to build.
>>>
>>>             Meanwhile, the Web Start of 0.30 from the official
>>>             website can correctly open these projects made by an
>>>             older version of the program. So the problem I'm
>>>             experiencing now may be a different problem.
>>>
>>>             -Nathaniel Kofalt
>>>
>>>
>>>
>>>             On 5/6/2010 4:38 AM, Nathaniel Kofalt wrote:
>>>>             Hello Linus,
>>>>                 Maybe I'm missing something obvious - I used the
>>>>             build batch in the location you described using these
>>>>             exact commands:
>>>>
>>>>             svn checkout
>>>>             http://argouml.tigris.org/svn/argouml/releases/VERSION_0_30/
>>>>             argouml --username guest
>>>>             cd argouml
>>>>             build
>>>>             build.bat update-argouml.jar-manifest
>>>>
>>>>                 The first build target worked fine, creating a
>>>>             project in "argouml\src\argouml-build\build".
>>>>                 However the second target gave a different build
>>>>             error this time (censored the file paths outside the
>>>>             SVN checkout):
>>>>             BUILD FAILED
>>>>             ....\argouml\build.xml:74: .....\argouml\build not found.
>>>>
>>>>             It looks like this doesn't have the right configuration
>>>>             for this folder. I tried adding a "build" folder in the
>>>>             "argouml" root which didn't do anything, just created a
>>>>             1 KB jar file in the new folder. However changing line
>>>>             12 (the build.dir value) from:
>>>>             <property name="build.dir" value="build"/>
>>>>             to :
>>>>             <property name="build.dir"
>>>>             value="src/argouml-build/build"/>
>>>>
>>>>             Made it change the argouml jar, though the built
>>>>             project still doesn't work correctly. Was this a
>>>>             mistake in the makefile, or could I have built it
>>>>             properly with another method?
>>>>
>>>>             -Nathaniel Kofalt
>>>>
>>>>             On 5/6/2010 12:12 AM, Linus Tolke Tigris wrote:
>>>>>             Hello Nathaniel!
>>>>>
>>>>>             It is in on the "top" level, i.e. the integration
>>>>>             level where the separate modules are integrated. You
>>>>>             can find it here:
>>>>>             
>>>>> http://argouml.tigris.org/source/browse/argouml/trunk/build.xml?annotate=17806#id64
>>>>>             
>>>>> http://argouml.tigris.org/source/browse/argouml/releases/VERSION_0_28_1/build.xml?annotate=17806#id64
>>>>>             or
>>>>>             
>>>>> http://argouml.tigris.org/source/browse/argouml/releases/VERSION_0_30/build.xml?annotate=17806#id64
>>>>>             respectively. That means two levels up from the
>>>>>             build.xml in the argouml-build directory.
>>>>>
>>>>>                     /Linus
>>>>>
>>>>>
>>>>>             On Thu, May 6, 2010 at 12:01 AM, Nathaniel Kofalt
>>>>>             <[email protected] <mailto:[email protected]>> wrote:
>>>>>
>>>>>                 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=450&dsMessageId=2607107

To unsubscribe from this discussion, e-mail: 
[[email protected]].
To be allowed to post to the list contact the mailing list moderator, email: 
[[email protected]]

Reply via email to