1 | # POMY
|
2 | ---
|
3 | <img align="right" src="https://raw.githubusercontent.com/licoliu/pomy/develop/site/public/images/logo.png">
|
4 |
|
5 | ---
|
6 |
|
7 | ## Welcome to POMY
|
8 | Pomy is a software project management and comprehension tool. Based on the concept of a project object model (POM), Pomy can manage a project's build, reporting and documentation from a central piece of information.
|
9 |
|
10 | ## Install
|
11 | ```sh
|
12 | $ mkdir project-name && cd project-name
|
13 | $ npm install pomy -g
|
14 | ```
|
15 | Pomy depends on [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/).
|
16 |
|
17 | ## Configuration
|
18 | Your project need to be configured using JSON in a `pomy.json` file.
|
19 | ```
|
20 | {
|
21 | "group": "lico.atom",
|
22 | "artifact": "pomy-test",
|
23 | "version": "1.0.1",
|
24 | "name": "pomy-test",
|
25 | "title": "pomy-test - test pomy tool",
|
26 | "description": "test pomy tool",
|
27 | "private": false,
|
28 | "license": "MIT",
|
29 | "debug": true,
|
30 | "skin": "default",
|
31 | "define": "cmd",
|
32 | "keywords": "JSRT, Node.js, Gulp, Angularjs, Markdown, API Document, JsDoc, Open Source",
|
33 | "repository": {
|
34 | "type": "git",
|
35 | "url": "git@github.com/licoliu/pomy-test.git"
|
36 | },
|
37 | "bugs": {
|
38 | "url": "http://github.com/liujc/pomy-test/issues"
|
39 | },
|
40 | "homepage": "http://github.com/liujc/pomy-test",
|
41 | "dependencies": {},
|
42 | "devDependencies": {
|
43 | "pomy": "^1.0.1"
|
44 | },
|
45 | "site": {
|
46 | "domain": "127.0.0.1",
|
47 | "port": 8421,
|
48 | "user": "root",
|
49 | "nohup": true
|
50 | },
|
51 | "manual": {
|
52 | "url": "http://github.com/liujc/pomy-test",
|
53 | "email": "lico.atom@gmail.com"
|
54 | },
|
55 | "registry": "https://registry.npm.taobao.org",
|
56 | "googleWebmasterMeta": "",
|
57 | "author": "lico",
|
58 | "developers": [{
|
59 | "id": "lico",
|
60 | "name": "lico liu",
|
61 | "email": "lico.atom@gmail.com",
|
62 | "url": "https://github.com/licoliu"
|
63 | }],
|
64 | "contributors": [],
|
65 | "organization": {
|
66 | "name": "atomunion",
|
67 | "url": "https://github.com/atomunion"
|
68 | },
|
69 | "target": "local"
|
70 | }
|
71 | ```
|
72 |
|
73 | ## Usage
|
74 | If you want to pack your project:
|
75 | ```
|
76 | $ pomy package --target release --version 1.0.1
|
77 | ```
|
78 | The syntax for running Pomy is as follows:
|
79 |
|
80 | ```
|
81 | $ pomy [<phase>] [options]
|
82 | ```
|
83 | * All available options are listed below:
|
84 | > __--target__ release/snapshort/local/test/...
|
85 |
|
86 | > __--version__ x.xx.xxx
|
87 |
|
88 | * The built in life cycles and their phases are in order are:
|
89 |
|
90 | > __`clean`__ - __pre-clean -> clean -> post-clean__
|
91 |
|
92 | > __`default`__ - __validate -> dependancy -> initialize -> generate-sources -> process-sources -> generate-resources -> process-resources -> compile -> process-classes -> generate-test-sources -> process-test-sources -> generate-test-resources -> process-test-resources -> test-compile -> process-test-classes -> test -> prepare-package -> package -> pre-integration-test -> integration-test -> post-integration-test -> verify -> install -> deploy__
|
93 |
|
94 | > __`site`__ - __pre-site -> site -> post-site -> site-deploy__
|
95 |
|
96 | A fresh build of a project generating all packaged outputs and the documentation site could be done with:
|
97 | ```
|
98 | $ pomy clean && pomy package && pomy site
|
99 | ```
|
100 |
|
101 | Just creating the site and running it can be done with:
|
102 | ```
|
103 | $ pomy clean && pomy site && pomy site:run
|
104 | ```
|
105 | Just Formating all js, css, sass, scss, less and html files can be done with:
|
106 | ```
|
107 | $ pomy format
|
108 | ```
|
109 | or
|
110 | ```
|
111 | $ pomy format-js && pomy format-css && pomy format-html
|
112 | ```
|
113 | Just Fetching all js dependancies can be done with:
|
114 | ```
|
115 | $ pomy dependancy
|
116 | ```
|
117 | Just executing all unit test cases can be done with:
|
118 | ```
|
119 | $ pomy test
|
120 | ```
|
121 | This is the most common build invocation for a Pomy project.
|
122 |
|
123 | When not working with a project, and in some other use cases, you might want to invoke a specific task implemented by a part of Pomy - this is called a goal of a plugin. E.g.:
|
124 |
|
125 | ```
|
126 | $ pomy archetype:generate
|
127 | ```
|
128 |
|
129 | There are many different plugins avaiable and they all implement different goals.
|
130 |
|
131 |
|
132 | ## Support
|
133 | * [Mailinglist](mailto:lico.atom@gmail.com) - lico.atom@gmail.com
|
134 |
|
135 | ## Contributing
|
136 | We welcome [contributions](https://github.com/licoliu/pomy/graphs/contributors) of all kinds from anyone.
|
137 |
|
138 |
|
139 | ## License
|
140 | Copyright (c) 2009~2016 lico and other contributors(https://github.com/licoliu/pomy/graphs/contributors)
|
141 |
|
142 | Licensed under the MIT License
|