- default version of GoSDK updated to 1.12.4
- added parameter
goCache
to provideGOCACHE
environment variable, the default value is${project.build.directory}/.goBuildCache
- added support of work with mvn-golang dependencies in maven repository, so now they can be used as just maven dependencies, it can be disabled through
scanDependencies
property. example - repository artifact extension changed to
zip
to provide way to be processed by standard maven plugins - added support of system properties 'mvngo.skip' and
mvngo.disable.ssl.check
- added
jfrog-cli
mojo to provide way make call to external JFrog CLI in tuned Go SDK environment, example. - added
connectionTimeout
property to provide timeout (milliseconds) for HTTP connections, default 60000 ms - #55 print log error stream into debug if command status is not error
- added check of hash for downloaded SDK archive, can be disabled by
false
in parametercheckSdkHash
, it checks hash provided in response headerx-goog-hash
- improved GoSDK loading
- added property
mvn.golang.go.version
to define value forgoVersion
configuration parameter, it allows decrease configuration section dramatically - added
externalPackageFile
(propertymvn.golang.get.packages.file
) option to theget
mojo, it allows to keep package list in external file - default value of the
useMavenProxy
flag is changed to true to make the plugin more compatible with default maven process
- added support of
maven.deploy.skip
andmaven.install.skip
prperties ininstall
anddeploy
mojos - #48 improved processing of
install
anddeploy
to be more compatible with standard maven process - fixed dependency for termui test project in examples
- added
customScript
section intoget
to execute some custom script over package CVS folder
- fixed target file extension in maven archetypes #44
- added
target386
to provide value for$GO386
environment variable - improved GOPATH value processing, multi-folder value allowed
- added flag to disable SSL certificate check for HTTPS connections,
disableSSLcheck
, by default it isfalse
- improved Golang SDK list load #24
- added
args
attribute to therun
mojo to provide tail command line arguments. - added processing of maven session offline mode
- improved proxy server settings processing to process NTLM authorisation
- removed maven-enforcer-plugin because it throws NPE for old maven versions
- implemented file locker to synchronize SDK loading between JVM processes, if cache folder is shared
- improved
get
mojo behavior during branch, tag and revision processing - improved
get
mojo, addeddeleteCommonPkg
flag to delete whole commonpkg
folder, by default false - improved logging
- added property
supposeSdkArchiveFileName
to suppose SDK archive file name if it is not presented in common SDK list, active by default - minimal version of Java increased to 1.7
- added archetype for multimodule project
mvn-golang-hello-multi
- added
customCvsOptions
intoget
mojo to provide custom options for CVS operation. - improved
get
mojo, added auto-search of CVS folder in package folder hierarchy, it can be disabled with<disableCvsAutosearch>true</disableCvsAutosearch>
, #23 - improved
get
mojo, added way to define relative path to CVS folder insrc
folder through<relativePathToCvsFolder>
, by default the path extracted from package name
- added support of BAZAAR CVS (experimental)
- fixed order of processing of CVS branch, tag and revision in
get
mojo - added
enforceDeletePackageFiles
flag intoget
mojo to enforce deletion of package sources and compiled version in local repository - fixed processing of
revision
for CVS
- Improved
go-hello-test
archetype to generate Intellij Idea Go plugin project structure - Added flag
enforceGoPathToEnd
to enforce changing of folder list order in new generated GOPATH - Added list parameter
ldFlags
forbuildMojo
to define linker flags. - Added boolean flag
strip
forbuildMojo
to remove symbol table and DWARF from the result file. - Added parameter
buildMode
forbuildMojo
to define Go build mode
- Added
skip
attribute to skip execution of mojo - #10, Added way to disable providing of $GOBIN through pseudo-path NONE
- Changed maven phase for build from
compile
topackage
(to prevent build start before tests) - Enforced console output for
test
even in non-verbose mode - Added default packages
./...
forfmt
,vet
,fix
andtest
tasks - Added
maven.test.failure.ignore
andtest
properties processing intotest
goal, also allowed method regex template after#
like in surefire
- #9, Added attribute
targetArm
to provide $GOARM value - Added support of proxy server #8, added flag
useMavenProxy
to use proxy server defined either through maven settings.xml file or theproxy
configuration section of the plugin. - Improved
clean
mojo, added flags to clean Go path folder defined throughgoPath
parameter, and added flag to delete wholestoreFolder
- Added flag
ignoreErrorExitCode
to prevent failure for error exit code, it is useful in some test cases. - Added parameter
reportsFolder
to define folder where some reports will be placed. - Added parameters
outLogFile
anderrLogFile
to save execution console log as files in the report folder. By default such reports are not saved. - Console log for
test
will be shown in maven log only in verbose mode
- Output of environment variables has been moved under the
verbose
flag - Added
mvninstall
goal which saves artifact into local maven repository duringinstall
phase,#2 request - Added support of branches and tags into
get
, it works for Git, Hg and SVN repositories - Improved archetype template, added example of test
- Fixed issue #3 "cannot run tests"
- Added maven archetype
mvn-golang-hello
to generate minimal GoLang "Hello World!" project - Added mojo for
run
command. - Removed
<findExecInGoPath>
property because the logic of search executable file has been reworked - Added
goBin
parameter to provide $GOBIN value - Improved CLEAN to delete also the project target folder
- The Banner is hidden by default
- Changed project folder structure to be closer to GoLang projects
- Added life-cycle for packaging
mvn-golang
with support of the standard GoLang project hierarchy, as example see adapted the Hello world example for the case - Improved logging of command console output, now it is split to lines and every line logged separately
- Added support for loading of archives with Content-type
application/x-gzip
- Increased number of test examples
- Build of example applications moved to the special profile
examples
- Added test example for
gomobile
for Android ARM 7 - Added
<findExecInGoPath>
, it allows to find golang tool in $GOPATH instead of $GOROOT (by defaultfalse
) - Added
<echo>
and<echoWarn>
to print echo messages into maven log - Added
<exec>
parameter to define gotool name (by defaultgo
) - Added
<execSubpath>
parameter to provide sub-path in SDK root to find golang tool (by defaultbin
) - Renamed parameter
<name>
to<resultName>
and<target>
to<resultFolder>
forbuild
- Fixed racing issue for the maven
-T4
flag - Fixed "Truncated TAR archive exception" for Mac OS tar.gz archive
- Removed predefined values for
<goVersion>
and<osx>
- Minor refactoring
- initial version