Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cedric05/ecj-maven-extension

maven extension to modify compiler plugin for all projects
https://github.com/cedric05/ecj-maven-extension

automation extension java lifecycle maven maven-extension

Last synced: 13 days ago
JSON representation

maven extension to modify compiler plugin for all projects

Awesome Lists containing this project

README

        

Maven extension to modify plugins.

# Goal
Modify compiler for maven projects to use non javac compiler.

# Non Goal
Modify entire pom or other plugins.

## Install

⚠️ minimal required maven version is `3.6.3`
[Follow](https://maven.apache.org/studies/extension-demo/)

#### Configure for all projects

Or add jar file in `${maven.home}/lib/ext/` (enables for all projects)

#### Configure for specific project
just create or update `${basedir}/.mvn/extensions.xml` file

```xml


me.qoomon
maven-git-versioning-extension
5.2.0

```

## Usage
Follows profile behaviour like we have in maven. User can define multiple profiles in `~/.m2/compile-config.xml`.

To activate particular profile `java8` pass `-Decj-native=java8` while running `$ mvn compile`.
extension expects `~/.m2/compile-config.xml` to have something like this.

Schema for compile-config.xml is defined [here](./compile-config.xsd)

## sample config
```xml



true
/usr/bin/javac

-proceedOnError

1.8
1.8
false



1.0
rt.jar
rt.jar
system
/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/resources.jar


```