Bug 690682

Summary: RFE - As a project maintainer, I want a generic push/pull command for any project type
Product: [Retired] Zanata Reporter: Sean Flanigan <sflaniga>
Component: Component-MavenAssignee: Sean Flanigan <sflaniga>
Status: CLOSED CURRENTRELEASE QA Contact: Ding-Yi Chen <dchen>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: zanata-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 1.4-SNAPSHOT Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-07 00:08:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 786670    

Description Sean Flanigan 2011-03-25 02:49:01 UTC
Ideally, a project maintainer should be able to run
  mvn zanata:push, mvn zanata:pull (Maven)
  zanata push, zanata pull (Python)
with no other arguments.  

Even though the push/pull command is generic, it must somehow provide options which are specific to project types (publican, gettext, Properties), whether from zanata.xml or from the command line.

We should discuss the best way of handling this configuration.

One possible solution: the generic push/pull commands have one option of their own: projectType.  (With the value of projectType coming from zanata.xml, unless overridden on the command line.)

Depending on the project type, push might be treated as an alias for publican-push, po-push, or props-push, each with its specific options.  So if projectType=publican, the push command will automatically support --srcdir, --transdir and --import-po.  And as we move some of those options into zanata.xml, they can be picked up as appropriate.

This may or may not be practical.  I think this can work in Maven, because all options come from system properties or from the generic plugin config (they're not checked against the current goal)  

Whether this will work in Python probably depends on the options-parsing and whether it can support dynamic aliasing.

Comment 1 Ding-Yi Chen 2012-02-16 01:47:47 UTC
VERIFIED with zanata maven client 1.4-SNAPSHOT

Comment 2 Ding-Yi Chen 2012-02-16 01:48:54 UTC
VERIFIED with zanata-python-client-1.3.3