Skip to main content

A project generator tools for easy create project skeleton.

Project description

Ansvia Project Generator (Ansprogen)
======================================

Tools for easily create project for any language, currently support for Go and Scala.
But you can extend easily to support other language by extending IGenerator on `ansprogen/generators` dir.

Example Usage
---------------

Create a Go project:

$ progen -p Golang -o ./hello

Testing:

$ cd hello/
$ ls
Makefile hello.go
$ make
6g -o _go_.6 hello.go
6l -o hello _go_.6
$ ./hello
Yo World!

Create a Scala project:

$ progen -p Scala -o hello

Testing, create jar and execute using `java -jar`:

$ cd hello/
$ ls
build.xml src
$ ant Hello.jar
Buildfile: /Users/Robin/Development/ansvia/project.generator/hello/build.xml

init:
[mkdir] Created dir: /Users/Robin/Development/ansvia/project.generator/hello/build
[mkdir] Created dir: /Users/Robin/Development/ansvia/project.generator/hello/lib

build:
[mkdir] Created dir: /Users/Robin/Development/ansvia/project.generator/hello/build/classes
[scalac] Compiling 1 source file to /Users/Robin/Development/ansvia/project.generator/hello/build/classes

Hello.jar:
[mkdir] Created dir: /Users/Robin/Development/ansvia/project.generator/hello/build/jar
[copy] Copying 1 file to /Users/Robin/Development/ansvia/project.generator/hello/lib
[jar] Building jar: /Users/Robin/Development/ansvia/project.generator/hello/build/jar/Hello.jar

BUILD SUCCESSFUL
Total time: 29 seconds
$ java -jar build/jar/Hello.jar
Yo World!

More specific:

$ progen -p Golang -o /tmp/hello kind=cmd target_name=hello sources=hello.go

Or use interactive mode:

$ progen -p Golang -i
Creating Golang project
Interactive mode.
-> out_dir: ./hello
-> kind: cmd
-> target_name: hello
-> sources: hello.go

Every language has the specific options, if you want to know what the supported options just type `help` followed by project name,
for example:

$ progen help Scala

Will show project spec details:

Generate Scala project

Parameters:

kind -- Project kind, currently support `exe` and `lib`.
`exe` for create executable jar target.
`lib` for create java library.
target_name -- Target output name.
sources -- scala sources, separated by whitespace.
main_class -- if project kind == `exe` then specify this one
for class entry point.
package -- Package name, ex: com.ansvia.myapp.

Examples:

$ progen -p Scala -o ./hello kind=exe target_name=hello.jar sources="Hello.scala" main_class="Hello"


Installation
-------------

Using `easy_install`:

$ easy_install ansprogen

Using `pip`:

$ pip install ansprogen

Source code
-------------

Fork me on github: https://github.com/anvie/Ansprogen

Enhancement and new language support are welcome feel free to Fork and gime pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansprogen-0.0.3.tar.gz (8.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page