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.
======================================
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
Release history Release notifications | RSS feed
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.2.tar.gz
(6.1 kB
view hashes)