You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@gump.apache.org by "Justin Merz (JIRA)" <ge...@gump.apache.org> on 2005/08/17 19:46:54 UTC
[jira] Created: (GUMP-149) allow gump to bootstrap maven
allow gump to bootstrap maven
-----------------------------
Key: GUMP-149
URL: http://issues.apache.org/jira/browse/GUMP-149
Project: Gump
Type: New Feature
Components: Python-based Gump
Versions: Gump3-alpha-5
Reporter: Justin Merz
Allowing gump to read a maven project descriptor file. There must be a type="maven" flag added to the module calling the maven project. Gump then creates its own project descriptor file from the maven file and calls the new gump file into the workspace. In the creation of the new gump-maven file a <maven> tag is added. This contains necessary information for gump to build a maven project using gumps maven plug-in.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org
Re: [jira] Updated: (GUMP-149) allow gump to bootstrap maven
Posted by Leo Simons <ma...@leosimons.com>.
whoohooh! A patch! Looks pretty sweet. Before we chuck it in, some
comments...
First of, I presume you have some tests (eg project.xml files and a
sample workspace) against which you run this code. Could you submit
those too?
> + def __init__(self, project, target, buildfile="maven.xml",
basedir=None, properties=None):
Isn't using 'maven.xml' mandatory? I think you can set the POM but not
the buildfile...
> + #command line
> + args = ["maven jar "]
If I'm not mistaken args should be one-entry per array, eg
["maven", "jar"]
also, the "target" defined in the model as above is probably the maven
"goal" to use instead of the hardcoded "jar"?
Leo Simons wrote:
> Index: pygump/python/gump/engine/map.py
could map.py go into gump/util or gump/plugins/java somewhere? Also,
it'd be cool if this could be a config file of some sort that is read
in, perhaps a format as simple as
avalon-framework avalon-framework-api
axis ws-axis
Note that the 'gump' plugin for maven has many more of these mappings
that would be nice to steal.
> Index: pygump/python/gump/engine/mavenizer.py
> ===================================================================
> + if maven_node:
> + #parse DOM creating new gumped-maven file
> + #then return file location to be used instead
> + #of original maven file
> + gumped_maven_href = _parse_maven_file( maven_node, download_func,
> get_vfs )
> + return gumped_maven_href
> + else:
> + return 'broken'
you want to 'raise' an exception here.
> +def _parse_maven_file( project, download_func, get_vfs ):
this looks pretty comprehensive!
> + mavenfile = open("%s\\%s" % (home_dir, filename), "w")
^^^ use os.path.seperator (or whatever its
called)
however, using the StringIO module would probably avoid the need for
using a file at all, which would rock even more.
> Index: pygump/python/gump/config.py
> ===================================================================
> --- pygump/python/gump/config.py (revision 233131)
> +++ pygump/python/gump/config.py (working copy)
> @@ -105,6 +105,7 @@
> log.info("Not running updates! (pass --do-updates to enable
them)")
>
> if config.do_build:
> + from gump.model import Maven
> from gump.model import Ant
> from gump.model import Script
looks like a TAB character in there. Seems there's several more in your
patch. Please get rid of those and just use spaces :)
> Index: pygump/python/gump/util/executor.py
> ===================================================================
> --- pygump/python/gump/util/executor.py (revision 233131)
> +++ pygump/python/gump/util/executor.py (working copy)
> @@ -38,7 +38,7 @@
> __copyright__ = "Copyright (c) 2004-2005 The Apache Software Foundation"
> __license__ = "http://www.apache.org/licenses/LICENSE-2.0"
>
> -import sys
> +import sys, os
huh, what? Why? Seems there's a few "loose ends" in the patch...
> Index: pygump/python/gump/util/io.py
> ===================================================================
> --- pygump/python/gump/util/io.py (revision 233131)
> +++ pygump/python/gump/util/io.py (working copy)
> @@ -99,6 +99,9 @@
> self.cachedir = os.path.normpath(os.path.abspath(cachedir))
> else:
> self.cachedir = None
> +
> + def return_path(self):
> + return self.filesystem_root
feel free to just use the property directly, eg replace calls to
myvfs.return_path() with simply
myvfs.filesystem_root
instead of writing "accessors". Sun did the world a lot of harm by
inventing getters/setters for java. Python certainly doesn't need them.
cheers,
Leo
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org
[jira] Updated: (GUMP-149) allow gump to bootstrap maven
Posted by "Justin Merz (JIRA)" <ge...@gump.apache.org>.
[ http://issues.apache.org/jira/browse/GUMP-149?page=all ]
Justin Merz updated GUMP-149:
-----------------------------
Attachment: gump-maven-patch.txt
> allow gump to bootstrap maven
> -----------------------------
>
> Key: GUMP-149
> URL: http://issues.apache.org/jira/browse/GUMP-149
> Project: Gump
> Type: New Feature
> Components: Python-based Gump
> Versions: Gump3-alpha-5
> Reporter: Justin Merz
> Attachments: gump-maven-patch.txt
>
> Allowing gump to read a maven project descriptor file. There must be a type="maven" flag added to the module calling the maven project. Gump then creates its own project descriptor file from the maven file and calls the new gump file into the workspace. In the creation of the new gump-maven file a <maven> tag is added. This contains necessary information for gump to build a maven project using gumps maven plug-in.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org