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]> 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> <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_1argoumlinstaller
> 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]> 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]>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]>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]>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
>>>>>
>>>>> 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
>>>>>
>>>>> To unsubscribe from this discussion, e-mail: [
>>>>> [email protected]].
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>
>
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2604734
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]]