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