golang maven plug-in 2.2.0 has been published in maven central

96 views
Skip to first unread message

Igor Maznitsa

unread,
May 14, 2018, 1:01:53 AM5/14/18
to golang-nuts
Hello All

the 2.2.0 version of the maven golang plugin has been published in the maven central

the main new feature - now the work with dependencies is much easier and they can be defined through external file (example).
The Plug-in allows to build Golang projects and provides way to work with single-module and multi-module Golang projects containing common part (example), it automatically loads needed Golang SDK version and auto-tunes environment variables what makes it very helpful for CI systems.
It supports work with CVS systems (example) and provides way to load packages not only by their name but also by their revision, branch and tag. As very big plus It allows to use whole power of already existing Java tools and frameworks (of course only during build time) in own projects (like use of ANTLR , preprocessing or web-UI build).
Some big projects already use the plug-in, for instance keycloak uses it for test purposes.

for fast start you can take a look at the example project

the plug-in needs installed Java 1.7+ and Maven 3.0+

Dan Kortschak

unread,
May 15, 2018, 1:36:40 AM5/15/18
to Igor Maznitsa, golang-nuts
Why!

On Sun, 2018-05-13 at 22:01 -0700, Igor Maznitsa wrote:
> the 2.2.0 version of the maven golang plugin 
> <https://github.com/raydac/mvn-golang> has been published in the
> maven 
> central
Message has been deleted

Igor Maznitsa

unread,
May 15, 2018, 1:54:59 AM5/15/18
to golang-nuts
as usual - to make life easier

On Tuesday, May 15, 2018 at 8:36:40 AM UTC+3, kortschak wrote:
Why!

Henrik Johansson

unread,
May 15, 2018, 2:31:08 AM5/15/18
to Igor Maznitsa, golang-nuts
How in the name of anything does using Maven make life easier?
Hyperbole aside I am curious. How does it help?

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Igor Maznitsa

unread,
May 15, 2018, 3:33:24 AM5/15/18
to golang-nuts
short note for developers who knows nothing about maven

1. maven is a well-documented cross-platform mature tool with long history
2. maven is open-source and small one
3. maven is accessible in popular OS software repositories
4. maven is widely used in enterprise world especially, the most popular it is in Java world but the tool allows to build native application too
5. maven is supported out of the box by popular CI (continuous integration) systems (like Jenkins)
6. maven has central repository which allows to distribute extensions without pain
7. its project configuration files should be written in XML what sometime is verbose but less possibility to make errors
8. it allows to tune project build process depending on current OS, it is possible to make specific profiles for each OS family
9. it has big active community

how it can help in Golang world

1. it allows to not invent bicycle
2. Golang projects can use existing polished environment which allows build even enterprise level solutions
3. less time to involve Java programmers into Golang world
4. provided way to use synergistic effect from multi-language environment, for instance popular ANTLR tool (to generate parsers) provides only Java based solution but can generate Golang code.

what about me and why I have written the plug-in

1. I don't like to dance around project environment tuning, I am too lazy
2. I don't like to have pain with 3th side dependency loading and control their version and changes
3. I very like to build everything through single command and move projects between machines without pain
4. I want distribute my projects without big notes how to build them and how to tune environment

Henrik Johansson

unread,
May 15, 2018, 3:49:48 AM5/15/18
to Igor Maznitsa, golang-nuts
I have lived through all versions of Maven in large scale and the switch to the Go way has brought me nothing but joy and peace.
Maven works, I agree, but thats it. it's not joyful and simple in the same way as Go's way of building that mostly (modulo versions) gets out of your way.

I am impressed that you took the time to implement this however and if it can generate more Go developers all the better!
 

Wojciech S. Czarnecki

unread,
May 15, 2018, 4:07:10 AM5/15/18
to golan...@googlegroups.com
On Tue, 15 May 2018 08:30:36 +0200
Henrik Johansson <dahan...@gmail.com> wrote:

> How in the name of anything does using Maven make life easier?
> Hyperbole aside I am curious. How does it help?

I think it can save some "corporate-grade" CI specialists from learning
go101. The contractor comes in, makes 3k go lines that replaces 10k
legacy java lines and with help of OP plugin and local CI folks plugs it in
"corporate-grade" solution for the years to come; then leaves. ;)

CI staff will really be glad to have Maven magics written for them.
Also go contractors will thanks Igor for writting this: it really can help
to offer go solution within java's "corporate-grade" shops.

@Igor Mazintsa: don't be angry at us. Just go ecosystem is an absolute
opposite of java's, so many Gophers just can't imagine how many thousands
of buildscript lines java's 'hello corporate bus' takes to compile and run.

Thank you for your work.

--
Wojciech S. Czarnecki
<< ^oo^ >> OHIR-RIPE

Igor Maznitsa

unread,
May 15, 2018, 4:20:37 AM5/15/18
to golang-nuts
I am not angry at all :) because all my OSS tools I develop usually for my personal use and to feed my laziness and just share them
imho today any attempt to keep some IT-ecosystem as pure one and based only on single technology or computer language will be too expensive, it is cheaper to use already existing tools and approaches, but if anyone is rich enough to do that then it will be  good and we will get many ways in development
Reply all
Reply to author
Forward
0 new messages