33[ ![ Maven Central] ( https://img.shields.io/maven-central/v/org.eolang/eo-maven-plugin.svg )] ( https://maven-badges.herokuapp.com/maven-central/org.eolang/eo-maven-plugin )
44[ ![ Javadoc] ( http://www.javadoc.io/badge/org.eolang/eo-maven-plugin.svg )] ( http://www.javadoc.io/doc/org.eolang/eo-maven-plugin )
55
6- This is Maven plugin for EO.
6+ This is a Maven plugin for EO.
77
8- Here is a simple program that gets a year from command line and tells you
8+ Here is a simple program that gets a year from a command line and tells you
99whether it's leap or not:
1010
1111``` eo
@@ -24,7 +24,7 @@ whether it's leap or not:
2424
2525```
2626
27- In order to compile this program, put it into ` src/main/eo/main.eo ` and then
27+ To compile this program, put it into ` src/main/eo/main.eo ` and then
2828create a file ` pom.xml ` with this content (it's just a sample):
2929
3030``` xml
@@ -111,7 +111,7 @@ for most popular and important objects that any of you will need in order
111111to write even a simple EO program. There are objects like ` string ` , ` int ` , ` sprintf ` ,
112112` stdout ` , and so on. By the way, you may want to contribute there by creating new objects.
113113
114- ## Objectionary objects cache
114+ ### Objectionary objects cache
115115
116116If any external object is used in EO program it will be pulled from [ Objectionary home] ( https://github.com/objectionary/home ) .
117117By default, during compilation the plugin will check local cache (` ~/.eo ` ) for required objects
@@ -124,7 +124,7 @@ Maven option `-U` (see [Maven CLI docs](https://maven.apache.org/ref/3.1.0/maven
124124mvn -U clean install
125125```
126126
127- If you want to build your project or run your tests which use eo-maven-plugin, you can change stack
127+ If you want to build your project or run your tests, which use eo-maven-plugin, you can change stack
128128size for your purposes by stack-size option:
129129
130130``` shell
@@ -133,10 +133,62 @@ mvn clean install -Pqulice -Dstack-size=1M
133133
134134where 1M is size of stack. By default stack-size = 256M in eo-maven-plugin, maximum size is 1G.
135135
136- ## How to run Integration Tests only
136+ ## PHI and UNPHI Transformations
137+
138+ ` eo-maven-plugin ` supports PHI/UNPHI transformations.
139+ To transform your XMIR files, you need to add the following plugin configuration to your ` pom.xml ` :
140+
141+ ``` xml
142+ <plugin >
143+ <groupId >org.eolang</groupId >
144+ <artifactId >eo-maven-plugin</artifactId >
145+ <version >0.50.0</version >
146+ <executions >
147+ <execution >
148+ <id >xmir-to-phi</id >
149+ <phase >process-classes</phase >
150+ <goals >
151+ <goal >xmir-to-phi</goal >
152+ </goals >
153+ <configuration >
154+ <phiInputDir >${eo.xmir.files}</phiInputDir >
155+ <phiOutputDir >${eo.phi.files}</phiOutputDir >
156+ </configuration >
157+ </execution >
158+ <execution >
159+ <id >phi-to-xmir</id >
160+ <phase >process-classes</phase >
161+ <goals >
162+ <goal >phi-to-xmir</goal >
163+ </goals >
164+ <configuration >
165+ <unphiInputDir >${eo.phi.files}</unphiInputDir >
166+ <unphiOutputDir >${eo.xmir.files}</unphiOutputDir >
167+ </configuration >
168+ </execution >
169+ </executions >
170+ </plugin >
171+ ```
172+
173+ Pay attention, that ` PHI/UNPHI ` transformations don't support ` metas ` objects
174+ in the current version of the plugin.
175+ This might lead to possible loss of information about an object's metadata.
176+ You can read more about it [ here] ( https://github.com/objectionary/eo/issues/3812#issuecomment-2589728681 ) .
177+
178+ ## How To Build Plugin
179+
180+ To build the plugin and install it locally, run the following command under the ` eo-maven-plugin ` directory:
181+
182+ ``` shell
183+ mvn clean install -Pqulice
184+ ```
185+
186+ It will build the plugin and install it in your local Maven repository.
187+
188+ ### How to run Integration Tests only
137189
138190If you want to run a specific integration test without waiting until other unit or integration tests
139- are executed you need to go to ` eo-maven-plugin ` directory and execute the next command :
191+ are executed, you might execute the following command under the ` eo-maven-plugin ` directory:
140192
141193``` shell
142194mvn clean integration-test invoker:run -Dinvoker.test=fibonacci -DskipTests
@@ -145,7 +197,7 @@ mvn clean integration-test invoker:run -Dinvoker.test=fibonacci -DskipTests
145197Here ` fibonacci ` is the name of the desired integration test, ` -DskipTests ` is used in order to skip
146198` eo-maven-plugin ` unit tests.
147199
148- ## How to disable Integration Tests
200+ ### How to disable Integration Tests
149201
150202It is sometime necessary to temporarily disable the integration tests (for example for introducing
151203braking changes into plugin or EO runtime). This can be achieved by disabling ` maven-invoker-plugin `
0 commit comments