Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython

piy is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
0.0.1 Failed View build log
 
Links
Dependencies
Lastest release
version 0.0.1 on Jan 9th, 2014

# piy

"POM in YAML" is a simple tool to write [Maven](http://maven.apache.org) POM files using [YAML](http://www.yaml.org/).

## Installation

From the code:

python setup.py install

From PyPI:

easy_install piy

## Usage

Once you have written your POM pom.yaml file, just execute:

piy

This will show the generated pom.xml in the standard output. When you'd be happy with the result, you can save it by running:

piy > pom.xml

As a geneal rule, I strongly recomment that generated files must not be managed by the source control systems (git, hg, svn or whatever). And this case is not an exception; so, please, don't commit the pom.xml file to your project if you want to avoid synchronization issues with other users/developers.

## How does it work

The tools pre-processes the pom.yaml file at the current directory, and generates a proper pom.xml. Then you can use Maven as usual.

Althougt with the same goal, the approach is completelly different to [Maven3 polyglot](http://polyglot.sonatype.org/), which adds to Maven3 the ability to work with pom files written in non-XML notations.

## Status

The tools is still in alpha!

Currently it has a strong issue for its usage:

  • It is not completelly functionall without applying [this patch](http://www.yaml.org/) to one of its dependencies

## Syntax

Basically it's a translation of the current XML tree to YAML.

project:

modelVersion: 4.0.0 groupId: com.foo artifactId: bar version: 1.0-SNAPSHOT packaging: jar

build:
plugins:
plugin:

groupId: org.apache.maven.plugins artifactId: maven-compiler-plugin version: 2.5.1 configuration:

System Message: ERROR/3 (<string>, line 61)

Unexpected indentation.
source: 1.6 target: 1.6
dependencies:
dependency:
groupId: com.bar artifactId: foo version: 1.0-SNAPSHOT

This will be transformed to a normal pom.xml file.

Although not very common in POMs, sometimes attributes are necessary. Since YAML doesn't support attributes, attributes need to start with underline. See for instance the following example to configure the port with the Jetty plugin:

project:
build:
plugins:
plugin:

groupId: org.mortbay.jetty artifactId: maven-jetty-plugin version: 6.1.10 configuration:

System Message: ERROR/3 (<string>, line 82)

Unexpected indentation.
connectors:
connector:
_implementation: org.mortbay.jetty.nio.SelectChannelConnector port: 8080

Subscribe to package updates

Last updated Jan 9th, 2014

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.