Full Code of raydac/mvn-golang for AI

master 7f86a51cac31 cached
229 files
706.6 KB
218.8k tokens
703 symbols
1 requests
Download .txt
Showing preview only (782K chars total). Download the full file or copy to clipboard to get everything.
Repository: raydac/mvn-golang
Branch: master
Commit: 7f86a51cac31
Files: 229
Total size: 706.6 KB

Directory structure:
gitextract_sjzi_mot/

├── .github/
│   └── workflows/
│       └── maven.yml
├── .gitignore
├── .projectKnowledge/
│   └── doc_common.mmd
├── CHANGELOG.md
├── LICENSE
├── README.md
├── mvn-golang-examples/
│   ├── mvn-golang-example-azul3d-mandelbrot/
│   │   ├── pom.xml
│   │   ├── resources/
│   │   │   └── azul3d_mandel/
│   │   │       ├── mandel.frag
│   │   │       └── mandel.vert
│   │   └── src/
│   │       ├── azul3d_mandel.go
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── mandelbrot.go
│   ├── mvn-golang-example-clui/
│   │   ├── pom.xml
│   │   ├── res/
│   │   │   └── themes/
│   │   │       ├── acsii.theme
│   │   │       └── turbovision.theme
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-fyne/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── hello.go
│   ├── mvn-golang-example-genbindata/
│   │   ├── data/
│   │   │   └── la_espero.txt
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-gocui/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── gocui.go
│   ├── mvn-golang-example-goexample/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── golang-book/
│   │       │   └── chapter11/
│   │       │       └── math/
│   │       │           ├── math.go
│   │       │           └── math_test.go
│   │       └── main.go
│   ├── mvn-golang-example-goterm/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── time.go
│   ├── mvn-golang-example-gui/
│   │   ├── dependencies.txt
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-gui-gwt/
│   │   ├── backend/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main.go
│   │   ├── frontend/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── com/
│   │   │       │   │       └── igormaznitsa/
│   │   │       │   │           └── client/
│   │   │       │   │               ├── BackendService.java
│   │   │       │   │               ├── FrontendMain.java
│   │   │       │   │               └── Messages.java
│   │   │       │   ├── resources/
│   │   │       │   │   └── com/
│   │   │       │   │       └── igormaznitsa/
│   │   │       │   │           ├── client/
│   │   │       │   │           │   └── Messages_fr.properties
│   │   │       │   │           └── gwtfrontend.gwt.xml
│   │   │       │   └── webapp/
│   │   │       │       ├── WEB-INF/
│   │   │       │       │   └── web.xml
│   │   │       │       ├── index.html
│   │   │       │       └── main.css
│   │   │       └── test/
│   │   │           └── resources/
│   │   │               └── com/
│   │   │                   └── igormaznitsa/
│   │   │                       └── gotestJUnit.gwt.xml
│   │   └── pom.xml
│   ├── mvn-golang-example-helloworld/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-helloworld-gomod/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── main.go
│   ├── mvn-golang-example-helloworld-multisrc/
│   │   ├── lib1/
│   │   │   └── src/
│   │   │       └── pack1/
│   │   │           └── src1some.go
│   │   ├── lib2/
│   │   │   └── src/
│   │   │       └── pack2/
│   │   │           └── src2some.go
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-logrus/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── gologrus.go
│   ├── mvn-golang-example-maven-module-mix/
│   │   ├── mvn-go-test-mix-app/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── go.mod
│   │   │       ├── go.sum
│   │   │       └── main.go
│   │   ├── mvn-go-test-mix-proxy/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── testmixproxy/
│   │   │               ├── Proxy.go
│   │   │               ├── go.mod
│   │   │               └── go.sum
│   │   ├── mvn-go-test-mix-terminal/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── testmixterminal/
│   │   │               ├── Terminal.go
│   │   │               ├── go.mod
│   │   │               └── go.sum
│   │   └── pom.xml
│   ├── mvn-golang-example-maven-repository/
│   │   ├── mvn-go-test-app/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main.go
│   │   ├── mvn-go-test-lib/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── mvngotest/
│   │   │               ├── SomeUtils.go
│   │   │               └── go.mod
│   │   ├── mvn-go-test-libtwo/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── mvngotesttwo/
│   │   │               ├── SomeUtils.go
│   │   │               └── go.mod
│   │   ├── mvn-go-test-metalib/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── mvngotestmeta/
│   │   │               ├── MetaUtils.go
│   │   │               └── go.mod
│   │   └── pom.xml
│   ├── mvn-golang-example-multimodule/
│   │   ├── app-1/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main.go
│   │   │       └── main_test.go
│   │   ├── app-2/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main.go
│   │   │       └── main_test.go
│   │   ├── assembly-results/
│   │   │   ├── deploy.xml
│   │   │   └── pom.xml
│   │   ├── common/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── common/
│   │   │           ├── common.go
│   │   │           └── common_test.go
│   │   └── pom.xml
│   ├── mvn-golang-example-nes/
│   │   └── pom.xml
│   ├── mvn-golang-example-oak-shooter/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── performance.go
│   ├── mvn-golang-example-plugin/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── arithplugin.go
│   │       └── arithplugin_test.go
│   ├── mvn-golang-example-preprocessing/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── inlined.go
│   │       ├── main.go
│   │       └── text.txt
│   ├── mvn-golang-example-primitive/
│   │   └── pom.xml
│   ├── mvn-golang-example-protobuf/
│   │   ├── go-dependencies.lst
│   │   ├── pom.xml
│   │   ├── proto/
│   │   │   └── person.proto
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-termboxgo/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-termui/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── sparklines.go
│   ├── mvn-golang-example-testing/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main.go
│   │       └── mypackage/
│   │           └── testexample/
│   │               ├── Some.go
│   │               └── Some_test.go
│   ├── pom.xml
│   └── test-git-cvs/
│       ├── cvs-git-branch-master/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-branch-v2/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-custom/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-master-tag/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-revision/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       └── pom.xml
├── mvn-golang-hello/
│   ├── pom.xml
│   └── src/
│       ├── assemble/
│       │   ├── bundle.xml
│       │   └── distribution.xml
│       └── main/
│           └── resources/
│               ├── META-INF/
│               │   └── maven/
│               │       └── archetype-metadata.xml
│               └── archetype-resources/
│                   ├── packages.txt
│                   ├── pom.xml
│                   └── src/
│                       ├── go.mod
│                       ├── hello.go
│                       └── hello_test.go
├── mvn-golang-hello-multi/
│   ├── pom.xml
│   └── src/
│       ├── assemble/
│       │   ├── bundle.xml
│       │   └── distribution.xml
│       └── main/
│           └── resources/
│               ├── META-INF/
│               │   └── maven/
│               │       └── archetype-metadata.xml
│               └── archetype-resources/
│                   ├── app-1/
│                   │   ├── pom.xml
│                   │   └── src/
│                   │       ├── main.go
│                   │       └── main_test.go
│                   ├── app-2/
│                   │   ├── pom.xml
│                   │   └── src/
│                   │       ├── main.go
│                   │       └── main_test.go
│                   ├── assembly-results/
│                   │   ├── deploy.xml
│                   │   └── pom.xml
│                   ├── common/
│                   │   ├── pom.xml
│                   │   └── src/
│                   │       └── common/
│                   │           ├── common.go
│                   │           └── common_test.go
│                   └── pom.xml
├── mvn-golang-wrapper/
│   ├── pom.xml
│   └── src/
│       ├── assemble/
│       │   ├── bundle.xml
│       │   └── distribution.xml
│       ├── main/
│       │   ├── filtered-resources/
│       │   │   └── META-INF/
│       │   │       └── plexus/
│       │   │           └── components.xml
│       │   └── java/
│       │       └── com/
│       │           └── igormaznitsa/
│       │               └── mvngolang/
│       │                   ├── AbstractGoDependencyAwareMojo.java
│       │                   ├── AbstractGoPackageAndDependencyAwareMojo.java
│       │                   ├── AbstractGoPackageAwareMojo.java
│       │                   ├── AbstractGolangMojo.java
│       │                   ├── AbstractModuleAware.java
│       │                   ├── CustomScript.java
│       │                   ├── GolangBuildMojo.java
│       │                   ├── GolangCleanMojo.java
│       │                   ├── GolangCustomMojo.java
│       │                   ├── GolangFixMojo.java
│       │                   ├── GolangFmtMojo.java
│       │                   ├── GolangGenerateMojo.java
│       │                   ├── GolangGetMojo.java
│       │                   ├── GolangInstallMojo.java
│       │                   ├── GolangJfrogCliMojo.java
│       │                   ├── GolangListMojo.java
│       │                   ├── GolangModMojo.java
│       │                   ├── GolangMvnInstallMojo.java
│       │                   ├── GolangRunMojo.java
│       │                   ├── GolangTestMojo.java
│       │                   ├── GolangToolMojo.java
│       │                   ├── GolangVetMojo.java
│       │                   ├── cvs/
│       │                   │   ├── AbstractRepo.java
│       │                   │   ├── CVSType.java
│       │                   │   ├── CvsBZR.java
│       │                   │   ├── CvsGIT.java
│       │                   │   ├── CvsHG.java
│       │                   │   ├── CvsNone.java
│       │                   │   └── CvsSVN.java
│       │                   └── utils/
│       │                       ├── GoMod.java
│       │                       ├── IOUtils.java
│       │                       ├── MavenUtils.java
│       │                       ├── MvnGolangArtifactHandler.java
│       │                       ├── PackageList.java
│       │                       ├── ProxySettings.java
│       │                       ├── StringComparatorABC.java
│       │                       ├── SysUtils.java
│       │                       ├── Tuple.java
│       │                       ├── UnpackUtils.java
│       │                       ├── WildCardMatcher.java
│       │                       └── XGoogHashHeader.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── igormaznitsa/
│           │           └── mvngolang/
│           │               ├── GolangBuildMojoTest.java
│           │               ├── GolangModMojoCfgTest.java
│           │               └── utils/
│           │                   ├── GoModTest.java
│           │                   ├── MavenUtilsTest.java
│           │                   ├── PackageListTest.java
│           │                   ├── StringComparatorABCTest.java
│           │                   └── SysUtilsTest.java
│           └── resources/
│               └── com/
│                   └── igormaznitsa/
│                       └── mvngolang/
│                           ├── mojoBuild.xml
│                           ├── mojoClean.xml
│                           ├── mojoCustom.xml
│                           ├── mojoFix.xml
│                           ├── mojoFmt.xml
│                           ├── mojoGenerate.xml
│                           ├── mojoGet.xml
│                           ├── mojoInstall.xml
│                           ├── mojoJFrogCli.xml
│                           ├── mojoMod.xml
│                           ├── mojoMvnInstall.xml
│                           ├── mojoRun.xml
│                           ├── mojoTest.xml
│                           ├── mojoTool.xml
│                           └── mojoVet.xml
└── pom.xml

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/workflows/maven.yml
================================================
name: Java CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Set up JDK 1.8
      uses: actions/setup-java@v1
      with:
        java-version: 1.8
    - name: Build with Maven
      run: mvn -B package --file pom.xml


================================================
FILE: .gitignore
================================================
**/bin/
**/.preprocessed_src/
**/pkg/
**/target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
**/nbproject/
/mvn-golang-examples/mvn-golang-example-gomobile/classes/
/mvn-golang-examples/mvn-golang-example-gomobile/test-classes/
/mvn-golang-examples/mvn-golang-example-antlr/generated/
**/nbactions.xml
**/.idea
*.iml
.settings
.project
.classpath


================================================
FILE: .projectKnowledge/doc_common.mmd
================================================
Mind Map generated by NB MindMap plugin   
> __version__=`1.1`,showJumps=`true`
---

# MVN\-GOLANG<br/>2\.3\.9

## module mod aware
> fillColor=`#B8EABC`,topicLinkUID=`1784F737589A`

- TOPIC
<pre>1693D4AFAAFA</pre>

### mod
> fillColor=`#FF9090`


#### Define mod mode
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### provided only if defined
> fillColor=`#F3F676`


###### properties

####### mvn\.golang\.module\.mod

###### \<mod\>vendor\</mod\>
> fillColor=`#00FFFF`


### dependency aware
> fillColor=`#B8EABC`,topicLinkUID=`1693D4AFAAFA`


#### scanDependencies
> fillColor=`#FF9090`


##### Find artifacts generated by Mvn\-Golang among scope dependencies,<br/>unpack them and add unpacked folders into GOPATH during execution
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### true
> fillColor=`#F3F676`


#### includeTestDependencies
> fillColor=`#FF9090`


##### Include test dependencies into scanning process\.
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### true
> fillColor=`#F3F676`


#### dependencyTempFolder
> fillColor=`#FF9090`


##### Path to the folder where resolved mvn\-golang dependencies<br/>will be temporary unpacked
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### $\{project\.build\.directory\}/\.\_\_deps\_\_
> fillColor=`#F3F676`


#### syncSessionIfModules
> fillColor=`#FF9090`


##### turn on session synchronization<br/>to prevent parallel processing of modules in module mode
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### true
> fillColor=`#F3F676`


## package aware
> fillColor=`#B8EABC`,topicLinkUID=`1693D4A9E73A`


### packages
> fillColor=`#FF9090`


#### List of packages
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<packages\><br/>       \<package\>com/some/package\</package\><br/>       \<package\>com/some/packagetwo\</package\><br/>\</packages\>
> align=`left`,fillColor=`#00FFFF`


## common
> fillColor=`#B8EABC`


### arch
> fillColor=`#FF9090`


#### Architecture of host system
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<arch\>windows\</arch\>
> fillColor=`#00FFFF`


### addToGoPath
> fillColor=`#FF9090`


#### Extra folders to be added into GOPATH
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<addToGoPath\>                         <br/>    \<fldr\>$\{basedir\}/src2\</fldr\><br/>    \<fldr\>$\{basedir\}/src3\</fldr\><br/>\</addToGoPath\>                        
> fillColor=`#00FFFF`


### buildFlags
> fillColor=`#FF9090`


#### List of build flags for a Go tool
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<buildFlags\><br/>    \<flag\>\-a\</flag\><br/>    \<flag\>\-v\</flag\><br/>\</buildFlags\>
> align=`left`,fillColor=`#00FFFF`


### checkSdkHash
> fillColor=`#FF9090`


#### Check hash for downloaded GoSDK archive\.
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### true
> fillColor=`#F3F676`


###### \<checkSdkHash\>false\</checkSdkHash\>
> fillColor=`#00FFFF`


### connectionTimeout
> fillColor=`#FF9090`


#### Timeout for network connections<br/>during GoSDK loading\.
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### milliseconds

###### 60000
> fillColor=`#F3F676`


####### \<connectionTimeout\>120000\</connectionTimeout\>
> fillColor=`#00FFFF`


### disableSSLcheck
> fillColor=`#FF9090`


#### Disable check of SSL certificate during HTTPS request\.
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### properties

###### mvn\.golang\.disable\.ssl\.check

##### false
> fillColor=`#F3F676`


###### \<disableSSLcheck\>true\</disableSSLcheck\>
> fillColor=`#00FFFF`


### disableSdkLoad
> fillColor=`#FF9090`


#### Allows to not load GoSDK if it is not in cache\.<br/>Also it is active if maven session in offline mode\.
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### false
> fillColor=`#F3F676`


###### \<disableSdkLoad\>true\</disableSdkLoad\>
> fillColor=`#00FFFF`


### env
> fillColor=`#FF9090`


#### Allows define environment variables
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<env\><br/>  \<GO111MODULE\>off\</GO111MODULE\><br/>\</env\>
> align=`left`,fillColor=`#00FFFF`


### errLogFile
> fillColor=`#FF9090`


#### File to save console error log
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<errLogFile\>err\.txt\</errLogFile\>
> fillColor=`#00FFFF`


### exec
> fillColor=`#FF9090`


#### Go tool to be executed
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### go
> fillColor=`#F3F676`


###### \<exec\>cgo\</exec\>
> fillColor=`#00FFFF`


### enforceGoPathToEnd
> fillColor=`#FF9090`


#### Make GOPATH value as the last one in new generated GOPATH chain
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### false
> fillColor=`#F3F676`


###### \<enforceGoPathToEnd\>true\</enforceGoPaathToEnd\>
> fillColor=`#00FFFF`


### execSubpath
> fillColor=`#FF9090`


#### Sub\-path to executing go tool in SDK folder
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### bin
> fillColor=`#F3F676`


###### \<execSubpath\>bin/sub\</execSubpath\>
> fillColor=`#00FFFF`


### echo
> fillColor=`#FF9090`


#### Messages to be printed as INFO into log
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<echo\><br/>  \<echo\>Hello world\</echo\><br/>\</echo\>
> align=`left`,fillColor=`#00FFFF`


### echoWarn
> fillColor=`#FF9090`


#### Messages to be printed as WARNING into log
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<echoWarn\><br/>    \<echo\>Hello world\</echo\><br/>\</echoWarn\>
> align=`left`,fillColor=`#00FFFF`


### filterEnvPath
> fillColor=`#FF9090`


#### Flag shows that environment PATH variable should be<br/>filtered for footsteps of other go/bin folders to prevent conflicts
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### true
> fillColor=`#F3F676`


###### \<filterEnvPath\>false\</filterEnvPath\>
> fillColor=`#00FFFF`


### goPath
> fillColor=`#FF9090`


#### Folder to be used as $GOPATH
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GOPATH

##### $\{user\.home\}/\.mvnGoLang/\.go\_path
> fillColor=`#F3F676`


###### \<goPath\>$\{user\.home\}/gopath\</goPath\>
> fillColor=`#00FFFF`


### goVersion
> fillColor=`#FF9090`


#### Go SDK version
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### mvn\.golang\.go\.version

##### 1\.18\.3
> fillColor=`#F3F676`


###### \<goVersion\>1\.15\.3\</goVersion\>
> fillColor=`#00FFFF`


### goBin
> fillColor=`#FF9090`


#### Folder to be used as $GOBIN
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GOBIN

##### $\{project\.build\.directory\}
> fillColor=`#F3F676`


###### \<goBin\>$\{basedir\}/bin\</goBin\>

### goRoot
> fillColor=`#FF9090`


#### GoSDK home folder
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<goRoot\>some/go/root\</goRoot\>
> fillColor=`#00FFFF`


### goCache
> fillColor=`#FF9090`


#### Cache directory to keep build data
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GOCACHE

##### $\{project\.build\.directory\}/\.goBuildCache
> fillColor=`#F3F676`


###### \<goCache\>off\</goCache\>
> fillColor=`#00FFFF`


### goRootBootstrap
> fillColor=`#FF9090`


#### Go bootstrap home folder
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GOROOT\_BOOTSTRAP

### hideBanner
> fillColor=`#FF9090`


#### Allows to hide print of plug\-in banner
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### true
> fillColor=`#F3F676`


###### \<hideBanner\>false\</hideBanner\>
> fillColor=`#00FFFF`


### ignoreErrorExitCode
> fillColor=`#FF9090`


#### false
> fillColor=`#F3F676`


##### \<ignoreErrorExitCode\>true\</ignoreErrorExitCode\>
> fillColor=`#00FFFF`


### keepSdkArchive
> fillColor=`#FF9090`


#### false
> fillColor=`#F3F676`


##### \<keepSdkArchive\>true\</keepSdkArchive\>
> fillColor=`#00FFFF`


### keepUnarchFolderIfError
> fillColor=`#FF9090`


#### false
> fillColor=`#F3F676`


##### \<keepUnarchFolderIfError\>true\</keepUnarchFolderIfError\>
> fillColor=`#00FFFF`


### moduleMode
> fillColor=`#FF9090`


#### Manage processing of Go modules
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### false
> fillColor=`#F3F676`


###### properties

####### mvn\.golang\.module\.mode

##### \<moduleMode\>true\</moduleMode\>
> fillColor=`#00FFFF`


### proxy
> fillColor=`#FF9090`


#### host
> fillColor=`#FDB576`


##### 127\.0\.0\.1
> fillColor=`#F3F676`


###### \<host\>192\.68\.23\.12\</host\>
> fillColor=`#00FFFF`


#### protocol
> fillColor=`#FDB576`,leftSide=`true`


##### http
> fillColor=`#F3F676`


###### \<protocol\>https\</protocol\>
> fillColor=`#00FFFF`


#### port
> fillColor=`#FDB576`,leftSide=`true`


##### 80
> fillColor=`#F3F676`


###### \<port\>8080\</protocol\>
> fillColor=`#00FFFF`


#### username
> fillColor=`#FDB576`,leftSide=`true`


##### \<username\>somename\</username\>
> fillColor=`#00FFFF`


#### password
> fillColor=`#FDB576`,leftSide=`true`


##### \<password\>changeme\</password\>
> fillColor=`#00FFFF`


#### nonProxyHosts
> fillColor=`#FDB576`,leftSide=`true`


##### \<nonProxyHosts\>127\.0\.0\.1|localhost\</nonProxyHosts\>
> fillColor=`#00FFFF`


### useMavenProxy
> fillColor=`#FF9090`,leftSide=`true`


#### Allow use of proxy parameters<br/>provided by maven
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### true
> fillColor=`#F3F676`


###### \<useMavenProxy\>false\</useMavenProxy\>
> fillColor=`#00FFFF`


### supposeSdkArchiveFileName
> fillColor=`#FF9090`,leftSide=`true`


#### Suppose SDK archive file name if it is not presented<br/>in the list loaded from server
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### true
> fillColor=`#F3F676`


###### \<supposeSdkArchiveFileName\>false\</supposeSdkArchiveFileName\>
> fillColor=`#00FFFF`


### sdkSite
> fillColor=`#FF9090`


#### Base site for SDK download
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### https://storage\.googleapis\.com/golang/
> fillColor=`#F3F676`


###### \<sdkSite\>https://storage\.googleapis\.com/golang/\</sdkSite\>
> fillColor=`#00FFFF`


### skip
> fillColor=`#FF9090`,leftSide=`true`


#### Skip execution
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### properties

###### each mojo processes property
> fillColor=`#00B6FF`,mmd.emoticon=`lightbulb`


####### mvn\.golang\.\[MOJO\_NAME\]\.skip
> fillColor=`#F3F676`


######## \<mvn\.golang\.build\.skip\>true\</mvn\.golang\.build\.skip\>
> fillColor=`#00FFFF`


##### false
> fillColor=`#F3F676`


###### \<skip\>true\</skip\>
> fillColor=`#00FFFF`


### reportsFolder
> fillColor=`#FF9090`,leftSide=`true`


#### Folder to place console logs
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### $\{project\.build\.directory\}/reports
> fillColor=`#F3F676`


###### \<reportsFolder\>$\{basedir\}/dir\</reportsFolder\>
> fillColor=`#00FFFF`


### outLogFile
> fillColor=`#FF9090`,leftSide=`true`


#### File to save console out log
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<outLogFile\>console\.log\</outLogFile\>
> fillColor=`#00FFFF`


### storeFolder
> fillColor=`#FF9090`,leftSide=`true`


#### Folder to be used to save and unpack loaded SDKs<br/> and also keep misc info
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### $\{user\.home\}/\.mvnGoLang
> fillColor=`#F3F676`


###### \<storeFolder\>$\{user\.home\}/\.mvngo\</storeFolder\>
> fillColor=`#00FFFF`


### sources
> fillColor=`#FF9090`


#### Project source folder
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### $\{project\.build\.sourceDirectory\}
> fillColor=`#F3F676`


###### \<sources\>$\{basedir\}/src\</sources\>
> fillColor=`#00FFFF`


### sdkArchiveName
> fillColor=`#FF9090`


#### Allows directly define name of SDK archive
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<sdkArchiveName\>gosdk1\.12\.3\.zip\</sdkArchiveName\>
> fillColor=`#00FFFF`


### sdkDownloadUrl
> fillColor=`#FF9090`


#### Directly defined URL to download GoSDK
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<sdkDownloadUrl\>https://dl\.google\.com/go/go1\.13\.darwin\-amd64\.tar\.gz\</sdkDownloadUrl\>
> fillColor=`#00FFFF`


### target386
> fillColor=`#FF9090`,leftSide=`true`


#### Value to be provided as $GO386
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GO386

##### \<target386\>387\</target386\>
> fillColor=`#00FFFF`


### targetArm
> fillColor=`#FF9090`,leftSide=`true`


#### Value to be provided as $GOARM
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GOARM

##### \<targetArm\>6\</targetArm\>
> fillColor=`#00FFFF`


### targetOs
> fillColor=`#FF9090`,leftSide=`true`


#### Target OS information for $GOOS
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GOOS

##### \<targetOs\>linux\</targetOs\>
> fillColor=`#00FFFF`


### targetArch
> fillColor=`#FF9090`


#### Target architecture for $GOARCH
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### defines

###### $GOARCH

##### \<targetArch\>linux\</targetArch\>
> fillColor=`#00FFFF`


### os
> fillColor=`#FF9090`,leftSide=`true`


#### Host OS information
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<os\>windows\</os\>
> fillColor=`#00FFFF`


### osxVersion
> fillColor=`#FF9090`,leftSide=`true`


#### Data about host OSX version
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<osxVersion\>osx10\.8\</osxVersion
> fillColor=`#00FFFF`


### verbose
> fillColor=`#FF9090`,leftSide=`true`


#### Make verbose output, also active if maven in debug
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### false
> fillColor=`#F3F676`


###### \<verbose\>true\</verbose\>
> fillColor=`#00FFFF`


### workingDir
> fillColor=`#FF9090`


#### Path to be used as working directory for executing process
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<workingDir\>$\{basedir\}\</workingDir\>
> fillColor=`#00FFFF`


### useGoTool
> fillColor=`#FF9090`,leftSide=`true`


#### Name of tool to be called<br/>instead of standard 'go' tool
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### \<useGoTool\>\</useGoTool\>
> fillColor=`#00FFFF`


### useEnvVars
> fillColor=`#FF9090`,leftSide=`true`


#### Find and use Go environment variables
> fillColor=`#92FF00`,mmd.emoticon=`information`


##### false
> fillColor=`#F3F676`


###### \<useEnvVars\>true\</useEnvVars\>
> fillColor=`#00FFFF`


## goals
> fillColor=`#C6C0D6`,leftSide=`true`


### build
> fillColor=`#B772F5`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### resultFolder
> fillColor=`#FF9090`


##### Target folder where to place the result file
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### $\{project\.build\.directory\}
> fillColor=`#F3F676`


####### \<resultFolder\>some/folder\</resultFolder\>

#### resultName
> fillColor=`#FF9090`,leftSide=`true`


##### Name of the result file
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### $\{project\.build\.finalName\}
> fillColor=`#F3F676`


####### \<resultName\>someName\</resultName\>

#### buildMode
> fillColor=`#FF9090`,leftSide=`true`


##### Build mode indicates which kind of object file is to be built
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### default
> fillColor=`#F3F676`


####### \<buildMode\>plugin\</buildMode\>

#### strip
> fillColor=`#FF9090`,leftSide=`true`


##### Strip result file
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<strip\>true\</strip\>

#### ldFlags
> fillColor=`#FF9090`,leftSide=`true`


##### List of linker flags
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<ldFlags\><br/>    \<flag\>\-X\</flag\><br/>    \<flag\>"main\.Buildstamp=$\{build\.date\.stamp\}"\</flag\><br/>    \<flag\>\-X\</flag\><br/>    \<flag\>"main\.svnRevision=22543"\</flag\><br/>\</ldFlags\>
> align=`left`


#### attach
> fillColor=`#FF9090`


##### Attach the result as additional artifact to be installed and deployed
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### properties

####### mvn\.golang\.build\.attach

###### false
> fillColor=`#F3F676`


####### \<attach\>true\</attach\>

#### attachClassifier
> fillColor=`#FF9090`


##### Define classifier for attached artifact
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### properties

####### mvn\.golang\.build\.attach\.classifier

###### \<empty\>
> fillColor=`#F3F676`


####### \<attachClassifier\>windows\</attachClassifier\>

#### attachType
> fillColor=`#FF9090`


##### Define type for attached artifact
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### properties

####### mvn\.golang\.build\.attach\.type

###### bin
> fillColor=`#F3F676`


####### \<attachType\>exe\</attachType\>

#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

#### packages
> fillColor=`#FFCC00`,leftSide=`true`

- TOPIC
<pre>1693D4A9E73A</pre>

### clean
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`


#### cleanGoPath
> fillColor=`#FF9090`


##### Clean all folders provided by Go Path
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<cleanGoPath\>true\</cleanGoPath\>

#### deleteStoreFolder
> fillColor=`#FF9090`,leftSide=`true`


##### Delete plugin Golang store folder
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<deleteStoreFolder\>true\</deleteStoreFolder\>

#### packages
> fillColor=`#FFCC00`,leftSide=`true`

- TOPIC
<pre>1693D4A9E73A</pre>

#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

### custom
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`


#### customCommand
> fillColor=`#FF9090`


##### Command for Go tool to execute
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<customCommand\>dist\</customCommand\>

#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

#### packages
> fillColor=`#FFCC00`,leftSide=`true`

- TOPIC
<pre>1693D4A9E73A</pre>

### fix
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### packages
> fillColor=`#FFCC00`,leftSide=`true`

- TOPIC
<pre>1693D4A9E73A</pre>

#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

### fmt
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`


#### packages
> fillColor=`#FFCC00`,leftSide=`true`

- TOPIC
<pre>1693D4A9E73A</pre>

#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

### generate
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

#### packages
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4A9E73A</pre>

### get
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### allowLockSession
> fillColor=`#FF9090`


##### Enable lock maven session during operation<br/>if maven in parallel mode
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### true
> fillColor=`#F3F676`


####### \<allowLockSession\>false\</allowLockSession\>
> fillColor=`#F3F676`


#### customScript
> fillColor=`#FF9090`


##### Script to be called in the end of all operations over CVS
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### path
> fillColor=`#FDB576`


####### \<path\>$\{basedir\}/script\.sh\</path\>

###### options
> fillColor=`#FDB576`


####### \<options\><br/>  \<opt\>arg1\</opt\><br/>  \<opt\>arg2\</opt\><br/>\</options\>
> align=`left`


###### ignoreFail
> fillColor=`#FDB576`


####### \<ignoreFail\>false\</ignoreFail\>

###### environment<br/>variables
> fillColor=`#FDB576`


####### MVNGO\_CVS\_BRANCH

####### MVNGO\_CVS\_TAG
> leftSide=`true`


####### MVNGO\_CVS\_REVISION
> leftSide=`true`


####### MVNGO\_CVS\_PACKAGE
> leftSide=`true`


#### externalPackageFile
> fillColor=`#FF9090`,leftSide=`true`


##### Path to a file contains list of packages
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### mvn\.golang\.get\.packages\.file

###### \<externalPackageFile\>$\{basedir\}/packages\.txt\</externalPackageFile\>
> fillColor=`#00FFFF`


#### autofixGitCache
> fillColor=`#FF9090`,leftSide=`true`


##### Try to fix GIT cache error if it is detected
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<autofixGitCache\>true\</autofixGitCache\>
> fillColor=`#00FFFF`


#### branch
> fillColor=`#FF9090`,leftSide=`true`


##### Branch to be activated
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<branch\>v1\.2\.3\</branch\>
> fillColor=`#00FFFF`


#### tag
> fillColor=`#FF9090`,leftSide=`true`


##### Tag to be activated
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<tag\>1\.0\.0\</tag\>
> fillColor=`#00FFFF`


#### revision
> fillColor=`#FF9090`,leftSide=`true`


##### Revision to be activated
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<revision\>12233445\</revision\>
> fillColor=`#00FFFF`


#### customCvsOptions
> fillColor=`#FF9090`,leftSide=`true`


##### Allows to define custom options for CVS operation
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<customCvsOptions\>                                <br/>      \<option\>\-\-paginate\</option\>              <br/>      \<option\>\-\-no\-replace\-objects\</option\><br/>\</customCvsOptions\>                               
> fillColor=`#00FFFF`


#### cvsExe
> fillColor=`#FF9090`,leftSide=`true`


##### Custom executable CVS file to be executed for branch,<br/>tag and revision operations
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<cvsExe\>somecvs\.exe\</cvsExe\>
> fillColor=`#00FFFF`


#### enforceDeletePackageFiles
> fillColor=`#FF9090`,leftSide=`true`


##### Search sources for package and its compiled version,<br/>enforce delete of found source folder and compiled '\.a' file
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<enforceDeletePackageFiles\>true\</enforceDeletePackageFiles\>
> fillColor=`#00FFFF`


#### deleteCommonPkg
> fillColor=`#FF9090`,leftSide=`true`


##### Delete whole common pkg folder at $GOPATH/pkg
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<deleteCommonPkg\>true\</deleteCommonPkg\>
> fillColor=`#00FFFF`


#### relativePathToCvsFolder
> fillColor=`#FF9090`,leftSide=`true`


##### Allows directly define relative path <br/>to the package containing CVS data<br/>inside 'src' folder for package
> fillColor=`#92FF00`,mmd.emoticon=`information`


#### disableCvsAutosearch
> fillColor=`#FF9090`,leftSide=`true`


##### Disable auto\-search for CVS folder in package folder hierarchy
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<disableCvsAutosearch\>true\</disableCvsAutosearch\>
> fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

#### packages
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4A9E73A</pre>

### list
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### format
> fillColor=`#FF9090`


##### alternate format for the list
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<null\>
> fillColor=`#F3F676`


####### \<format\>\{\{ join \.Deps  "\\n"\}\}\</format\>
> fillColor=`#00FFFF`


#### json
> fillColor=`#FF9090`,leftSide=`true`


##### causes the package data to be printed in JSON format
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<json\>true\</json\>
> fillColor=`#00FFFF`


#### listModules
> fillColor=`#FF9090`,leftSide=`true`


##### causes list to list modules instead of packages
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### false
> fillColor=`#F3F676`


####### \<listModules\>true\</listModules\>
> fillColor=`#00FFFF`


### install
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### skip
> fillColor=`#FF9090`


##### Skip step execution
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### maven\.deploy\.skip

####### false
> fillColor=`#F3F676`


######## \<skip\>true\</skip\>
> fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

#### packages
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4A9E73A</pre>

### jfrog\-cli
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`


#### cliPath
> fillColor=`#FF9090`


##### Path to a JFrog CLI executable file
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<cliPath\>$\{basedir\}/jfrog\</cliPath\>
> fillColor=`#00FFFF`


#### target
> fillColor=`#FF9090`,leftSide=`true`


##### The product on which you wish to execute the command
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### rt
> fillColor=`#F3F676`


####### \<target\>rt\</target\>
> fillColor=`#00FFFF`


#### command
> fillColor=`#FF9090`,leftSide=`true`


##### The command to execute
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### go
> fillColor=`#F3F676`


####### \<command\>go\</command\>
> fillColor=`#00FFFF`


#### arguments
> fillColor=`#FF9090`,leftSide=`true`


##### Set of arguments corresponding to the command
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<arguments\>    <br/>    \<arg\>\</arg\><br/>    \<arg\>\</arg\><br/>\</arguments\>   
> fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

### mod
> fillColor=`#00B6FF`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### command
> fillColor=`#FF9090`


##### Command to be executed
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<command\>init\</command\>
> fillColor=`#00FFFF`


#### arguments
> fillColor=`#FF9090`,leftSide=`true`


##### Optional command arguments
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<arguments\><br/>   \<arg\>example\.com/hello\</arg\><br/>\</arguments\>
> align=`left`,fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`,leftSide=`true`

- TOPIC
<pre>1693D4AFAAFA</pre>

### mvninstall
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`


#### compression
> fillColor=`#FF9090`


##### Compression level of zip file\. Must be 1\.\.9
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### 9
> fillColor=`#F3F676`


####### \<compression\>5\</compression\>
> fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

### run
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### xprog
> fillColor=`#FF9090`


##### If value is provided then \-exec will be used with the value
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<xprog\>some\</xprog\>
> fillColor=`#00FFFF`


#### args
> fillColor=`#FF9090`,leftSide=`true`


##### Command arguments\. They follow package names in command line
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<args\><br/>    \<arg\>\-v\</arg\><br/>\</args\>
> align=`left`,fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

#### packages
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4A9E73A</pre>

### test
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### testFlags
> fillColor=`#FF9090`


##### List of test binary flags
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<testFlags\><br/>    \<flag\>\-test\.cpuprofile=prof\.out\</flag\><br/>\</testFlags\>
> align=`left`,fillColor=`#00FFFF`


#### skip
> fillColor=`#FF9090`,leftSide=`true`


##### Skip the step
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### properties

####### maven\.test\.skip

####### skipTests

###### false
> fillColor=`#F3F676`


####### \<skip\>true\</skip\>
> fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

#### packages
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4A9E73A</pre>

### tool
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`


#### command
> fillColor=`#FF9090`


##### Command to be executed
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<command\>foo\</command\>
> fillColor=`#00FFFF`


#### args
> fillColor=`#FF9090`,leftSide=`true`


##### Command arguments
> fillColor=`#92FF00`,mmd.emoticon=`information`


###### \<args\><br/>    \<arg\>\-a\</arg\><br/>    \<arg\>\-v\</arg\><br/>\</args\>
> align=`left`,fillColor=`#00FFFF`


#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>

### vet
> fillColor=`#B772F5`,leftSide=`true`,textColor=`#FFFFFF`

- TOPIC
<pre>1784F737589A</pre>

#### packages
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4A9E73A</pre>

#### dependencies
> fillColor=`#FFCC00`

- TOPIC
<pre>1693D4AFAAFA</pre>


================================================
FILE: CHANGELOG.md
================================================
# __2.3.10 (08-jun-2022)__

- updated dependencies
- default GoSDK version is 1.19

# __2.3.9 (04-jul-2021)__

- fix for clean fail for multi-module project if some artifacts
  unresolvable [#90](https://github.com/raydac/mvn-golang/issues/90)
- fix for seldom error "Can't create temp folder" when building modules
  concurrently [#88](https://github.com/raydac/mvn-golang/issues/88)
- default GoSDK version is 1.16.5
- added autodetect for aarch64 [#87](https://github.com/raydac/mvn-golang/issues/87)

# __2.3.8 (22-mar-2021)__

- improved maven archetypes
- default GoSDK version is 1.16.2
- added [Azul3D](https://azul3d.org/) and [Oak](https://github.com/oakmound/oak) build examples
- added `list` mojo wrapping `go list`
- added `mod` property for module aware commands
- go.sum excluded from delete during build by default [#84](https://github.com/raydac/mvn-golang/issues/84)
- minor refactoring

# __2.3.7 (22-feb-2021)__

- refactoring, improved informing about file log state [#83](https://github.com/raydac/mvn-golang/issues/83)
- improved `build` mojo, added support to attach build result as project artifact[#82](https://github.com/raydac/mvn-golang/issues/82)
- default version of GoSDK updated to 1.15.8
- fixed slash processing in go.mod under windows [#80](https://github.com/raydac/mvn-golang/issues/80) (
  thanks [fmazoyer](https://github.com/fmazoyer))

# __2.3.6 (19-dec-2020)__

- improved restoration of `go.mod` and `go.sum` state after build
- refactoring and minor bugfixing
- updated dependencies
- default version of GoSDK updated to 1.15.6

# __2.3.5 (12-sep-2020)__

- fixed bug in go.mod backup restore [#73](https://github.com/raydac/mvn-golang/issues/73)
- default version of GoSDK updated to 1.15.2

# __2.3.4 (05-nov-2019)__

- improved host arch detection [#70](https://github.com/raydac/mvn-golang/issues/70)
- default version of GoSDK updated to 1.13.4
- minor refactoring

# __2.3.3 (30-jul-2019)__

- improved work in parallel mode
- __minimal supported JDK version increased to 1.8__
- added `mod` mojo
- added unified boolean properties `mvn.golang.<MOJO_NAME>.skip` to skip work of selected mojo [#65](https://github.com/raydac/mvn-golang/issues/65)
- text `none` in `resultName` field of `build` mojo disables auto-adding of `-o` command line option
- minor fixes and refactoring
- added parameter `workingDir` to replace automatically choosen working directory during tool execution.
- added support of [Golang modules]() with maven dependencies, added [example](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-maven-module-mix) [#60](https://github.com/raydac/mvn-golang/issues/60)
- default version of GoSDK updated to 1.12.7

# __2.3.2 (24-jun-2019)__

- updated maven archetypes
- fixed `mvn-golang:vet does not have maven dependency resolution` [#59](https://github.com/raydac/mvn-golang/issues/59)
- default version of GoSDK updated to 1.12.6

# __2.3.1 (14-apr-2019)__

- default version of GoSDK updated to 1.12.4
- added parameter `goCache` to provide `GOCACHE` environment variable, the default value is `${project.build.directory}/.goBuildCache`

# __2.3.0 (02-mar-2019)__

- __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](./mvn-golang-examples/mvn-golang-example-maven-repository)__
- __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](https://www.jfrog.com/confluence/display/CLI/JFrog+CLI) in tuned Go SDK environment, [example](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-jfrog-cli).
- added `connectionTimeout` property to provide timeout (milliseconds) for HTTP connections, default 60000 ms
- [#55](https://github.com/raydac/mvn-golang/issues/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 parameter `checkSdkHash`, it checks hash provided in response header `x-goog-hash`
- improved GoSDK loading

# 2.2.0 (13-may-2018)

- added property `mvn.golang.go.version` to define value for `goVersion` configuration parameter, it allows decrease configuration section dramatically
- added `externalPackageFile` (property `mvn.golang.get.packages.file`) option to the `get` 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

# 2.1.8 (29-apr-2018)
- added support of `maven.deploy.skip` and `maven.install.skip` prperties in `install` and `deploy` mojos
- [#48](https://github.com/raydac/mvn-golang/issues/48) improved processing of `install` and `deploy` to be more compatible with standard maven process
- fixed dependency for [termui test project in examples](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-termui)
- added `customScript` section into `get` to execute some custom script over package CVS folder 

# 2.1.7 (18-feb-2018)
- fixed target file extension in maven archetypes [#44](https://github.com/raydac/mvn-golang/issues/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 is `false`
- improved Golang SDK list load [#24](https://github.com/raydac/mvn-golang/issues/24)
- added `args` attribute to the `run` 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

# 2.1.6 (27-aug-2017)
- 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, added `deleteCommonPkg` flag to delete whole common `pkg` 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

# 2.1.5 (03-jul-2017)
- added archetype for multimodule project `mvn-golang-hello-multi`
- added `customCvsOptions` into `get` 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 in `src` folder through `<relativePathToCvsFolder>`, by default the path extracted from package name

# 2.1.4 (24-jun-2017)
- added support of BAZAAR CVS (experimental)
- fixed order of processing of CVS branch, tag and revision in `get` mojo
- added `enforceDeletePackageFiles` flag into `get` mojo to enforce deletion of package sources and compiled version in local repository
- fixed processing of `revision` for CVS

# 2.1.3 (14-apr-2017)
- Improved `go-hello-test` archetype to generate [Intellij Idea Go plugin project structure](https://plugins.jetbrains.com/plugin/5047-go-language-golang-org-support-plugin)
- Added flag `enforceGoPathToEnd` to enforce changing of folder list order in new generated GOPATH
- Added list parameter `ldFlags` for `buildMojo` to define linker flags.
- Added boolean flag `strip` for `buildMojo` to remove symbol table and DWARF from the result file.
- Added parameter `buildMode` for `buildMojo` to define [Go build mode](https://golang.org/cmd/go/#hdr-Description_of_build_modes)

# 2.1.2 (07-nov-2016)
- Added `skip` attribute to skip execution of mojo
- [#10](https://github.com/raydac/mvn-golang/issues/10), Added way to disable providing of $GOBIN through pseudo-path __NONE__
- Changed maven phase for build from `compile` to `package` (to prevent build start before tests)
- Enforced console output for `test` even in non-verbose mode
- Added default packages `./...` for `fmt`,`vet`,`fix` and `test` tasks
- Added `maven.test.failure.ignore` and `test` properties processing into `test` goal, also allowed method regex template after `#` like in surefire

# 2.1.1 (21-aug-2016)
- [#9](https://github.com/raydac/mvn-golang/issues/9), Added attribute `targetArm` to provide $GOARM value
- Added support of proxy server [#8](https://github.com/raydac/mvn-golang/issues/8), added flag `useMavenProxy` to use proxy server defined either through maven settings.xml file or the `proxy` configuration section of the plugin.
- Improved `clean` mojo, added flags to clean Go path folder defined through `goPath` parameter, and added flag to delete whole `storeFolder`
- 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` and `errLogFile` 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

# 2.1.0 (28-may-2016)
- Output of environment variables has been moved under the `verbose` flag
- __Added `mvninstall` goal which saves artifact into local maven repository during `install` phase,[#2 request](https://github.com/raydac/mvn-golang/issues/2)__
- __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"](https://github.com/raydac/mvn-golang/issues/3)__

# 2.0.0 (17-apr-2016)
- __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](https://github.com/raydac/mvn-golang/blob/master/mvn-golang-examples/mvn-golang-example-helloworld/pom.xml)__
- 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`

# 1.1.0 (05-apr-2016)
- Added [test example for `gomobile` for Android ARM 7](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-gomobile)
- Added `<findExecInGoPath>`, it allows to find golang tool in $GOPATH instead of $GOROOT (by default `false`)
- Added `<echo>` and `<echoWarn>` to print echo messages into maven log
- Added `<exec>` parameter to define gotool name (by default `go`)
- Added `<execSubpath>` parameter to provide sub-path in SDK root to find golang tool (by default `bin`)
- Renamed parameter `<name>` to `<resultName>` and `<target>` to `<resultFolder>` for `build`
- 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

# 1.0.0 (26-mar-2016)
- initial version


================================================
FILE: LICENSE
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "{}"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright {yyyy} {name of copyright owner}

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: README.md
================================================
![mvn-golang](assets/git_banner.png)

> [!WARNING]  
> I have archived this project because Golang has changed significantly since 2016, making maintenance too complex and costly. I am sure that Go's build process will continue to evolve, so I have started a lightweight alternative: [gosdk-wrapper-maven-plugin](https://github.com/raydac/gosdk-wrapper-maven-plugin). This new plugin is designed to provide a highly flexible mechanism that remains compatible with future changes and focuses solely on downloading GoSDK and invoking its tools. 

[![License Apache 2.0](https://img.shields.io/badge/license-Apache%20License%202.0-green.svg)](http://www.apache.org/licenses/LICENSE-2.0)
[![Java 8.0+](https://img.shields.io/badge/java-8.0%2b-green.svg)](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
[![Maven central](https://maven-badges.herokuapp.com/maven-central/com.igormaznitsa/mvn-golang-wrapper/badge.svg)](http://search.maven.org/#artifactdetails|com.igormaznitsa|mvn-golang-wrapper|2.3.10|jar)
[![Maven 3.0.3+](https://img.shields.io/badge/maven-3.0.3%2b-green.svg)](https://maven.apache.org/)
[![PayPal donation](https://img.shields.io/badge/donation-PayPal-cyan.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=AHWJHJFBAWGL2)
[![YooMoney donation](https://img.shields.io/badge/donation-Yoo.money-blue.svg)](https://yoomoney.ru/to/41001158080699)

# Changelog

__ARCHIVED (03-mar-2025)__

__2.3.10 (08-jun-2022)__

- updated dependencies
- default GoSDK version is 1.19

__2.3.9 (04-jul-2021)__

- fix for clean fail for multi-module project if some artifacts
  unresolvable [#90](https://github.com/raydac/mvn-golang/issues/90)
- fix for seldom error "Can't create temp folder" when building modules
  concurrently [#88](https://github.com/raydac/mvn-golang/issues/88)
- default GoSDK version is 1.16.5
- added autodetect for aarch64 [#87](https://github.com/raydac/mvn-golang/issues/87)

[full changelog](https://github.com/raydac/mvn-golang/blob/master/CHANGELOG.md)

# GO start!
__Taste Go in just two commands!__
```
mvn archetype:generate -B -DarchetypeGroupId=com.igormaznitsa -DarchetypeArtifactId=mvn-golang-hello -DarchetypeVersion=2.3.10 -DgroupId=com.go.test -DartifactId=gohello -Dversion=1.0-SNAPSHOT
mvn -f ./gohello/pom.xml package
```
The First command in th snippet above generates a maven project with some test files and the second command builds the project.
[Also you can take a look at the example `Hello world` project using the plugin](https://github.com/raydac/mvn-golang-example)

If you want to generate a multi-module project, then you can use such snippet
```
mvn archetype:generate -B -DarchetypeGroupId=com.igormaznitsa -DarchetypeArtifactId=mvn-golang-hello-multi -DarchetypeVersion=2.3.10 -DgroupId=com.go.test -DartifactId=gohello-multi -Dversion=1.0-SNAPSHOT
```

# Introduction
The Plug-in just wraps Golang tool-chain and allows to use strong maven based infrastructure to build Golang projects. It also can automatically download needed Golang SDK from the main server and tune needed version of packets for their branch, tag or revisions.
Because a Golang project in the case is formed as just maven project, it is possible to work with it in any Java IDE which supports Maven.
![mvn-golang-wrapper](https://raw.githubusercontent.com/raydac/mvn-golang/master/assets/doc_common.png)

# How it works
On start the plug-in makes below steps:
- analyzing the current platform to generate needed distributive name (it can be defined directly through properties)
- check that needed Golang SDK is already cached, if it is not cached then needed SDK will be loaded and unpacked from the main Golang SDK site
- execute needed go lang tool `bin/go` with defined command, the source folder will be set as current folder
- all folders of the project which are visible for maven (source folder, test folder, resource folders and test resource folders) are archived in ZIP file and the file is saved as a maven artifact into local maven repository (or remote maven repository). The generated ZIP artifact also contains information about dependencies which can be recognized by the plugin. In opposite to Java, Golang produces platform-dependent artifacts so that it doesn't make sense to share them through maven central but only resources and sources.  

# How to build
Because it is maven plugin, to build the plugin just use
```
mvn clean install -Pplugin
```
To save time, examples excluded from the main build process and activated through special profile
```
mvn clean install -Pexamples
```
# Important note about automatic Golang SDK load
If you have some problems with certificates during Golang SDK load, then just add `<disableSSLcheck>true</disableSSLcheck>` into plugin configuration to ignore check of certificates (also you can use property 'mvn.golang.disable.ssl.check'). Also it allows property `mvn.golang.disable.ssl.check` to disable SSL certificate check during network actions.

# How to add the plugin into maven project?
Below described build section for simple golang project which keeps source in `src` forlder and result should be placed into `bin` folder. Because it is golang project and mvn-golang plugin provides its own lifecycle, packaging for the project should be `<packaging>mvn-golang</packaging>`

```xml
<build>
    <!--Changing standard Maven project source structure to make it Go compatible-->
    <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
    <directory>${basedir}${file.separator}bin</directory>

    <plugins>
      <plugin>
        <groupId>com.igormaznitsa</groupId>
        <artifactId>mvn-golang-wrapper</artifactId>
        <version>2.3.10</version>
        <extensions>true</extensions>
        <executions>
          <execution>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <packages>
                <package>main.go</package>
              </packages>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
</build>
```
# Work with dependencies

## Dependencies from Maven repository (since 2.3.0)

Plugin supports work with maven repository and can install and load dependencies from there. Artifacts generated by the plugin saved in maven respository as zip archives and `mvn-golang` must be used as `type`.
```xml
<dependency>
  <groupId>com.igormaznitsa</groupId>
  <artifactId>mvn-go-test-lib</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <type>mvn-golang</type>
</dependency>

```
Plugin makes some trick in work with Maven Golang dependencies, it downloads Golang artifacts from repository and unpack them into temporary folder, then all unpacked dependencies are added to `$GOPATH`. You can take a look at [example project which has two level dependency hierarchy](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-maven-repository).
Dependency mechanism is enabled by default for all goals which need it, but it can be off with `<scanDependencies>false</scanDependencies>`. If there is any conflicts or errors in Golang for Go modules then you can turn off Go modules with
```xml
<env>
  <GO111MODULE>off</GO111MODULE>
</env>
```
__Keep in mind that it is impossible use links to Github and Bitbucket libraries through `<dependencies>` maven mechanism, links to such dependencies should be processed by standard `GET` command and information about it you can find below.__

## Support of Module mode

Since 2.3.3 version, plug-in supports Golang module mode and allows to mix modules and work with golang maven dependencies, [I have made some sample to show the possibility](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-maven-module-mix). By default support of module mode is turned off, but it can be turned on through `<moduleMode>true</moduleMode>` or property `mvn.golang.module.mode`.

## Wrapped GET command

Plugin provides wrapper for Golang GET command and you can just define some external file contains package info through
system property `mvn.golang.get.packages.file`, the file will be loaded and parsed and its definitions will be added
into package dependencies. Format of the file is very easy. Each package described on a line in
format `package: <PACKAGE_NAME>[,branch: <BRANCH>][,tag: <TAG>][,revision: <REVISION>]` also it supports single line
comments through `//` and directive `#include <FILE_NAME>` to load packages from some external file. Also it supports
interpolation of properties defined in format `${property.name}` and provide access to maven, system and environment
variables.   
Example:

```
// example package file
#include "${basedir}/external/file.txt"
package:github.com/maruel/panicparse,tag:v1.0.2 // added because latest changes in panicparse is incompatible with termui
package:github.com/gizak/termui,branch:v2
```

This mechanism just makes work with dependencies easier and if you want to provide some specific flags and scripts to
process CVS folders you have to define configuration parameters in pom.xml, packages defined in the external file and in
the pom.xml will be mixed.

The Plug-in doesn't work with standard maven dependencies and they must be defined through task of the plugin, the
example of easiest case of dependencies is
```xml
<execution>
   <id>default-get</id>
   <configuration>
     <packages>
       <package>github.com/gizak/termui</package>
       <package>github.com/kataras/iris</package>
     </packages>
   </configuration>
</execution>
```
it will be executed as `bin/go get github.com/gizak/termui github.com/kataras/iris`

If you want work with specific branch then use below snipet
```xml
<execution>
  <id>default-get</id>
  <configuration>
    <buildFlags>
    <flag>-u</flag>
    </buildFlags>
    <packages>
      <package>github.com/gizak/termui</package>
    </packages>
    <branch>v2</branch>
  </configuration>
</execution>
```
if you want to have several dependencies with different tag and branch then take a look at the snipet below
```xml
<execution>
  <id>dependency1</id>
  <goals>
    <goal>get</goal>
  </goals>
  <configuration>
    <packages>
      <package>github.com/some/framework</package>
    </packages>
    <tag>1.0.1</tag>
  </configuration>
</execution>
<execution>
  <id>dependency2</id>
  <goals>
    <goal>get</goal>
  </goals>
  <configuration>
    <packages>
      <package>github.com/some/another</package>
    </packages>
    <branch>v2</branch>
  </configuration>
</execution>
```
sometime GIT can produce cache errors and in the case you can try to turn on auto-fix of such errors with `<autofixGitCache>true</autofixGitCache>` flag.   

# How to save generated artifact in repository?
By default, artifact will be installed into maven repository automatically during `install` phase if you want to turn off artifact installation then you can use standard maven properties
```xml
<properties>
    <maven.install.skip>true</maven.install.skip>
    <maven.deploy.skip>true</maven.deploy.skip>
</properties>
```
or disable plugin mojo execution
```xml
<execution>
  <id>default-mvninstall</id>
  <phase>none</phase>
</execution>
```

# Configuration

About configuration parameters, you can read at [the wiki page](https://github.com/raydac/mvn-golang/wiki/PluginConfigParameters).

# Testing
The Wrapper just wraps calls to Go tool and recognize the exit code, if call of `go test` is non-zero then build will be failed, it doesn't make any analysing of test reports!   
Sometime it is useful to use [GoConvey](https://github.com/smartystreets/goconvey) tool for testing, in the case use snippet below to add dependency and make testing verbose
```xml
<execution>
  <id>default-get</id>
  <configuration>
    <buildFlags>
      <flag>-u</flag>
    </buildFlags>
    <packages>
      <package>github.com/smartystreets/goconvey</package>
    </packages>
  </configuration>
</execution>
<execution>
  <id>default-test</id>
  <configuration>
    <buildFlags>
      <flag>-v</flag>
    </buildFlags>
  </configuration>
</execution>                    
```

# Some Examples
- __[Protobuf use example](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-protobuf)__
- __[Maven repository dependencies example](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-maven-repository)__
 - __[Maven repository dependencies together with modules example](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-maven-module-mix)__
 - __[Versioning of dependencies](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/test-git-cvs)__
 - __["Hello world!" console application.](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-helloworld)__
 - __[Console application with embedded text resource prepared with the `go-bindata` utility.](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-genbindata)__
 - __[Console application with `termui` library (it needs installation of some native libraries!).](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-termui)__
 - __[NES emulator.](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-nes)__
 - __[ANTLR usage.](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-antlr)__
 - __[Multimodule project.](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-multimodule)__
 - __[Preprocessing.](https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-example-preprocessing)__


================================================
FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.igormaznitsa</groupId>
    <artifactId>mvn-golang-examples</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <artifactId>mvn-golang-example-azul3d-mandelbrot</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>mvn-golang</packaging>

  <name>Azul3d mandelbrot example</name>
  <description>Example of Azul3d mandelbrot project build.</description>

  <build>
    <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
    <directory>${basedir}${file.separator}bin</directory>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.2.0</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>package</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}</outputDirectory>
              <resources>
                <resource>
                  <directory>${project.basedir}${file.separator}resources</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.igormaznitsa</groupId>
        <artifactId>mvn-golang-wrapper</artifactId>
        <version>${main-project-version}</version>
        <extensions>true</extensions>
        <configuration>
          <goVersion>${go.sdk.version}</goVersion>
          <moduleMode>true</moduleMode>
          <mod>mod</mod>
        </configuration>
        <executions>
          <execution>
            <id>default-fix</id>
            <phase>none</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/resources/azul3d_mandel/mandel.frag
================================================
#version 120

varying vec2 tc0;

uniform sampler2D Texture0;

void main()
{
	gl_FragColor = texture2D(Texture0, tc0);
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/resources/azul3d_mandel/mandel.vert
================================================
#version 120

attribute vec3 Vertex;
attribute vec2 TexCoord0;

varying vec2 tc0;

void main()
{
	tc0 = TexCoord0;
	gl_Position = vec4(Vertex, 1.0);
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/azul3d_mandel.go
================================================
// Copyright 2014 The Azul3D Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Example - Generates a mandelbrot on the CPU and displays it with the GPU.
package main

import (
	"image"
	"image/color"
	"image/png"
	"log"
	"math"
	"os"

	"azul3d.org/engine/gfx"
	"azul3d.org/engine/gfx/gfxutil"
	"azul3d.org/engine/gfx/window"
	"azul3d.org/engine/keyboard"
	"azul3d.org/engine/mouse"

	"azul3d.org/examples/abs"
)

// mandelGen is a mandelbrot texture generator.
type mandelGen struct {
	// The channel of generated mandelbrot images. Only the last one received
	// over this channel is valid.
	Image chan image.Image

	x, y       float64         // Center, e.g. x=-0.5, y=0.
	zoom       float64         // Zoom, e.g. 1.0.
	resolution int             // Resolution divisor, e.g. 8.
	maxIter    int             // Maximum number of generator iterations, e.g. 1000.
	needUpdate bool            // Whether or not we should generate an updated image.
	bounds     image.Rectangle // The framebuffer's bounding rectangle.
}

// handle is called to handle a window event.
func (m *mandelGen) handle(e window.Event) {
	switch ev := e.(type) {
	case window.FramebufferResized:
		m.bounds = image.Rect(0, 0, ev.Width, ev.Height)

	case mouse.ButtonEvent:
		if ev.Button == mouse.Right && ev.State == mouse.Down {
			m.resolution += 2
			if m.resolution > 8 {
				m.resolution = 4
			}
			m.needUpdate = true
		}

	case mouse.Scrolled:
		m.zoom += ev.Y * 0.06 * math.Abs(m.zoom)
		m.needUpdate = true

	case window.CursorMoved:
		if ev.Delta {
			m.x += (ev.X / 900.0) / math.Abs(m.zoom)
			m.y += (ev.Y / 900.0) / math.Abs(m.zoom)
			m.needUpdate = true
		}
	}
}

// generate is a small helper function to call Mandelbrot and insert a small
// red square into the image. It then submits the image over the channel.
func (m *mandelGen) generate() {
	width := m.bounds.Dx() / m.resolution
	height := m.bounds.Dy() / m.resolution
	mbrot := Mandelbrot(width, height, m.maxIter, m.zoom, m.x, m.y)

	// Insert a small red square in the top-left of the image for ensuring
	// proper orientation exists in textures (this is just for testing).
	for x := 0; x < 5; x++ {
		for y := 0; y < 5; y++ {
			mbrot.Set(x, y, color.RGBA{255, 0, 0, 255})
		}
	}
	m.Image <- mbrot
}

// run is the mandelbrot generation goroutine. It listens for window events and
// responds by generating new mandelbrot images if needed.
func (m *mandelGen) run(w window.Window) {
	// generate the initial mandelbrot image right now.
	m.generate()

	// Have the window notify us of specific events.
	evMask := window.MouseEvents
	evMask |= window.MouseScrolledEvents
	evMask |= window.FramebufferResizedEvents
	evMask |= window.CursorMovedEvents
	event := make(chan window.Event, 256)
	w.Notify(event, evMask)

	// Wait for window events.
	for {
		// Wait for one window event now.
		m.handle(<-event)

		// Handle as many window events as possible now. We do this because
		// generating mandelbrot images on the CPU is expensive, so we only
		// want to do it for the very last event.
		window.Poll(event, m.handle)

		// If we need to update, generate the next mandelbrot image.
		if m.needUpdate {
			m.needUpdate = false
			m.generate()
		}
	}
}

// newMandelGen returns a new mandelbrot generator.
func newMandelGen(w window.Window, d gfx.Device) *mandelGen {
	m := &mandelGen{
		Image:      make(chan image.Image),
		x:          -.5,
		y:          0,
		zoom:       1,
		resolution: 8,
		maxIter:    1000,
		bounds:     d.Bounds(),
	}

	// Spawn the mandelbrot generation goroutine.
	go m.run(w)
	return m
}

// gfxLoop is responsible for drawing things to the window.
func gfxLoop(w window.Window, d gfx.Device) {
	// Create a new mandelbrot generator.
	gen := newMandelGen(w, d)

	// Read the GLSL shaders from disk.
	shader, err := gfxutil.OpenShader(abs.Path("azul3d_mandel/mandel"))
	if err != nil {
		log.Fatal(err)
	}

	// Create a card mesh.
	cardMesh := gfx.NewMesh()
	cardMesh.Vertices = []gfx.Vec3{
		// Left triangle.
		{-1, 1, 0},  // Left-Top
		{-1, -1, 0}, // Left-Bottom
		{1, -1, 0},  // Right-Bottom

		// Right triangle.
		{-1, 1, 0}, // Left-Top
		{1, -1, 0}, // Right-Bottom
		{1, 1, 0},  // Right-Top
	}
	cardMesh.TexCoords = []gfx.TexCoordSet{
		{
			Slice: []gfx.TexCoord{
				// Left triangle.
				{0, 0},
				{0, 1},
				{1, 1},

				// Right triangle.
				{0, 0},
				{1, 1},
				{1, 0},
			},
		},
	}

	// Create the texture that will display the image. We could use DXT texture
	// compression normally here, but because we want to download the texture
	// back to the CPU we must not.
	tex := gfx.NewTexture()
	tex.MinFilter = gfx.Nearest
	tex.MagFilter = gfx.Nearest
	tex.KeepDataOnLoad = true
	tex.Source = <-gen.Image // Wait for the first image to be generated.

	// Create a card object.
	card := gfx.NewObject()
	card.State = gfx.NewState()
	card.Shader = shader
	card.Textures = []*gfx.Texture{tex}
	card.Meshes = []*gfx.Mesh{cardMesh}

	// Get notified of mouse events and keyboard typing events.
	events := make(chan window.Event, 1)
	w.Notify(events, window.MouseEvents|window.KeyboardTypedEvents)

	for {
		// Handle each pending event.
		window.Poll(events, func(e window.Event) {
			switch ev := e.(type) {
			case mouse.ButtonEvent:
				// Toggle mouse grab when the user left clicks.
				if ev.Button == mouse.Left && ev.State == mouse.Down {
					props := w.Props()
					props.SetCursorGrabbed(!props.CursorGrabbed())
					w.Request(props)
				}

			case keyboard.Typed:
				if ev.S == "s" || ev.S == "S" {
					log.Println("Writing texture to file...")

					// Download the texture image from the graphics hardware
					// and save it to disk.
					complete := make(chan image.Image, 1)

					// Begin the texture download.
					card.Textures[0].Download(card.Textures[0].Bounds, complete)

					// The download can occur in any goroutine!
					go func() {
						img := <-complete // Wait for download to complete.
						if img == nil {
							log.Println("Failed to download texture.")
						} else {
							// Save to png.
							f, err := os.Create("mandel.png")
							if err != nil {
								log.Fatal(err)
							}
							err = png.Encode(f, img)
							if err != nil {
								log.Fatal(err)
							}
							log.Println("Wrote texture to mandel.png")
						}
					}()
				}
			}
		})

		// If the mandelbrot generator has a new image for us, update the
		// texture.
		select {
		case img := <-gen.Image:
			card.Textures[0].Loaded = false
			card.Textures[0].Source = img
			card.Textures[0].Bounds = img.Bounds()
		default:
			break
		}

		// Clear color and depth buffers.
		d.Clear(d.Bounds(), gfx.Color{1, 1, 1, 1})
		d.ClearDepth(d.Bounds(), 1.0)

		// Draw the card to the screen.
		d.Draw(d.Bounds(), card, nil)

		// Render the whole frame.
		d.Render()
	}
}

func main() {
	window.Run(gfxLoop, nil)
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/go.mod
================================================
module github.com/mycodesmells/golang-examples/modules

        go 1.16

        require github.com/azul3d/engine v0.0.0-20180624221640-25c8eab2d474


================================================
FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/go.sum
================================================
azul3d.org/engine v0.0.0-20180624221640-25c8eab2d474 h1:HrLWoqa15YkXa5jtwSRy7mEmmO9ZOPEFe0uMNmH+iyI=
azul3d.org/engine v0.0.0-20180624221640-25c8eab2d474/go.mod h1:3y1cwzJTKvXXop+EAg+AUVfNm3bfHf3djeX+l1UBuUE=
azul3d.org/engine v0.0.0-20211024043305-793ea6c2839d h1:oLr8Nu7iEKm8OKfHNznBnBj8Z/SKBa20yl7JKqJn4W8=
azul3d.org/engine v0.0.0-20211024043305-793ea6c2839d/go.mod h1:3y1cwzJTKvXXop+EAg+AUVfNm3bfHf3djeX+l1UBuUE=
azul3d.org/examples v0.0.0-20170219024453-39fa3be83226 h1:xgmG3cM8LmSAfPiQhvOZp5JNqOgPr+Kb6wF5o1H5RHQ=
azul3d.org/examples v0.0.0-20170219024453-39fa3be83226/go.mod h1:ggGp3QbtOy/bIBpAnqnmPMF3tl+rnGb3BlFA663bdnI=
github.com/azul3d/engine v0.0.0-20180624221640-25c8eab2d474/go.mod h1:XJaK+eQA5QZRq/Y8jYtJnUGhqAfHxG3z2PgwiHvE2BA=
github.com/go-gl/glfw v0.0.0-20210311203641-62640a716d48 h1:2Ql7UigDMdlF+Ii12kdox7RKw3J1+uGhXn9FyYbbd20=
github.com/go-gl/glfw v0.0.0-20210311203641-62640a716d48/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw v0.0.0-20210410170116-ea3d685f79fb h1:yMlfD+jmoG8wwBVLaFwtcgNBY207iWsYwtNC9u+T2yk=
github.com/go-gl/glfw v0.0.0-20210410170116-ea3d685f79fb/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw v0.0.0-20210715014612-ab6297867137 h1:2aB3ABFHtLwpLF3EIMAzv757PfpJ0o8auPE4WW9u5Cc=
github.com/go-gl/glfw v0.0.0-20210715014612-ab6297867137/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw v0.0.0-20211024062804-40e447a793be h1:oYR4JFQpVEKyqRCJB8wsdDLUJ2i+MrEFSGiKQyueTtY=
github.com/go-gl/glfw v0.0.0-20211024062804-40e447a793be/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw v0.0.0-20211204153444-caad923f49f4 h1:X5mrMrb9hBwzHfg17GAbXv5nMMr9o5mxPWAndv3DPZI=
github.com/go-gl/glfw v0.0.0-20211204153444-caad923f49f4/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw v0.0.0-20211213063430-748e38ca8aec h1:um18JldLG6QwC9tj6mSfQnb+kor5aezfPPtq1GmHek0=
github.com/go-gl/glfw v0.0.0-20211213063430-748e38ca8aec/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw v0.0.0-20220712193148-63cf1f4ef61f h1:z8fT51Xm9eZTbm7yNueifTyKssA6f4vQIhxvXlGG0ds=
github.com/go-gl/glfw v0.0.0-20220712193148-63cf1f4ef61f/go.mod h1:wyvWpaEu9B/VQiV1jsPs7Mha9I7yto/HqIBw197ZAzk=
github.com/go-gl/glfw v0.0.0-20221017161538-93cebf72946b h1:2hdUMUOJuLQkhaPAwoyOeSzoaBydYEkXkBEuqDuDBfg=
github.com/go-gl/glfw v0.0.0-20221017161538-93cebf72946b/go.mod h1:wyvWpaEu9B/VQiV1jsPs7Mha9I7yto/HqIBw197ZAzk=
github.com/go-gl/glfw v0.0.0-20240118000515-a250818d05e3 h1:NwSSG7RUXNhytGezuEEAwP64ffNjUxgKz/xEq2YJCFA=
github.com/go-gl/glfw v0.0.0-20240118000515-a250818d05e3/go.mod h1:wyvWpaEu9B/VQiV1jsPs7Mha9I7yto/HqIBw197ZAzk=


================================================
FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/mandelbrot.go
================================================
// Copyright 2014 The Azul3D Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

import (
	"image"
	"image/color"
	"math"
)

// Calculates and returns a mandelbrot image.
func Mandelbrot(w, h, maxIterations int, zoom, posX, posY float64) *image.RGBA {
	var (
		img                        = image.NewRGBA(image.Rect(0, 0, w, h))
		pr, pi                     float64
		newRe, newIm, oldRe, oldIm float64
		fw, fh                     = float64(w), float64(h)
	)

	for y := 0; y < h; y++ {
		for x := 0; x < w; x++ {
			fx := float64(x)
			fy := float64(y)
			pr = 1.5*(fx-fw/2)/(0.5*zoom*fw) + posX
			pi = (fy-fh/2)/(0.5*zoom*fh) + posY
			newRe = 0
			newIm = 0
			oldRe = 0
			oldIm = 0
			var i int
			for i = 0; i < maxIterations; i++ {
				oldRe = newRe
				oldIm = newIm
				newRe = oldRe*oldRe - oldIm*oldIm + pr
				newIm = 2*oldRe*oldIm + pi
				if (newRe*newRe + newIm*newIm) > 4 {
					break
				}
			}

			if i == maxIterations {
				img.Set(x, y, color.Black)
			} else {
				z := math.Sqrt(newRe*newRe + newIm*newIm)
				brightness := uint8(256.0 * math.Log2(1.75+float64(i)-math.Log2(math.Log2(z))) / math.Log2(float64(maxIterations)))
				img.Set(x, y, color.RGBA{brightness, brightness, 255, 255})
			}
		}
	}
	return img
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-clui/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  
  <parent>
    <groupId>com.igormaznitsa</groupId>
    <artifactId>mvn-golang-examples</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <artifactId>mvn-golang-example-clui</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>mvn-golang</packaging>

  <name>CLUI example</name>
  <description>Example of usage CLUI library for GUI (https://github.com/VladimirMarkelov/clui).</description>
  
  <build>
    <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
    <directory>${basedir}${file.separator}bin</directory>
    <resources>
      <resource>
        <directory>${basedir}${file.separator}res</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.0.2</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>validate</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}${file.separator}res</directory>
                  <filtering>false</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.igormaznitsa</groupId>
        <artifactId>mvn-golang-wrapper</artifactId>
        <version>${main-project-version}</version>
        <extensions>true</extensions>
        <configuration>
          <goVersion>${go.sdk.version}</goVersion>
          <env>
            <GO111MODULE>auto</GO111MODULE>
          </env>
        </configuration>
        <executions>
          <execution>
            <id>get-dependencies</id>
            <goals>
              <goal>get</goal>
            </goals>
            <configuration>
              <packages>
                <package>github.com/VladimirMarkelov/clui</package>
              </packages>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-clui/res/themes/acsii.theme
================================================
//----------------- Theme properties -----------------
title=ASCII
author=Vladimir Markelov
version=1.0 (2015-11-02)
parent=default


//----------------- Colors -----------------
// all are defaults
ProgressBack       = black bold
ProgressText       = white
ProgressActiveBack = black bold
ProgressActiveText = white

//----------------- Objects -----------------
SingleBorder=-|++++
DoubleBorder==|++++
Edit=<>V
ScrollBar=|O^V<>
ViewButtons=^_X[]
CheckBox=[] X?
Radio=() *
ProgressBar='| '



================================================
FILE: mvn-golang-examples/mvn-golang-example-clui/res/themes/turbovision.theme
================================================
//----------------- Theme properties -----------------
title=TurboVision
author=Vladimir Markelov
version=1.0 (2016-01-04)
parent=default


//----------------- Colors -----------------

// View colors - internal area and border
ViewBack = white
ViewText = white bold

// general colors
Back         = white
Text         = black
DisabledText = white
DisabledBack = black bold

// editable & listbox-like controls (interactive ones)
EditBack       = blue
EditText       = yellow
EditActiveBack = blue bold
EditActiveText = yellow bold
SelectionText  = yellow bold
SelectionBack  = cyan bold

// scroll control
ScrollText = white bold
ScrollBack = white
ThumbText  = white bold
ThumbBack  = white

// window-like controls (checkbox, radiogroup...)
ControlText         = black
ControlBack         = cyan bold
ControlActiveBack   = cyan bold
ControlActiveText   = yellow bold
ControlDisabledBack = cyan bold
ControlDisabledText = black bold
ControlShadow       = black

// progressbar control
ProgressBack       = blue
ProgressText       = yellow
ProgressActiveBack = blue bold
ProgressActiveText = yellow bold

// button control
ButtonBack=green bold
ButtonText=black
ButtonActiveBack=green bold
ButtonActiveText=white bold
ButtonShadowBack=black
ButtonDisabledText=black bold
ButtonDisabledBack=white

// bar chart control
BarChartBack=black
BarChartText=white

// spark chart
SparkChartBack=black
SparkChartText=white
SparkChartBarBack=black
SparkChartBarText=cyan
SparkChartMaxBack=black
SparkChartMaxText=cyan bold

// table view
TableText=white
TableBack=black
TableSelectedText=white
TableSelectedBack=black bold
TableActiveCellText=white bold
TableActiveCellBack=black bold
TableLineText=white
TableHeaderText=white
TableHeaderBack=black

//----------------- Objects -----------------
SingleBorder=─│┌┐└┘
DoubleBorder=═║╔╗╚╝
Edit=←→V
ScrollBar=░■▲▼◄►
ViewButtons=^↓○[]
CheckBox=[] X?
Radio=() *
ProgressBar=░▒
BarChart=█─│┌┐└┘┬┴├┤┼
SparkChart=█
TableView=─│┼▼▲



================================================
FILE: mvn-golang-examples/mvn-golang-example-clui/src/main.go
================================================
package main

import (
	ui "github.com/VladimirMarkelov/clui"
)

func main() {
	ui.InitLibrary()
	defer ui.DeinitLibrary()

	view := ui.AddWindow(0, 0, 10, 7, "Hello World!")
	view.SetPack(ui.Vertical)

	frmResize := ui.CreateFrame(view, 8, 6, ui.BorderNone, ui.Fixed)
	frmResize.SetTitle("FrameTop")
	frmResize.SetPack(ui.Horizontal)
	btn1 := ui.CreateButton(frmResize, 8, 5, "Button 1", 1)
	btn2 := ui.CreateButton(frmResize, 8, 5, "Button 2", 1)
	btn3 := ui.CreateButton(frmResize, 8, 5, "Button 3", 1)

	frmBtns := ui.CreateFrame(view, 8, 5, ui.BorderNone, ui.Fixed)
	frmBtns.SetPack(ui.Horizontal)
	frmBtns.SetTitle("FrameBottom")

	btnHide1 := ui.CreateButton(frmBtns, 8, 4, "Hide 1", 1)
	btnHide1.OnClick(func(ev ui.Event) {
		if btn1.Visible() {
			btnHide1.SetTitle("Show 1")
			ui.ActivateControl(view, btn1)
			btn1.SetVisible(false)
		} else {
			btnHide1.SetTitle("Hide 1")
			btn1.SetVisible(true)
		}
	})
	btnHide2 := ui.CreateButton(frmBtns, 8, 4, "Hide 2", 1)
	btnHide2.OnClick(func(ev ui.Event) {
		if btn2.Visible() {
			btnHide2.SetTitle("Show 2")
			ui.ActivateControl(view, btn2)
			btn2.SetVisible(false)
		} else {
			btnHide2.SetTitle("Hide 2")
			btn2.SetVisible(true)
		}
	})
	btnHide3 := ui.CreateButton(frmBtns, 8, 4, "Hide 3", 1)
	btnHide3.OnClick(func(ev ui.Event) {
		if btn3.Visible() {
			btnHide3.SetTitle("Show 3")
			ui.ActivateControl(view, btn3)
			btn3.SetVisible(false)
		} else {
			btnHide3.SetTitle("Hide 3")
			btn3.SetVisible(true)
		}
	})

	btnQuit := ui.CreateButton(frmBtns, 8, 4, "Quit", 1)
	btnQuit.OnClick(func(ev ui.Event) {
		go ui.Stop()
	})

	ui.MainLoop()
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-fyne/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.igormaznitsa</groupId>
    <artifactId>mvn-golang-examples</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <artifactId>mvn-golang-example-fyne</artifactId>
  <packaging>mvn-golang</packaging>

  <name>TermUI example</name>
  <description>It builds a sample from https://github.com/fyne-io/fyne</description>

  <properties>
    <mvn.golang.go.version>${go.sdk.version}</mvn.golang.go.version>
  </properties>

  <build>
    <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
    <directory>${basedir}${file.separator}bin</directory>
    <plugins>
      <plugin>
        <groupId>com.igormaznitsa</groupId>
        <artifactId>mvn-golang-wrapper</artifactId>
        <version>${main-project-version}</version>
        <extensions>true</extensions>
        <configuration>
          <moduleMode>true</moduleMode>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-fyne/src/go.mod
================================================
module github.com/mycodesmells/golang-examples/fyne

go 1.20

require fyne.io/fyne/v2 v2.5.1

require (
	fyne.io/systray v1.11.0 // indirect
	github.com/BurntSushi/toml v1.4.0 // indirect
	github.com/davecgh/go-spew v1.1.1 // indirect
	github.com/fredbi/uri v1.1.0 // indirect
	github.com/fsnotify/fsnotify v1.7.0 // indirect
	github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe // indirect
	github.com/fyne-io/glfw-js v0.0.0-20240101223322-6e1efdc71b7a // indirect
	github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 // indirect
	github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect
	github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a // indirect
	github.com/go-text/render v0.1.1-0.20240418202334-dd62631dae9b // indirect
	github.com/go-text/typesetting v0.1.0 // indirect
	github.com/godbus/dbus/v5 v5.1.0 // indirect
	github.com/gopherjs/gopherjs v1.17.2 // indirect
	github.com/jeandeaual/go-locale v0.0.0-20240223122105-ce5225dcaa49 // indirect
	github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e // indirect
	github.com/nicksnyder/go-i18n/v2 v2.4.0 // indirect
	github.com/pmezard/go-difflib v1.0.0 // indirect
	github.com/rymdport/portal v0.2.6 // indirect
	github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c // indirect
	github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect
	github.com/stretchr/testify v1.8.4 // indirect
	github.com/yuin/goldmark v1.7.1 // indirect
	golang.org/x/image v0.18.0 // indirect
	golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a // indirect
	golang.org/x/net v0.25.0 // indirect
	golang.org/x/sys v0.20.0 // indirect
	golang.org/x/text v0.16.0 // indirect
	gopkg.in/yaml.v3 v3.0.1 // indirect
)


================================================
FILE: mvn-golang-examples/mvn-golang-example-fyne/src/go.sum
================================================
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
fyne.io/fyne/v2 v2.5.1 h1:jd2mhQz0ViosZjhgR5l2bdCbc5HFqkYnTzEXX8UOC7I=
fyne.io/fyne/v2 v2.5.1/go.mod h1:NdxEG8L7EVWo06/cYbXW11uA0X7UG8Q8j5CLebvTZi8=
fyne.io/systray v1.11.0 h1:D9HISlxSkx+jHSniMBR6fCFOUjk1x/OOOJLa9lJYAKg=
fyne.io/systray v1.11.0/go.mod h1:RVwqP9nYMo7h5zViCBHri2FgjXF7H2cub7MAq4NSoLs=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fredbi/uri v1.1.0 h1:OqLpTXtyRg9ABReqvDGdJPqZUxs8cyBDOMXBbskCaB8=
github.com/fredbi/uri v1.1.0/go.mod h1:aYTUoAXBOq7BLfVJ8GnKmfcuURosB1xyHDIfWeC/iW4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe h1:A/wiwvQ0CAjPkuJytaD+SsXkPU0asQ+guQEIg1BJGX4=
github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe/go.mod h1:d4clgH0/GrRwWjRzJJQXxT/h1TyuNSfF/X64zb/3Ggg=
github.com/fyne-io/glfw-js v0.0.0-20240101223322-6e1efdc71b7a h1:ybgRdYvAHTn93HW79bLiBiJwVL4jVeyGQRZMgImoeWs=
github.com/fyne-io/glfw-js v0.0.0-20240101223322-6e1efdc71b7a/go.mod h1:gsGA2dotD4v0SR6PmPCYvS9JuOeMwAtmfvDE7mbYXMY=
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 h1:hnLq+55b7Zh7/2IRzWCpiTcAvjv/P8ERF+N7+xXbZhk=
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2/go.mod h1:eO7W361vmlPOrykIg+Rsh1SZ3tQBaOsfzZhsIOb/Lm0=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 h1:zDw5v7qm4yH7N8C8uWd+8Ii9rROdgWxQuGoJ9WDXxfk=
github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a h1:vxnBhFDDT+xzxf1jTJKMKZw3H0swfWk9RpWbBbDK5+0=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-text/render v0.1.1-0.20240418202334-dd62631dae9b h1:daoFn+Aw8EIQZO9kYWwHL01FqwwpCl2nTeVEYbsgRHk=
github.com/go-text/render v0.1.1-0.20240418202334-dd62631dae9b/go.mod h1:jqEuNMenrmj6QRnkdpeaP0oKGFLDNhDkVKwGjsWWYU4=
github.com/go-text/typesetting v0.1.0 h1:vioSaLPYcHwPEPLT7gsjCGDCoYSbljxoHJzMnKwVvHw=
github.com/go-text/typesetting v0.1.0/go.mod h1:d22AnmeKq/on0HNv73UFriMKc4Ez6EqZAofLhAzpSzI=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20211219123610-ec9572f70e60/go.mod h1:cz9oNYuRUWGdHmLF2IodMLkAhcPtXeULvcBNagUrxTI=
github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g=
github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k=
github.com/goxjs/gl v0.0.0-20210104184919-e3fafc6f8f2a/go.mod h1:dy/f2gjY09hwVfIyATps4G2ai7/hLwLkc5TrPqONuXY=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jeandeaual/go-locale v0.0.0-20240223122105-ce5225dcaa49 h1:Po+wkNdMmN+Zj1tDsJQy7mJlPlwGNQd9JZoPjObagf8=
github.com/jeandeaual/go-locale v0.0.0-20240223122105-ce5225dcaa49/go.mod h1:YiutDnxPRLk5DLUFj6Rw4pRBBURZY07GFr54NdV9mQg=
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e h1:LvL4XsI70QxOGHed6yhQtAU34Kx3Qq2wwBzGFKY8zKk=
github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e/go.mod h1:kLgvv7o6UM+0QSf0QjAse3wReFDsb9qbZJdfexWlrQw=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo=
github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
github.com/nicksnyder/go-i18n/v2 v2.4.0 h1:3IcvPOAvnCKwNm0TB0dLDTuawWEj+ax/RERNC+diLMM=
github.com/nicksnyder/go-i18n/v2 v2.4.0/go.mod h1:nxYSZE9M0bf3Y70gPQjN9ha7XNHX7gMc814+6wVyEI4=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/rymdport/portal v0.2.6 h1:HWmU3gORu7vWcpr7VSwUS2Xx1HtJXVcUuTqEZcMEsIg=
github.com/rymdport/portal v0.2.6/go.mod h1:kFF4jslnJ8pD5uCi17brj/ODlfIidOxlgUDTO5ncnC4=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/shurcooL/go v0.0.0-20200502201357-93f07166e636/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns=
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c h1:km8GpoQut05eY3GiYWEedbTT0qnSxrCjsVbb7yKY1KE=
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q=
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef h1:Ch6Q+AZUxDBCVqdkI8FSpFyZDtCVBc2VmejdNrm5rRQ=
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.7.1 h1:3bajkSilaCbjdKVsKdZjZCLBNPL9pYzrCakKaf4U49U=
github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ=
golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mobile v0.0.0-20211207041440-4e6c2922fdee/go.mod h1:pe2sM7Uk+2Su1y7u/6Z8KJ24D7lepUjFZbhFOrmDfuQ=
golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a h1:sYbmY3FwUWCBTodZL1S3JUuOvaW6kM2o+clDzzDNBWg=
golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a/go.mod h1:Ede7gF0KGoHlj822RtphAHK1jLdrcuRBZg0sF1Q+SPc=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=


================================================
FILE: mvn-golang-examples/mvn-golang-example-fyne/src/hello.go
================================================
package main

import (
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/widget"
)

func main() {
	a := app.New()
	w := a.NewWindow("Hello")

	hello := widget.NewLabel("Hello Fyne!")
	w.SetContent(container.NewVBox(
		hello,
		widget.NewButton("Hi!", func() {
			hello.SetText("Welcome :)")
		}),
	))

	w.ShowAndRun()
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-genbindata/data/la_espero.txt
================================================
En la mondon venis nova sento,
Tra la mondo iras forta voko;
Per flugiloj de facila vento
Nun de loko flugu ĝi al loko.

Ne al glavo sangon soifanta
Ĝi la homan tiras familion:
Al la mond' eterne militanta
Ĝi promesas sanktan harmonion.

Sub la sankta signo de l' espero
Kolektiĝas pacaj batalantoj,
Kaj rapide kreskas la afero
Per laboro de la esperantoj.

Forte staras muroj de miljaroj
Inter la popoloj dividitaj;
Sed dissaltos la obstinaj baroj,
Per la sankta amo disbatitaj.

Sur neŭtrala lingva fundamento,
Komprenante unu la alian,
La popoloj faros en konsento
Unu grandan rondon familian.

Nia diligenta kolegaro
En laboro paca ne laciĝos,
Ĝis la bela sonĝo de l' homaro
Por eterna ben' efektiviĝos.


================================================
FILE: mvn-golang-examples/mvn-golang-example-genbindata/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  
  <parent>
    <groupId>com.igormaznitsa</groupId>
    <artifactId>mvn-golang-examples</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <artifactId>mvn-golang-example-genbindata</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>mvn-golang</packaging>

  <name>Example of GEN + BinData</name>
  <description>Example of GoBinData utility call from 'gen' command.</description>
  
  <build>
    <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
    <directory>${basedir}${file.separator}bin</directory>
    <resources>
      <resource>
        <directory>${basedir}${file.separator}data</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>com.igormaznitsa</groupId>
        <artifactId>mvn-golang-wrapper</artifactId>
        <version>${main-project-version}</version>
        <extensions>true</extensions>
        <configuration>
          <goVersion>${go.sdk.version}</goVersion>
          <addToGoPath>
            <folder>${basedir}${file.separator}bin</folder>
          </addToGoPath>
          <env>
            <GO111MODULE>auto</GO111MODULE>
          </env>
        </configuration>
        <executions>
          <execution>
            <id>default-get</id>
            <goals>
              <goal>get</goal>
            </goals>
            <configuration>
              <buildFlags>
                <flag>-u</flag>
              </buildFlags>
              <autofixGitCache>true</autofixGitCache>
              <packages>
                <package>github.com/jteeuwen/go-bindata/...</package>
              </packages>
            </configuration>
          </execution>
          <execution>
            <id>default-build</id>
          </execution>
          <execution>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <packages>
                <package>main.go</package>
              </packages>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-genbindata/src/main.go
================================================
package main

import (
	"example/bindata"
	"fmt"
	"os"
)

//go:generate go-bindata -prefix "../data/" -pkg bindata -o ../bin/src/example/bindata/binasset.go ../data/...
func main() {
	data, err := bindata.Asset("la_espero.txt")
	if err != nil {
		fmt.Printf("Can't find needed asset")
		os.Exit(1)
	}
	fmt.Printf("\n    La Espero\n==================\n%v", string(data))
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-gocui/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
      <groupId>com.igormaznitsa</groupId>
      <artifactId>mvn-golang-examples</artifactId>
      <version>1.0.0-SNAPSHOT</version>
    </parent>

    <artifactId>mvn-golang-example-gocui</artifactId>
    <packaging>mvn-golang</packaging>

    <name>GOCUI example</name>
    <description>Example of GOCUI https://github.com/jroimartin/gocui</description>

    <build>
      <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
      <directory>${basedir}${file.separator}bin</directory>
      <plugins>
        <plugin>
          <groupId>com.igormaznitsa</groupId>
          <artifactId>mvn-golang-wrapper</artifactId>
          <version>${main-project-version}</version>
          <extensions>true</extensions>
          <configuration>
            <goVersion>${go.sdk.version}</goVersion>
            <env>
              <GO111MODULE>auto</GO111MODULE>
            </env>
          </configuration>
          <executions>
            <execution>
              <id>default-get</id>
              <configuration>
                <packages>
                  <package>github.com/jroimartin/gocui</package>
                </packages>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
    
</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-gocui/src/gocui.go
================================================
package main

import (
	"fmt"
	"log"

	"github.com/jroimartin/gocui"
)

func main() {
	g, err := gocui.NewGui(gocui.OutputNormal)
	if err != nil {
		log.Panicln(err)
	}
	defer g.Close()

	g.SetManagerFunc(layout)

	if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit); err != nil {
		log.Panicln(err)
	}

	if err := g.MainLoop(); err != nil && err != gocui.ErrQuit {
		log.Panicln(err)
	}
}

func layout(g *gocui.Gui) error {
	maxX, maxY := g.Size()
	if v, err := g.SetView("hello", maxX/2-7, maxY/2, maxX/2+7, maxY/2+2); err != nil {
		if err != gocui.ErrUnknownView {
			return err
		}

		fmt.Fprintln(v, "\x1b[0;31mHello world")
	}
	return nil
}

func quit(g *gocui.Gui, v *gocui.View) error {
	return gocui.ErrQuit
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-goexample/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  
  <parent>
    <groupId>com.igormaznitsa</groupId>
    <artifactId>mvn-golang-examples</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <artifactId>mvn-golang-example-goexample</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>mvn-golang</packaging>

  <name>GoExample</name>
  <description>Example of minimalistic usage of mvn-golang-wrapper to build a 'Hello World' example.</description>
  
  <build>
    <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
    <directory>${basedir}${file.separator}bin</directory>
    <plugins>
      <plugin>
        <groupId>com.igormaznitsa</groupId>
        <artifactId>mvn-golang-wrapper</artifactId>
        <version>${main-project-version}</version>
        <extensions>true</extensions>
        <configuration>
          <env>
            <GO111MODULE>auto</GO111MODULE>
          </env>
          <goVersion>${go.sdk.version}</goVersion>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-goexample/src/golang-book/chapter11/math/math.go
================================================
package math

func Average(xs []float64) float64 {
	total := float64(0)
	for _, x := range xs {
		total += x
	}
	return total / float64(len(xs))
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-goexample/src/golang-book/chapter11/math/math_test.go
================================================
package math

import "testing"

func TestAverage(t *testing.T) {
	var v float64
	v = Average([]float64{1, 2})
	if v != 1.5 {
		t.Error("Expected 1.5, got ", v)
	}
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-goexample/src/main.go
================================================
package main

import "fmt"
import "golang-book/chapter11/math"

func main() {
	xs := []float64{1, 2, 3, 4}
	avg := math.Average(xs)
	fmt.Println(avg)
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-goterm/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
      <groupId>com.igormaznitsa</groupId>
      <artifactId>mvn-golang-examples</artifactId>
      <version>1.0.0-SNAPSHOT</version>
    </parent>

    <artifactId>mvn-golang-example-goterm</artifactId>
    <packaging>mvn-golang</packaging>

    <name>GoTerm example</name>
    <description>Example of GoTerm usage with GoLang https://github.com/buger/goterm</description>

    <build>
      <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
      <directory>${basedir}${file.separator}bin</directory>
      <plugins>
        <plugin>
          <groupId>com.igormaznitsa</groupId>
          <artifactId>mvn-golang-wrapper</artifactId>
          <version>${main-project-version}</version>
          <extensions>true</extensions>
          <configuration>
            <goVersion>${go.sdk.version}</goVersion>
            <env>
              <GO111MODULE>auto</GO111MODULE>
            </env>
          </configuration>
          <executions>
            <execution>
              <id>default-get</id>
              <configuration>
                <buildFlags>
                  <flag>-u</flag>
                </buildFlags>
                <autofixGitCache>true</autofixGitCache>
                <packages>
                  <package>github.com/buger/goterm</package>
                </packages>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
    
</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-goterm/src/time.go
================================================
package main

import (
	tm "github.com/buger/goterm"
	"math"
)

func main() {
	tm.Clear()
	tm.MoveCursor(0, 0)

	chart := tm.NewLineChart(100, 20)
	data := new(tm.DataTable)
	data.AddColumn("Time")
	data.AddColumn("Sin(x)")
	data.AddColumn("Cos(x+1)")

	for i := 0.1; i < 10; i += 0.1 {
		data.AddRow(i, math.Sin(i), math.Cos(i+1))
	}

	tm.Println(chart.Draw(data))
	tm.Flush()
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui/dependencies.txt
================================================
package:github.com/andlabs/ui,revision:867a9e5a498d85e2722730ed88c5f00560c7c354


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.igormaznitsa</groupId>
    <artifactId>mvn-golang-examples</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <artifactId>mvn-golang-example-gui</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>mvn-golang</packaging>

  <name>GUI example</name>
  <description>Example of minimalistic GUI application.</description>

  <properties>
    <mvn.golang.get.packages.file>${basedir}${file.separator}dependencies.txt</mvn.golang.get.packages.file>
  </properties>

  <build>
    <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
    <directory>${basedir}${file.separator}bin</directory>
    <plugins>
      <plugin>
        <groupId>com.igormaznitsa</groupId>
        <artifactId>mvn-golang-wrapper</artifactId>
        <version>${main-project-version}</version>
        <extensions>true</extensions>
        <configuration>
          <goVersion>${go.sdk.version}</goVersion>
          <echoWarn>
            <echo>LINUX: if build complains about GTK 3.0 then use sudo apt-get install libgtk-3-dev</echo>
          </echoWarn>
          <env>
            <GO111MODULE>auto</GO111MODULE>
          </env>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui/src/main.go
================================================
package main

import (
	"github.com/andlabs/ui"
)

func main() {
	err := ui.Main(func() {
		name := ui.NewEntry()
		button := ui.NewButton("Greet")
		greeting := ui.NewLabel("")
		box := ui.NewVerticalBox()
		box.Append(ui.NewLabel("Enter your name:"), false)
		box.Append(name, false)
		box.Append(button, false)
		box.Append(greeting, false)
		window := ui.NewWindow("Hello", 200, 100, false)
		window.SetChild(box)
		button.OnClicked(func(*ui.Button) {
			greeting.SetText("Hello, " + name.Text() + "!")
		})
		window.OnClosing(func(*ui.Window) bool {
			ui.Quit()
			return true
		})
		window.Show()
	})
	if err != nil {
		panic(err)
	}
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/backend/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.igormaznitsa.go-gwt</groupId>
        <artifactId>mvn-golang-example-gui-gwt</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>

    <artifactId>backend</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>mvn-golang</packaging>
    
    <description>Backend part of the GoLang+GWT example, it implements the server side.</description>

    <properties>
        <final.extension></final.extension>
    </properties>
            
    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>frontend</artifactId>
            <version>${project.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <id>under-windows</id>
            <activation>
                <os>
                    <family>windows</family>
                </os>
            </activation>
            <properties>
                <final.extension>.exe</final.extension>
            </properties>
        </profile>
    </profiles>

    <build>
        <finalName>${project.artifactId}-${project.version}${final.extension}</finalName>
        <sourceDirectory>${basedir}${file.separator}src</sourceDirectory>
        <directory>${basedir}${file.separator}bin</directory>
        <plugins>
            <plugin>
                <groupId>com.igormaznitsa</groupId>
                <artifactId>mvn-golang-wrapper</artifactId>
                <version>${main-project-version}</version>
                <extensions>true</extensions>
                <configuration>
                  <goVersion>${go.sdk.version}</goVersion>
                  <env>
                    <GO111MODULE>auto</GO111MODULE>
                  </env>
                  <addToGoPath>
                    <folder>${basedir}${file.separator}bin</folder>
                  </addToGoPath>
                </configuration>
                <executions>
                    <execution>
                        <id>default-get</id>
                        <goals>
                            <goal>get</goal>
                        </goals>
                        <configuration>
                            <buildFlags>
                                <flag>-u</flag>
                            </buildFlags>
                            <autofixGitCache>true</autofixGitCache>
                            <packages>
                                <package>github.com/jteeuwen/go-bindata/...</package>
                                <package>github.com/skratchdot/open-golang/open</package>
                            </packages>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/backend/src/main.go
================================================
package main

import (
	"bytes"
	"encoding/json"
	"front/bindata"
	"github.com/skratchdot/open-golang/open"
	"io"
	"log"
	"mime"
	"net"
	"net/http"
	"os"
	pathop "path"
	"strconv"
	"time"
)

//go:generate go-bindata -prefix "../../frontend/target/frontend.out" -pkg bindata -o ../bin/src/front/bindata/binasset.go ../../frontend/target/frontend.out/...

var watchdog_chn = make(chan int)

type data_struct struct {
	Data string
}

type push_event struct {
	Time int64
}

func makeTimestamp() int64 {
	return time.Now().UnixNano() / (int64(time.Millisecond) / int64(time.Nanosecond))
}

var eventmap = map[string](func(data_struct) data_struct){
	"buttons/send": eventButtonSend,
}

func eventButtonSend(data data_struct) data_struct {
	data.Data = data.Data + "! Hello from the Go side!"
	return data
}

func push_handler(rw http.ResponseWriter, req *http.Request) {
	watchdog_chn <- 0

	rw.Header().Set("Content-Type", "application/json")
	rw.Header().Set("Cache-Control", "no-cache")
	var data push_event
	data.Time = makeTimestamp()
	js, err := json.Marshal(data)
	if err != nil {
		log.Panic(err)
	}
	rw.Write(js)
}

func watchdog() {
	for {
		select {
		case <-watchdog_chn:
		case <-time.After(5 * time.Second):
			log.Print("Looks like that UI part has been closed")
			os.Exit(0)
		}
	}
}

func static_handler(rw http.ResponseWriter, req *http.Request) {
	if req.Method == http.MethodGet {
		var path string = req.URL.Path
		if path == "" {
			path = "index.html"
		}

		if path == "__mailbox__" {
			push_handler(rw, req)
		} else {
			if bs, err := bindata.Asset(path); err != nil {
				log.Printf("Can't find resource : %s", path)
				rw.WriteHeader(http.StatusNotFound)
			} else {
				mime := mime.TypeByExtension(pathop.Ext(path))
				var reader = bytes.NewBuffer(bs)
				if mime == "" {
					mime = http.DetectContentType(bs)
				}
				log.Printf("Resource '%s' mime=%s", path, mime)
				rw.Header().Set("Content-Type", mime)
				rw.Header().Set("Cache-Control", "no-cache")
				io.Copy(rw, reader)
			}
		}
	} else if req.Method == http.MethodPost {
		path := req.URL.Path
		log.Printf("Incoming event : %s", path)

		eventfunc := eventmap[path]

		if eventfunc == nil {
			log.Panic("Can't find event processor for " + path)
		}

		decoder := json.NewDecoder(req.Body)

		var t data_struct
		err := decoder.Decode(&t)

		if err != nil {
			http.Error(rw, err.Error(), http.StatusInternalServerError)
			log.Print(err)
		} else {
			t = eventfunc(t)
			js, error := json.Marshal(t)
			if error != nil {
				http.Error(rw, error.Error(), http.StatusInternalServerError)
			} else {
				rw.Header().Set("Content-Type", "application/json")
				rw.Header().Set("Cache-Control", "no-cache")
				rw.Write(js)
			}
		}
	}
}

func findFreePort() (int, error) {
	addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:0")
	if err != nil {
		return 0, err
	}

	l, err := net.ListenTCP("tcp", addr)
	if err != nil {
		return 0, err
	}
	defer l.Close()
	return l.Addr().(*net.TCPAddr).Port, nil
}

func main() {
	port, err := findFreePort()

	if err != nil {
		log.Fatal(err)
	}

	log.Printf("Application server address 127.0.0.1:%d", port)

	http.Handle("/", http.StripPrefix("/", http.HandlerFunc(static_handler)))
	listenStartBrowserAndServe("127.0.0.1:" + strconv.Itoa(port))
}

type tcpKeepAliveListener struct {
	*net.TCPListener
}

func listenStartBrowserAndServe(addr string) error {
	server := &http.Server{Addr: addr, Handler: nil}

	ln, err := net.Listen("tcp", addr)
	if err != nil {
		return err
	}

	err = open.Run("http://" + addr + "/index.html")
	if err != nil {
		return err
	}

	go watchdog()

	return server.Serve(tcpKeepAliveListener{ln.(*net.TCPListener)})

}


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.igormaznitsa.go-gwt</groupId>
        <artifactId>mvn-golang-example-gui-gwt</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>

    <artifactId>frontend</artifactId>
    <packaging>jar</packaging>

    <description>Frontend part of the GoLang+GWT example, it implements web based GUI.</description>

    <dependencies>
        <dependency>
            <groupId>org.gwtproject</groupId>
            <artifactId>gwt-user</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.gwtproject</groupId>
            <artifactId>gwt-dev</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>frontend.out</finalName>
        <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                  <source>1.8</source>
                  <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>war-exploded</id>
                        <phase>package</phase>
                        <goals>
                            <goal>exploded</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <executions>
                    <execution>
                        <!-- delete Java server oriented folders from the result one to prevent their include into Go program -->
                        <id>delete-webinf-in-result</id>
                        <phase>package</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <configuration>
                            <excludeDefaultDirectories>true</excludeDefaultDirectories>
                            <filesets>
                                <fileset>
                                    <directory>${project.build.directory}/${project.build.finalName}/WEB-INF</directory>
                                </fileset>
                                <fileset>
                                    <directory>${project.build.directory}/${project.build.finalName}/META-INF</directory>
                                </fileset>
                            </filesets>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <excludeDefaultDirectories>false</excludeDefaultDirectories>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>2.8.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <style>DETAILED</style>
                    <!--<style>OBFUSCATED</style>-->
                    <runTarget>index.html</runTarget>
                    <modules>
                        <module>com.igormaznitsa.gwtfrontend</module>
                    </modules>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/BackendService.java
================================================
/*
 * Copyright 2018 Igor Maznitsa.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.igormaznitsa.client;

import com.google.gwt.http.client.Request;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.http.client.RequestCallback;
import com.google.gwt.http.client.RequestException;
import com.google.gwt.http.client.Response;
import com.google.gwt.http.client.UrlBuilder;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;

public class BackendService {

    public interface PushListener {

        /**
         * Notificaton for push event
         * @param event event data as JSON object
         * @return true if push event should continue processing, false if push event shold be stopped
         */
        boolean onPushEvent(JSONObject event);

        /**
         * Notification about error in push event mechanism
         * @param thr error object
         * @return true if push event mechanism should continue its work, false if it should be stopped
         */
        boolean onPushSystemError(Throwable thr);
    }

    public interface Callback {

        void onResponseReceived(String eventId, JSONObject wholeJsonResponse, String dataFeldValue);

        void onError(String eventId, Throwable exception);
    }

    private final Timer pushCheckTimer;
    private final PushListener pushListener;

    public BackendService(final PushListener pushListener) {
        this.pushListener = pushListener;

        if (this.pushListener != null) {
            this.pushCheckTimer = new Timer() {
                @Override
                public void run() {
                    checkPushEvents();
                }
            };
            this.pushCheckTimer.scheduleRepeating(1000);
        } else {
            this.pushCheckTimer = null;
        }
    }

    private void checkPushEvents() {
        try {
            final RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, makeUrlForResource("__mailbox__"));
            rb.setHeader("Accept", "application/json");

            rb.sendRequest("", new RequestCallback() {
                @Override
                public void onResponseReceived(Request request, Response response) {
                    switch (response.getStatusCode()) {
                        case 204: {
                            // there are no push events
                        }break;
                        case 200: {
                            final JSONObject jobj = (JSONObject) JSONParser.parseStrict(response.getText());
                            if (!pushListener.onPushEvent(jobj)){
                                pushCheckTimer.cancel();
                            }
                        }
                        break;
                        default: {
                            if (!pushListener.onPushSystemError(new Throwable("Not OK response : " + response.getStatusCode()))){
                                pushCheckTimer.cancel();
                            }
                        }
                        break;
                    }
                }

                @Override
                public void onError(Request request, Throwable exception) {
                    if (!pushListener.onPushSystemError(exception)){
                        pushCheckTimer.cancel();
                    }
                }
            });
        } catch (RequestException ex) {
            if (!pushListener.onPushSystemError(ex)){
                pushCheckTimer.cancel();
            }
        }
    }

    public void doDataRequest(final String eventId, final String dataFieldValue, final Callback reqCallback) {
        try {
            final RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, makeUrlForResource(eventId));
            rb.setHeader("Content-Type", "application/json; charset=utf-8");
            rb.setHeader("Accept", "application/json");

            final JSONObject jsonObj = new JSONObject();
            jsonObj.put("Data", new JSONString(dataFieldValue));

            rb.sendRequest(jsonObj.toString(), new RequestCallback() {
                @Override
                public void onResponseReceived(Request request, Response response) {
                    switch (response.getStatusCode()) {
                        case 0: {
                            reqCallback.onError(eventId, new Throwable("Server is unavaliable"));
                        }
                        break;
                        case 200: {
                            final JSONObject jobj = (JSONObject) JSONParser.parseStrict(response.getText());
                            reqCallback.onResponseReceived(eventId, jobj, ((JSONString) jobj.get("Data")).stringValue());
                        }
                        break;
                        default: {
                            reqCallback.onError(eventId, new Throwable("Unexpected response code : " + response.getStatusCode()));
                        }
                        break;
                    }
                }

                @Override
                public void onError(Request request, Throwable exception) {
                    reqCallback.onError(eventId, exception);
                }
            });
        } catch (RequestException e) {
            reqCallback.onError(eventId, e);
        }
    }

    private static String makeUrlForResource(final String path) {
        final UrlBuilder urlBuilder = new UrlBuilder();
        urlBuilder.setHost(Window.Location.getHost());
        urlBuilder.setPath(path);

        final String port = Window.Location.getPort();
        if (!port.isEmpty()) {
            urlBuilder.setPort(Integer.parseInt(port));
        }

        return urlBuilder.buildString();
    }

}


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/FrontendMain.java
================================================
package com.igormaznitsa.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;

import java.util.Date;
import java.util.logging.Logger;

public class FrontendMain implements EntryPoint, BackendService.PushListener {
    private static final Logger LOGGER = Logger.getLogger("FrontendMain");
    
    private static final DateTimeFormat timeFormatter = DateTimeFormat.getFormat("HH:mm:ss");
    
    private final Messages messages = GWT.create(Messages.class);
    private Label errorLabel;
    private Label messageLabel;
    private Label timerLabel;
    private Button sendButton;
    
    private BackendService backend;
    
    @Override
    public void onModuleLoad() {
        sendButton = new Button(messages.sendButton());
        final TextBox nameField = new TextBox();
        nameField.setText(messages.nameField());
        errorLabel = new Label();
        messageLabel = new Label();
        timerLabel = new Label("--:--:--");
        
        // We can add style names to widgets
        sendButton.addStyleName("sendButton");

        // Add components into named zones of page
        // Use RootPanel.get() to get the entire body element
        RootPanel.get("nameFieldContainer").add(nameField);
        RootPanel.get("sendButtonContainer").add(sendButton);
        RootPanel.get("messageLabelContainer").add(this.messageLabel);
        RootPanel.get("errorLabelContainer").add(this.errorLabel);
        RootPanel.get("timerZone").add(this.timerLabel);
        
        // Focus the cursor on the name field when the app loads
        nameField.setFocus(true);
        nameField.selectAll();

        sendButton.addClickHandler(event -> {
            sendButton.setEnabled(false);
            errorLabel.setText("");
            messageLabel.setText("");

            backend.doDataRequest("buttons/send", nameField.getText(), new BackendService.Callback(){
                @Override
                public void onResponseReceived(String eventId, JSONObject wholeJsonResponse, String dataFeldValue) {
                    messageLabel.setText(dataFeldValue);
                    sendButton.setEnabled(true);
                }

                @Override
                public void onError(String eventId, Throwable exception) {
                    LOGGER.severe("Error '"+eventId+"', "+exception);
                    errorLabel.setText(exception.getMessage());
                    sendButton.setEnabled(true);
                }

            });
        });
        
        nameField.addKeyDownHandler(event -> {
            // if enter then send data
            if (event.getNativeKeyCode() == 13) {
             sendButton.click();
            }
        });
        
        this.backend = new BackendService(this);
    }

    @Override
    public boolean onPushEvent(final JSONObject event) {
        final long time = (long)event.get("Time").isNumber().doubleValue();
        this.timerLabel.setText(timeFormatter.format(new Date(time)));
        return true;
    }

    @Override
    public boolean onPushSystemError(final Throwable thr) {
        this.timerLabel.setText("Can't get time from server");
        Window.alert("Detected error in push event system : "+thr.getMessage());
        return false;
    }
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/Messages.java
================================================
package com.igormaznitsa.client;

import com.google.gwt.i18n.client.LocalizableResource.Generate;

@Generate(format = "com.google.gwt.i18n.server.PropertyCatalogFactory")
public interface Messages extends com.google.gwt.i18n.client.Messages {
  
  @DefaultMessage("Enter your name")
  String nameField();

  @DefaultMessage("Send")
  String sendButton();
}


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/resources/com/igormaznitsa/client/Messages_fr.properties
================================================
sendButton = Envoyer
nameField = Entrez votre nom

================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/resources/com/igormaznitsa/gwtfrontend.gwt.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to="gwtfront">
  <!-- Inherit the core Web Toolkit stuff.                        -->
  <inherits name='com.google.gwt.user.User' />

  <!-- Inherit the default GWT style sheet.  You can change       -->
  <!-- the theme of your GWT application by uncommenting          -->
  <!-- any one of the following lines.                            -->
  <inherits name='com.google.gwt.user.theme.standard.Standard' />
  <inherits name="com.google.gwt.json.JSON" />
  <inherits name="com.google.gwt.logging.Logging"/>

  <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->

  <!-- Other module inherits                                      -->

  <!-- Specify the app entry point class.                         -->
  <entry-point class='com.igormaznitsa.client.FrontendMain' />

  <!-- Specify the paths for translatable code                    -->
  <source path='client' />

</module>


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/webapp/WEB-INF/web.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

</web-app>


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/webapp/index.html
================================================
<!doctype html>
<!-- The DOCTYPE declaration above will set the    -->
<!-- browser's rendering engine into               -->
<!-- "Standards Mode". Replacing this declaration  -->
<!-- with a "Quirks Mode" doctype may lead to some -->
<!-- differences in layout.                        -->

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <link type="text/css" rel="stylesheet" href="main.css">
        <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
        <link rel="icon" href="/favicon.ico" type="image/x-icon">
        <title>GoLang+GWT Example</title>
        <script type="text/javascript" language="javascript" src="gwtfront/gwtfront.nocache.js"></script>
    </head>

    <body>
        <!-- OPTIONAL: include this if you want history support -->
        <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
        <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
        <noscript>
        <div style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
            Your web browser must have JavaScript enabled
            in order for this application to display correctly.
        </div>
        </noscript>

        <table>
            <tr>
                <td rowspan="2"><a target="_blank" href="https://github.com/raydac/mvn-golang"><img src="images/logo.png"></a></td>
                <td><div class="mainTitle">GoLang+GWT Example</div></td>
            </tr>
            <tr>
                <td><div class="subTitle"><a target="_blank" href="https://github.com/raydac/mvn-golang">https://github.com/raydac/mvn-golang</a></div></td>
            </tr>
        </table>

        <hr>
        <table>
            <tr><td>
                    <table align="left">
                        <tr>
                            <td colspan="2" style="font-weight:bold;">Please enter your name:</td>
                        </tr>
                        <tr>
                            <td id="nameFieldContainer"></td>
                            <td id="sendButtonContainer"></td>
                        </tr>
                        <tr>
                            <td colspan="2" style="color:red;" id="errorLabelContainer"></td>
                        </tr>
                        <tr>
                            <td colspan="2" style="color:green;" id="messageLabelContainer"></td>
                        </tr>
                    </table>
                </td></tr>
            <tr><td>
                    <table>
                        <tr>
                            <td>Time on the server side:</td>
                            <td id="timerZone"></td>
                        </tr>
                    </table>
                </td></tr>
        </table>
        <div class="bottomRecord"><a href="http://www.igormaznitsa.com">2018, Igor Maznitsa, Tallinn</a></div>
    </body>
</html>


================================================
FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/webapp/main.css
================================================
body {
    margin-top: 5% !important;
    margin-bottom: 5% !important;
    margin-left:  10% !important;
    margin-right: 10% !importan
Download .txt
gitextract_sjzi_mot/

├── .github/
│   └── workflows/
│       └── maven.yml
├── .gitignore
├── .projectKnowledge/
│   └── doc_common.mmd
├── CHANGELOG.md
├── LICENSE
├── README.md
├── mvn-golang-examples/
│   ├── mvn-golang-example-azul3d-mandelbrot/
│   │   ├── pom.xml
│   │   ├── resources/
│   │   │   └── azul3d_mandel/
│   │   │       ├── mandel.frag
│   │   │       └── mandel.vert
│   │   └── src/
│   │       ├── azul3d_mandel.go
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── mandelbrot.go
│   ├── mvn-golang-example-clui/
│   │   ├── pom.xml
│   │   ├── res/
│   │   │   └── themes/
│   │   │       ├── acsii.theme
│   │   │       └── turbovision.theme
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-fyne/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── hello.go
│   ├── mvn-golang-example-genbindata/
│   │   ├── data/
│   │   │   └── la_espero.txt
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-gocui/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── gocui.go
│   ├── mvn-golang-example-goexample/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── golang-book/
│   │       │   └── chapter11/
│   │       │       └── math/
│   │       │           ├── math.go
│   │       │           └── math_test.go
│   │       └── main.go
│   ├── mvn-golang-example-goterm/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── time.go
│   ├── mvn-golang-example-gui/
│   │   ├── dependencies.txt
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-gui-gwt/
│   │   ├── backend/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main.go
│   │   ├── frontend/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── com/
│   │   │       │   │       └── igormaznitsa/
│   │   │       │   │           └── client/
│   │   │       │   │               ├── BackendService.java
│   │   │       │   │               ├── FrontendMain.java
│   │   │       │   │               └── Messages.java
│   │   │       │   ├── resources/
│   │   │       │   │   └── com/
│   │   │       │   │       └── igormaznitsa/
│   │   │       │   │           ├── client/
│   │   │       │   │           │   └── Messages_fr.properties
│   │   │       │   │           └── gwtfrontend.gwt.xml
│   │   │       │   └── webapp/
│   │   │       │       ├── WEB-INF/
│   │   │       │       │   └── web.xml
│   │   │       │       ├── index.html
│   │   │       │       └── main.css
│   │   │       └── test/
│   │   │           └── resources/
│   │   │               └── com/
│   │   │                   └── igormaznitsa/
│   │   │                       └── gotestJUnit.gwt.xml
│   │   └── pom.xml
│   ├── mvn-golang-example-helloworld/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-helloworld-gomod/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── main.go
│   ├── mvn-golang-example-helloworld-multisrc/
│   │   ├── lib1/
│   │   │   └── src/
│   │   │       └── pack1/
│   │   │           └── src1some.go
│   │   ├── lib2/
│   │   │   └── src/
│   │   │       └── pack2/
│   │   │           └── src2some.go
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-logrus/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── gologrus.go
│   ├── mvn-golang-example-maven-module-mix/
│   │   ├── mvn-go-test-mix-app/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── go.mod
│   │   │       ├── go.sum
│   │   │       └── main.go
│   │   ├── mvn-go-test-mix-proxy/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── testmixproxy/
│   │   │               ├── Proxy.go
│   │   │               ├── go.mod
│   │   │               └── go.sum
│   │   ├── mvn-go-test-mix-terminal/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── testmixterminal/
│   │   │               ├── Terminal.go
│   │   │               ├── go.mod
│   │   │               └── go.sum
│   │   └── pom.xml
│   ├── mvn-golang-example-maven-repository/
│   │   ├── mvn-go-test-app/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main.go
│   │   ├── mvn-go-test-lib/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── mvngotest/
│   │   │               ├── SomeUtils.go
│   │   │               └── go.mod
│   │   ├── mvn-go-test-libtwo/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── mvngotesttwo/
│   │   │               ├── SomeUtils.go
│   │   │               └── go.mod
│   │   ├── mvn-go-test-metalib/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── com.igormaznitsa/
│   │   │           └── mvngotestmeta/
│   │   │               ├── MetaUtils.go
│   │   │               └── go.mod
│   │   └── pom.xml
│   ├── mvn-golang-example-multimodule/
│   │   ├── app-1/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main.go
│   │   │       └── main_test.go
│   │   ├── app-2/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main.go
│   │   │       └── main_test.go
│   │   ├── assembly-results/
│   │   │   ├── deploy.xml
│   │   │   └── pom.xml
│   │   ├── common/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── common/
│   │   │           ├── common.go
│   │   │           └── common_test.go
│   │   └── pom.xml
│   ├── mvn-golang-example-nes/
│   │   └── pom.xml
│   ├── mvn-golang-example-oak-shooter/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── performance.go
│   ├── mvn-golang-example-plugin/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── arithplugin.go
│   │       └── arithplugin_test.go
│   ├── mvn-golang-example-preprocessing/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── inlined.go
│   │       ├── main.go
│   │       └── text.txt
│   ├── mvn-golang-example-primitive/
│   │   └── pom.xml
│   ├── mvn-golang-example-protobuf/
│   │   ├── go-dependencies.lst
│   │   ├── pom.xml
│   │   ├── proto/
│   │   │   └── person.proto
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-termboxgo/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main.go
│   ├── mvn-golang-example-termui/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── sparklines.go
│   ├── mvn-golang-example-testing/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main.go
│   │       └── mypackage/
│   │           └── testexample/
│   │               ├── Some.go
│   │               └── Some_test.go
│   ├── pom.xml
│   └── test-git-cvs/
│       ├── cvs-git-branch-master/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-branch-v2/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-custom/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-master-tag/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       ├── cvs-git-revision/
│       │   ├── pom.xml
│       │   └── src/
│       │       └── main.go
│       └── pom.xml
├── mvn-golang-hello/
│   ├── pom.xml
│   └── src/
│       ├── assemble/
│       │   ├── bundle.xml
│       │   └── distribution.xml
│       └── main/
│           └── resources/
│               ├── META-INF/
│               │   └── maven/
│               │       └── archetype-metadata.xml
│               └── archetype-resources/
│                   ├── packages.txt
│                   ├── pom.xml
│                   └── src/
│                       ├── go.mod
│                       ├── hello.go
│                       └── hello_test.go
├── mvn-golang-hello-multi/
│   ├── pom.xml
│   └── src/
│       ├── assemble/
│       │   ├── bundle.xml
│       │   └── distribution.xml
│       └── main/
│           └── resources/
│               ├── META-INF/
│               │   └── maven/
│               │       └── archetype-metadata.xml
│               └── archetype-resources/
│                   ├── app-1/
│                   │   ├── pom.xml
│                   │   └── src/
│                   │       ├── main.go
│                   │       └── main_test.go
│                   ├── app-2/
│                   │   ├── pom.xml
│                   │   └── src/
│                   │       ├── main.go
│                   │       └── main_test.go
│                   ├── assembly-results/
│                   │   ├── deploy.xml
│                   │   └── pom.xml
│                   ├── common/
│                   │   ├── pom.xml
│                   │   └── src/
│                   │       └── common/
│                   │           ├── common.go
│                   │           └── common_test.go
│                   └── pom.xml
├── mvn-golang-wrapper/
│   ├── pom.xml
│   └── src/
│       ├── assemble/
│       │   ├── bundle.xml
│       │   └── distribution.xml
│       ├── main/
│       │   ├── filtered-resources/
│       │   │   └── META-INF/
│       │   │       └── plexus/
│       │   │           └── components.xml
│       │   └── java/
│       │       └── com/
│       │           └── igormaznitsa/
│       │               └── mvngolang/
│       │                   ├── AbstractGoDependencyAwareMojo.java
│       │                   ├── AbstractGoPackageAndDependencyAwareMojo.java
│       │                   ├── AbstractGoPackageAwareMojo.java
│       │                   ├── AbstractGolangMojo.java
│       │                   ├── AbstractModuleAware.java
│       │                   ├── CustomScript.java
│       │                   ├── GolangBuildMojo.java
│       │                   ├── GolangCleanMojo.java
│       │                   ├── GolangCustomMojo.java
│       │                   ├── GolangFixMojo.java
│       │                   ├── GolangFmtMojo.java
│       │                   ├── GolangGenerateMojo.java
│       │                   ├── GolangGetMojo.java
│       │                   ├── GolangInstallMojo.java
│       │                   ├── GolangJfrogCliMojo.java
│       │                   ├── GolangListMojo.java
│       │                   ├── GolangModMojo.java
│       │                   ├── GolangMvnInstallMojo.java
│       │                   ├── GolangRunMojo.java
│       │                   ├── GolangTestMojo.java
│       │                   ├── GolangToolMojo.java
│       │                   ├── GolangVetMojo.java
│       │                   ├── cvs/
│       │                   │   ├── AbstractRepo.java
│       │                   │   ├── CVSType.java
│       │                   │   ├── CvsBZR.java
│       │                   │   ├── CvsGIT.java
│       │                   │   ├── CvsHG.java
│       │                   │   ├── CvsNone.java
│       │                   │   └── CvsSVN.java
│       │                   └── utils/
│       │                       ├── GoMod.java
│       │                       ├── IOUtils.java
│       │                       ├── MavenUtils.java
│       │                       ├── MvnGolangArtifactHandler.java
│       │                       ├── PackageList.java
│       │                       ├── ProxySettings.java
│       │                       ├── StringComparatorABC.java
│       │                       ├── SysUtils.java
│       │                       ├── Tuple.java
│       │                       ├── UnpackUtils.java
│       │                       ├── WildCardMatcher.java
│       │                       └── XGoogHashHeader.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── igormaznitsa/
│           │           └── mvngolang/
│           │               ├── GolangBuildMojoTest.java
│           │               ├── GolangModMojoCfgTest.java
│           │               └── utils/
│           │                   ├── GoModTest.java
│           │                   ├── MavenUtilsTest.java
│           │                   ├── PackageListTest.java
│           │                   ├── StringComparatorABCTest.java
│           │                   └── SysUtilsTest.java
│           └── resources/
│               └── com/
│                   └── igormaznitsa/
│                       └── mvngolang/
│                           ├── mojoBuild.xml
│                           ├── mojoClean.xml
│                           ├── mojoCustom.xml
│                           ├── mojoFix.xml
│                           ├── mojoFmt.xml
│                           ├── mojoGenerate.xml
│                           ├── mojoGet.xml
│                           ├── mojoInstall.xml
│                           ├── mojoJFrogCli.xml
│                           ├── mojoMod.xml
│                           ├── mojoMvnInstall.xml
│                           ├── mojoRun.xml
│                           ├── mojoTest.xml
│                           ├── mojoTool.xml
│                           └── mojoVet.xml
└── pom.xml
Download .txt
SYMBOL INDEX (703 symbols across 106 files)

FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/azul3d_mandel.go
  type mandelGen (line 26) | type mandelGen struct
    method handle (line 40) | func (m *mandelGen) handle(e window.Event) {
    method generate (line 69) | func (m *mandelGen) generate() {
    method run (line 86) | func (m *mandelGen) run(w window.Window) {
  function newMandelGen (line 117) | func newMandelGen(w window.Window, d gfx.Device) *mandelGen {
  function gfxLoop (line 134) | func gfxLoop(w window.Window, d gfx.Device) {
  function main (line 261) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/mandelbrot.go
  function Mandelbrot (line 14) | func Mandelbrot(w, h, maxIterations int, zoom, posX, posY float64) *imag...

FILE: mvn-golang-examples/mvn-golang-example-clui/src/main.go
  function main (line 7) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-fyne/src/hello.go
  function main (line 9) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-genbindata/src/main.go
  function main (line 10) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-gocui/src/gocui.go
  function main (line 10) | func main() {
  function layout (line 28) | func layout(g *gocui.Gui) error {
  function quit (line 40) | func quit(g *gocui.Gui, v *gocui.View) error {

FILE: mvn-golang-examples/mvn-golang-example-goexample/src/golang-book/chapter11/math/math.go
  function Average (line 3) | func Average(xs []float64) float64 {

FILE: mvn-golang-examples/mvn-golang-example-goexample/src/golang-book/chapter11/math/math_test.go
  function TestAverage (line 5) | func TestAverage(t *testing.T) {

FILE: mvn-golang-examples/mvn-golang-example-goexample/src/main.go
  function main (line 6) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-goterm/src/time.go
  function main (line 8) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/backend/src/main.go
  type data_struct (line 23) | type data_struct struct
  type push_event (line 27) | type push_event struct
  function makeTimestamp (line 31) | func makeTimestamp() int64 {
  function eventButtonSend (line 39) | func eventButtonSend(data data_struct) data_struct {
  function push_handler (line 44) | func push_handler(rw http.ResponseWriter, req *http.Request) {
  function watchdog (line 58) | func watchdog() {
  function static_handler (line 69) | func static_handler(rw http.ResponseWriter, req *http.Request) {
  function findFreePort (line 126) | func findFreePort() (int, error) {
  function main (line 140) | func main() {
  type tcpKeepAliveListener (line 153) | type tcpKeepAliveListener struct
  function listenStartBrowserAndServe (line 157) | func listenStartBrowserAndServe(addr string) error {

FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/BackendService.java
  class BackendService (line 30) | public class BackendService {
    type PushListener (line 32) | public interface PushListener {
      method onPushEvent (line 39) | boolean onPushEvent(JSONObject event);
      method onPushSystemError (line 46) | boolean onPushSystemError(Throwable thr);
    type Callback (line 49) | public interface Callback {
      method onResponseReceived (line 51) | void onResponseReceived(String eventId, JSONObject wholeJsonResponse...
      method onError (line 53) | void onError(String eventId, Throwable exception);
    method BackendService (line 59) | public BackendService(final PushListener pushListener) {
    method checkPushEvents (line 75) | private void checkPushEvents() {
    method doDataRequest (line 117) | public void doDataRequest(final String eventId, final String dataField...
    method makeUrlForResource (line 156) | private static String makeUrlForResource(final String path) {

FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/FrontendMain.java
  class FrontendMain (line 16) | public class FrontendMain implements EntryPoint, BackendService.PushList...
    method onModuleLoad (line 29) | @Override
    method onPushEvent (line 85) | @Override
    method onPushSystemError (line 92) | @Override

FILE: mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/Messages.java
  type Messages (line 5) | @Generate(format = "com.google.gwt.i18n.server.PropertyCatalogFactory")
    method nameField (line 8) | @DefaultMessage("Enter your name")
    method sendButton (line 11) | @DefaultMessage("Send")

FILE: mvn-golang-examples/mvn-golang-example-gui/src/main.go
  function main (line 7) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-helloworld-gomod/src/main.go
  function main (line 10) | func main() {
  function greet (line 19) | func greet(name string) error {

FILE: mvn-golang-examples/mvn-golang-example-helloworld-multisrc/lib1/src/pack1/src1some.go
  function Pack1 (line 3) | func Pack1() string {

FILE: mvn-golang-examples/mvn-golang-example-helloworld-multisrc/lib2/src/pack2/src2some.go
  function Pack2 (line 7) | func Pack2() string {

FILE: mvn-golang-examples/mvn-golang-example-helloworld-multisrc/src/main.go
  function main (line 8) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-helloworld/src/main.go
  function FunctionForVetReport (line 12) | func FunctionForVetReport() {
  function main (line 26) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-logrus/src/gologrus.go
  function init (line 8) | func init() {
  function foo (line 20) | func foo() {
  function main (line 27) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-app/src/main.go
  function main (line 10) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-proxy/src/com.igormaznitsa/testmixproxy/Proxy.go
  function StartProxy (line 10) | func StartProxy() {

FILE: mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-terminal/src/com.igormaznitsa/testmixterminal/Terminal.go
  function StartTerminal (line 12) | func StartTerminal() {

FILE: mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-app/src/main.go
  function main (line 8) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-lib/src/com.igormaznitsa/mvngotest/SomeUtils.go
  function SomeTestMethod (line 11) | func SomeTestMethod() {

FILE: mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-libtwo/src/com.igormaznitsa/mvngotesttwo/SomeUtils.go
  function SomeTestMethodTwo (line 11) | func SomeTestMethodTwo() {

FILE: mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-metalib/src/com.igormaznitsa/mvngotestmeta/MetaUtils.go
  function SomeMetaMethod (line 3) | func SomeMetaMethod(arg string) string {

FILE: mvn-golang-examples/mvn-golang-example-multimodule/app-1/src/main.go
  function main (line 7) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-multimodule/app-1/src/main_test.go
  function TestMain (line 5) | func TestMain(t *testing.T) {

FILE: mvn-golang-examples/mvn-golang-example-multimodule/app-2/src/main.go
  function main (line 5) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-multimodule/app-2/src/main_test.go
  function TestMain (line 5) | func TestMain(t *testing.T) {

FILE: mvn-golang-examples/mvn-golang-example-multimodule/common/src/common/common.go
  function PrintHello (line 5) | func PrintHello(name string) {

FILE: mvn-golang-examples/mvn-golang-example-multimodule/common/src/common/common_test.go
  function TestPrintHello (line 5) | func TestPrintHello(t *testing.T) {

FILE: mvn-golang-examples/mvn-golang-example-oak-shooter/src/performance.go
  constant Enemy (line 26) | Enemy collision.Label = 1
  constant fieldWidth (line 42) | fieldWidth  = 1000
  constant fieldHeight (line 43) | fieldHeight = 1000
  function main (line 46) | func main() {
  constant EnemyRefresh (line 189) | EnemyRefresh = 25
  constant EnemySpeed (line 190) | EnemySpeed   = 2
  function NewEnemy (line 194) | func NewEnemy() {
  function enemyPos (line 240) | func enemyPos() (float64, float64) {

FILE: mvn-golang-examples/mvn-golang-example-plugin/src/arithplugin.go
  function Add (line 3) | func Add(x, y int) int {
  function Sub (line 7) | func Sub(x, y int) int {

FILE: mvn-golang-examples/mvn-golang-example-plugin/src/arithplugin_test.go
  function TestAdd (line 7) | func TestAdd(t *testing.T) {
  function TestSub (line 13) | func TestSub(t *testing.T) {

FILE: mvn-golang-examples/mvn-golang-example-preprocessing/src/inlined.go
  function main (line 12) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-preprocessing/src/main.go
  function main (line 10) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-protobuf/src/main.go
  function main (line 10) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-termboxgo/src/main.go
  type key (line 6) | type key struct
  type combo (line 176) | type combo struct
  function print_tb (line 336) | func print_tb(x, y int, fg, bg termbox.Attribute, msg string) {
  function printf_tb (line 343) | func printf_tb(x, y int, fg, bg termbox.Attribute, format string, args ....
  function draw_key (line 348) | func draw_key(k []key, fg, bg termbox.Attribute) {
  function draw_keyboard (line 354) | func draw_keyboard() {
  function funckeymap (line 572) | func funckeymap(k termbox.Key) string {
  function pretty_print_press (line 583) | func pretty_print_press(ev *termbox.Event) {
  function pretty_print_resize (line 603) | func pretty_print_resize(ev *termbox.Event) {
  function pretty_print_mouse (line 609) | func pretty_print_mouse(ev *termbox.Event) {
  function dispatch_press (line 634) | func dispatch_press(ev *termbox.Event) {
  function main (line 660) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-termui/src/sparklines.go
  function main (line 14) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-testing/src/main.go
  function main (line 8) | func main() {

FILE: mvn-golang-examples/mvn-golang-example-testing/src/mypackage/testexample/Some.go
  function GetString (line 3) | func GetString() string {
  function GetInt (line 7) | func GetInt() int {
  function MakeSumm (line 11) | func MakeSumm(a, b int) int {

FILE: mvn-golang-examples/mvn-golang-example-testing/src/mypackage/testexample/Some_test.go
  function TestGetString (line 8) | func TestGetString(t *testing.T) {
  function TestGetInt (line 12) | func TestGetInt(t *testing.T) {
  function TestMakeSumm (line 16) | func TestMakeSumm(t *testing.T) {

FILE: mvn-golang-examples/test-git-cvs/cvs-git-branch-master/src/main.go
  function main (line 6) | func main() {

FILE: mvn-golang-examples/test-git-cvs/cvs-git-branch-v2/src/main.go
  function main (line 6) | func main() {

FILE: mvn-golang-examples/test-git-cvs/cvs-git-custom/src/main.go
  function main (line 6) | func main() {

FILE: mvn-golang-examples/test-git-cvs/cvs-git-master-tag/src/main.go
  function main (line 6) | func main() {

FILE: mvn-golang-examples/test-git-cvs/cvs-git-revision/src/main.go
  function main (line 6) | func main() {

FILE: mvn-golang-hello-multi/src/main/resources/archetype-resources/app-1/src/main.go
  function main (line 7) | func main() {

FILE: mvn-golang-hello-multi/src/main/resources/archetype-resources/app-1/src/main_test.go
  function TestMain (line 5) | func TestMain(t *testing.T) {

FILE: mvn-golang-hello-multi/src/main/resources/archetype-resources/app-2/src/main.go
  function main (line 5) | func main() {

FILE: mvn-golang-hello-multi/src/main/resources/archetype-resources/app-2/src/main_test.go
  function TestMain (line 5) | func TestMain(t *testing.T) {

FILE: mvn-golang-hello-multi/src/main/resources/archetype-resources/common/src/common/common.go
  function PrintHello (line 5) | func PrintHello(name string) {

FILE: mvn-golang-hello-multi/src/main/resources/archetype-resources/common/src/common/common_test.go
  function TestPrintHello (line 5) | func TestPrintHello(t *testing.T) {

FILE: mvn-golang-hello/src/main/resources/archetype-resources/src/hello.go
  function Hello (line 5) | func Hello(text string) string {
  function main (line 9) | func main() {

FILE: mvn-golang-hello/src/main/resources/archetype-resources/src/hello_test.go
  function TestHello (line 5) | func TestHello(t *testing.T) {

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGoDependencyAwareMojo.java
  class AbstractGoDependencyAwareMojo (line 44) | public abstract class AbstractGoDependencyAwareMojo extends AbstractGola...
    method isSyncSessionIfModules (line 105) | public boolean isSyncSessionIfModules() {
    method setSyncSessionIfModules (line 110) | public void setSyncSessionIfModules(final boolean value) {
    method getDependencyTempFolder (line 114) | @Nonnull
    method isDeleteSumFile (line 119) | public boolean isDeleteSumFile() {
    method setDependencyTempFolder (line 124) | public void setDependencyTempFolder(@Nonnull final String path) {
    method isScanDependencies (line 128) | public boolean isScanDependencies() {
    method setScanDependencies (line 132) | public void setScanDependencies(final boolean flag) {
    method isIncludeTestDependencies (line 136) | public boolean isIncludeTestDependencies() {
    method setIncludeTestDependencies (line 140) | public void setIncludeTestDependencies(final boolean value) {
    method makeRelativePathToFolder (line 144) | @Nonnull
    method findModsInProject (line 150) | @Nonnull
    method preprocessModules (line 162) | private void preprocessModules(
    method findGoModsAndParse (line 220) | @Nonnull
    method replaceLinksToModules (line 239) | private boolean replaceLinksToModules(@Nonnull final Tuple<GoMod, File...
    method listRightPart (line 262) | @Nonnull
    method generateCrossLinksBetweenArtifactGoMods (line 273) | private int generateCrossLinksBetweenArtifactGoMods(
    method preprocessModuleFilesInDependencies (line 289) | @Nonnull
    method doInit (line 305) | @Override
    method isIgnoreNonResolvableArtifact (line 371) | public boolean isIgnoreNonResolvableArtifact() {
    method restoreGoModFromBackupAndRemoveBackup (line 375) | private void restoreGoModFromBackupAndRemoveBackup(@Nonnull final File...
    method afterExecution (line 411) | @Override
    method doesNeedSessionLock (line 440) | @Override
    method isRestoreGoMod (line 445) | protected boolean isRestoreGoMod() {
    method unpackArtifactsIntoFolder (line 450) | @Nonnull
    method unzipSrcFoldersContent (line 519) | private boolean unzipSrcFoldersContent(@Nonnull final File artifactZip,
    method getSpecialPartOfGoPath (line 548) | @Nonnull

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGoPackageAndDependencyAwareMojo.java
  class AbstractGoPackageAndDependencyAwareMojo (line 26) | public abstract class AbstractGoPackageAndDependencyAwareMojo
    method getDefaultPackages (line 35) | @Nullable
    method getPackages (line 41) | @Nullable
    method setPackages (line 47) | public void setPackages(@Nullable @MustNotContainNull final String[] v...
    method getTailArguments (line 51) | @Override
    method getCommandFlags (line 58) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGoPackageAwareMojo.java
  class AbstractGoPackageAwareMojo (line 26) | public abstract class AbstractGoPackageAwareMojo extends AbstractGolangM...
    method getDefaultPackages (line 34) | @Nullable
    method getPackages (line 40) | @Nullable
    method setPackages (line 46) | public void setPackages(@Nullable @MustNotContainNull final String[] v...
    method getTailArguments (line 50) | @Override
    method getCommandFlags (line 57) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGolangMojo.java
  class AbstractGolangMojo (line 125) | public abstract class AbstractGolangMojo extends AbstractMojo {
    method ensureNoSurroundingSlashes (line 492) | @Nonnull
    method deleteFileIfExists (line 505) | private static void deleteFileIfExists(@Nonnull final File file) throw...
    method isSafeEmpty (line 511) | private static boolean isSafeEmpty(@Nullable final String value) {
    method extractExtensionOfArchive (line 515) | @Nonnull
    method adaptExecNameForOS (line 527) | @Nonnull
    method getPathToFolder (line 532) | @Nonnull
    method getPathToFolder (line 541) | @Nonnull
    method findExisting (line 546) | @Nullable
    method removeSrcFolderAtEndIfPresented (line 558) | @Nonnull
    method extractComputerName (line 567) | @Nonnull
    method extractDomainName (line 583) | @Nonnull
    method tryRenameFolder (line 589) | private static boolean tryRenameFolder(@Nonnull final File sourceFolde...
    method nullIfBlank (line 606) | @Nullable
    method getWorkingDir (line 611) | @Nullable
    method setWorkingDir (line 616) | public final void setWorkingDir(@Nullable final String path) {
    method isModuleMode (line 620) | public boolean isModuleMode() {
    method setModuleMode (line 625) | public void setModuleMode(final boolean value) {
    method getArtifactResolver (line 629) | @Nonnull
    method getRemoteRepositories (line 635) | @Nonnull
    method doesNeedSessionLock (line 641) | protected boolean doesNeedSessionLock() {
    method makeSessionLockFileName (line 651) | @Nonnull
    method getTempFileFolder (line 658) | @Nonnull
    method lockMvnGolangSession (line 670) | private void lockMvnGolangSession() throws MojoExecutionException {
    method unlockMvnGolangSession (line 707) | private void unlockMvnGolangSession() throws MojoExecutionException {
    method loadSDKAndUnpackIntoCache (line 720) | @Nonnull
    method isFilterEnvPath (line 924) | public boolean isFilterEnvPath() {
    method findMvnProperty (line 928) | @Nullable
    method isSkip (line 936) | public boolean isSkip() {
    method isEnforceGoPathToEnd (line 946) | public boolean isEnforceGoPathToEnd() {
    method getProject (line 950) | @Nonnull
    method getExecution (line 955) | @Nonnull
    method getSession (line 960) | @Nonnull
    method isIgnoreErrorExitCode (line 965) | public boolean isIgnoreErrorExitCode() {
    method getEnv (line 969) | @Nonnull
    method getSdkDownloadUrl (line 974) | @Nullable
    method getExecSubpath (line 979) | @Nonnull
    method getConnectionTimeout (line 984) | public int getConnectionTimeout() {
    method getExec (line 988) | @Nonnull
    method isUseEnvVars (line 993) | public boolean isUseEnvVars() {
    method isKeepSdkArchive (line 997) | public boolean isKeepSdkArchive() {
    method isKeepUnarchFolderIfError (line 1001) | public boolean isKeepUnarchFolderIfError() {
    method getSdkArchiveName (line 1005) | @Nullable
    method getReportsFolder (line 1010) | @Nonnull
    method getOutLogFile (line 1015) | @Nullable
    method getErrLogFile (line 1020) | @Nullable
    method isCheckSdkHash (line 1025) | public boolean isCheckSdkHash() {
    method getStoreFolder (line 1029) | @Nonnull
    method getUseGoTool (line 1034) | @Nullable
    method isVerbose (line 1039) | public boolean isVerbose() {
    method isDisableSdkLoad (line 1044) | public boolean isDisableSdkLoad() {
    method getSdkSite (line 1048) | @Nonnull
    method getBuildFlags (line 1053) | @Nonnull
    method getExtraBuildFlags (line 1070) | @Nonnull
    method findGoPath (line 1076) | @Nonnull
    method findGoRootBootstrap (line 1102) | @Nullable
    method getOs (line 1120) | @Nonnull
    method getArch (line 1132) | @Nullable
    method getValueOrEnv (line 1142) | @Nullable
    method getGoRoot (line 1156) | @Nullable
    method getGoCache (line 1161) | @Nullable
    method getGoRootBootstrap (line 1166) | @Nullable
    method getGoBin (line 1171) | @Nullable
    method getGoPath (line 1177) | @Nonnull
    method getTargetArm (line 1182) | @Nullable
    method getTarget386 (line 1187) | @Nullable
    method getTargetOS (line 1192) | @Nullable
    method getTargetArch (line 1197) | @Nullable
    method isUseMavenProxy (line 1202) | public boolean isUseMavenProxy() {
    method getSupposeSdkArchiveFileName (line 1206) | public boolean getSupposeSdkArchiveFileName() {
    method isDisableSslCheck (line 1210) | public boolean isDisableSslCheck() {
    method setDisableSslCheck (line 1216) | public void setDisableSslCheck(final boolean flag) {
    method getProxy (line 1220) | @Nullable
    method getOSXVersion (line 1225) | @Nullable
    method getGoVersion (line 1230) | @Nonnull
    method getSources (line 1235) | @Nonnull
    method addTmpBuildFlagIfNotPresented (line 1244) | protected void addTmpBuildFlagIfNotPresented(@Nonnull @MustNotContainN...
    method extractProxySettings (line 1264) | @Nullable
    method processRequestConfig (line 1280) | @ReturnsOriginal
    method loadGoLangSdkList (line 1295) | @Nonnull
    method convertSdkListToDocument (line 1329) | @Nonnull
    method printEcho (line 1348) | private void printEcho() {
    method logOptionally (line 1362) | protected void logOptionally(@Nonnull final String message) {
    method initConsoleBuffers (line 1368) | protected void initConsoleBuffers() {
    method unpackArchToFolder (line 1374) | @ReturnsOriginal
    method extractSDKFileName (line 1405) | @Nonnull
    method findSdkArchiveFileName (line 1466) | @Nonnull
    method warnIfContainsUC (line 1482) | private void warnIfContainsUC(@Nonnull final String message, @Nonnull ...
    method findGoRoot (line 1495) | @Nonnull
    method printBanner (line 1544) | private void printBanner() {
    method isHideBanner (line 1550) | public boolean isHideBanner() {
    method doesNeedOneMoreAttempt (line 1554) | protected boolean doesNeedOneMoreAttempt(@Nonnull final ProcessResult ...
    method doLogging (line 1561) | protected void doLogging(
    method doMainBusiness (line 1579) | protected boolean doMainBusiness(@Nullable final ProxySettings proxySe...
    method execute (line 1620) | @Override
    method doInit (line 1669) | public void doInit() throws MojoFailureException, MojoExecutionExcepti...
    method beforeExecution (line 1673) | public void beforeExecution(@Nullable final ProxySettings proxySettings)
    method afterExecution (line 1678) | public void afterExecution(@Nullable final ProxySettings proxySettings...
    method isEnforcePrintOutput (line 1683) | public boolean isEnforcePrintOutput() {
    method extractOutAsString (line 1687) | @Nonnull
    method extractErrorOutAsString (line 1692) | @Nonnull
    method printLogs (line 1697) | protected void printLogs(final boolean forcePrint, final boolean error...
    method assertProcessResult (line 1744) | private void assertProcessResult(@Nonnull final ProcessResult result)
    method isSourceFolderRequired (line 1752) | public boolean isSourceFolderRequired() {
    method isMojoMustNotBeExecuted (line 1756) | public boolean isMojoMustNotBeExecuted() throws MojoFailureException {
    method getTailArguments (line 1764) | @Nonnull
    method getOptionalExtraTailArguments (line 1768) | @Nonnull
    method makeExecutableFileSubpath (line 1774) | @Nonnull
    method getGoCommand (line 1779) | @Nonnull
    method getCommandFlags (line 1782) | @Nonnull
    method getEnvPath (line 1786) | @Nullable
    method addEnvVar (line 1818) | private void addEnvVar(@Nonnull final ProcessExecutor executor, @Nonnu...
    method getHttpClient (line 1824) | @Nonnull
    method registerOutputBuffers (line 1937) | protected void registerOutputBuffers(@Nonnull final ProcessExecutor ex...
    method registerEnvVars (line 1942) | protected void registerEnvVars(
    method findAllGoModsInFolder (line 2045) | @Nonnull
    method getWorkingDirectoryForExecutor (line 2054) | @Nonnull
    method getSpecialPartOfGoPath (line 2100) | @Nonnull
    method makePathFromExtraGoPathElements (line 2105) | @Nonnull
    method isCommandSupportVerbose (line 2114) | public boolean isCommandSupportVerbose() {
    method getSkipMojoPropertySuffix (line 2118) | @Nullable
    method prepareExecutor (line 2123) | @Nullable
    method processLogFiles (line 2219) | private void processLogFiles(@Nonnull final String logOut, @Nonnull fi...

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractModuleAware.java
  class AbstractModuleAware (line 13) | public abstract class AbstractModuleAware extends AbstractGoPackageAndDe...
    method getMod (line 25) | @Nullable
    method getCommandFlags (line 30) | @Override
    method getAdditionalCommandFlags (line 49) | @Nonnull

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/CustomScript.java
  class CustomScript (line 24) | public class CustomScript {

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangBuildMojo.java
  class GolangBuildMojo (line 38) | @Mojo(name = "build", defaultPhase = LifecyclePhase.PACKAGE, threadSafe ...
    method isAttach (line 115) | public boolean isAttach() {
    method getAttachClassifier (line 119) | @Nullable
    method getAttachType (line 124) | @Nonnull
    method getLdflagsAsList (line 130) | @MustNotContainNull
    method getSkipMojoPropertySuffix (line 136) | @Nullable
    method isStrip (line 142) | public boolean isStrip() {
    method setStrip (line 146) | public void setStrip(final boolean flag) {
    method getBuildMode (line 150) | @Nonnull
    method setBuildMode (line 155) | public void setBuildMode(@Nullable final String buildMode) {
    method getResultFile (line 159) | @Nonnull
    method getResultFolder (line 164) | @Nonnull
    method setResultFolder (line 169) | public void setResultFolder(@Nonnull final String folder) {
    method getResultName (line 173) | @Nonnull
    method setResultName (line 178) | public void setResultName(@Nonnull final String resultName) {
    method getGoCommand (line 182) | @Override
    method beforeExecution (line 188) | @Override
    method afterExecution (line 213) | @Override
    method isCommandSupportVerbose (line 237) | @Override
    method processAttach (line 242) | private void processAttach(@Nonnull final File resultFile) {
    method getAdditionalCommandFlags (line 253) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangCleanMojo.java
  class GolangCleanMojo (line 35) | @Mojo(name = "clean", defaultPhase = LifecyclePhase.CLEAN, threadSafe = ...
    method isSourceFolderRequired (line 55) | @Override
    method getGoCommand (line 60) | @Override
    method getSkipMojoPropertySuffix (line 66) | @Nullable
    method beforeExecution (line 72) | @Override
    method deleteStoreFolder (line 81) | private void deleteStoreFolder() throws MojoFailureException {
    method cleanGoPath (line 95) | private void cleanGoPath() throws MojoFailureException {
    method afterExecution (line 111) | @Override
    method isIgnoreNonResolvableArtifact (line 157) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangCustomMojo.java
  class GolangCustomMojo (line 31) | @Mojo(name = "custom", defaultPhase = LifecyclePhase.PACKAGE, threadSafe...
    method getSkipMojoPropertySuffix (line 40) | @Nullable
    method getGoCommand (line 46) | @Override
    method isEnforcePrintOutput (line 52) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangFixMojo.java
  class GolangFixMojo (line 31) | @Mojo(name = "fix", defaultPhase = LifecyclePhase.VALIDATE, threadSafe =...
    method isSourceFolderRequired (line 34) | @Override
    method getSkipMojoPropertySuffix (line 39) | @Nullable
    method getDefaultPackages (line 45) | @Override
    method getGoCommand (line 52) | @Override
    method isEnforcePrintOutput (line 58) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangFmtMojo.java
  class GolangFmtMojo (line 30) | @Mojo(name = "fmt", defaultPhase = LifecyclePhase.PROCESS_SOURCES, threa...
    method getGoCommand (line 33) | @Override
    method getSkipMojoPropertySuffix (line 39) | @Nullable
    method getDefaultPackages (line 45) | @Override
    method isSourceFolderRequired (line 52) | @Override
    method isEnforcePrintOutput (line 57) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangGenerateMojo.java
  class GolangGenerateMojo (line 31) | @Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES,...
    method getGoCommand (line 34) | @Override
    method getSkipMojoPropertySuffix (line 40) | @Nullable
    method getDefaultPackages (line 46) | @Override
    method isSourceFolderRequired (line 53) | @Override
    method isEnforcePrintOutput (line 58) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangGetMojo.java
  class GolangGetMojo (line 55) | @Mojo(name = "get", defaultPhase = LifecyclePhase.INITIALIZE, threadSafe...
    method processSlashes (line 189) | @Nonnull
    method isAllowLockSession (line 220) | public boolean isAllowLockSession() {
    method setAllowLockSession (line 224) | public void setAllowLockSession(final boolean flag) {
    method getExternalPackageFile (line 228) | @Nullable
    method getPackages (line 233) | @Override
    method getCustomScript (line 244) | @Nullable
    method processCVS (line 249) | private synchronized boolean processCVS(
    method processCustomScriptCallForPackage (line 339) | private boolean processCustomScriptCallForPackage(@Nonnull final Strin...
    method isDisableCvsAutoSearch (line 383) | public boolean isDisableCvsAutoSearch() {
    method getDeleteCommonPkg (line 387) | public boolean getDeleteCommonPkg() {
    method getSkipMojoPropertySuffix (line 391) | @Nullable
    method isSkip (line 397) | @Override
    method getCustomCvsOptions (line 404) | @Nullable
    method getRelativePathToCvsFolder (line 410) | @Nullable
    method isAutoFixGitCache (line 415) | public boolean isAutoFixGitCache() {
    method isEnforceDeletePackageFiles (line 419) | public boolean isEnforceDeletePackageFiles() {
    method getRevision (line 423) | @Nullable
    method getBranch (line 428) | @Nullable
    method getTag (line 433) | @Nullable
    method getCvsExe (line 438) | @Nullable
    method getGoCommand (line 443) | @Override
    method isEnforcePrintOutput (line 449) | @Override
    method isMojoMustNotBeExecuted (line 454) | @Override
    method extractProblemPackagesFromErrorLog (line 467) | @Nonnull
    method findRootCvsFolderForPackageSources (line 482) | @Nullable
    method getSrcFolder (line 502) | @Nonnull
    method makePathToPackageSources (line 507) | @Nonnull
    method makePathToPackageCompiled (line 527) | @Nonnull
    method tryToFixGitCacheErrorsForPackages (line 544) | private boolean tryToFixGitCacheErrorsForPackages(
    method preparePackageList (line 579) | private void preparePackageList() throws MojoExecutionException {
    method doesNeedSessionLock (line 657) | @Override
    method beforeExecution (line 662) | @Override
    method interpolate (line 815) | @Nonnull
    method isCommandSupportVerbose (line 824) | @Override
    method doesNeedOneMoreAttempt (line 829) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangInstallMojo.java
  class GolangInstallMojo (line 31) | @Mojo(name = "install", defaultPhase = LifecyclePhase.DEPLOY, threadSafe...
    method getSkipMojoPropertySuffix (line 34) | @Nullable
    method isSkip (line 40) | @Override
    method getGoCommand (line 47) | @Override
    method isSourceFolderRequired (line 53) | @Override
    method isEnforcePrintOutput (line 58) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangJfrogCliMojo.java
  class GolangJfrogCliMojo (line 46) | @Mojo(name = "jfrog-cli", defaultPhase = LifecyclePhase.NONE, threadSafe...
    method getArguments (line 80) | @Nonnull
    method getCliPath (line 86) | @Nonnull
    method getTarget (line 91) | @Nonnull
    method getCommand (line 96) | @Nonnull
    method getSkipMojoPropertySuffix (line 101) | @Nullable
    method prepareExecutor (line 107) | @Nonnull
    method getTailArguments (line 147) | @Nonnull
    method getGoCommand (line 154) | @Nonnull
    method getCommandFlags (line 160) | @Nonnull

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangListMojo.java
  class GolangListMojo (line 36) | @Mojo(name = "list", defaultPhase = LifecyclePhase.PROCESS_SOURCES, thre...
    method isListModules (line 57) | public boolean isListModules() {
    method isJson (line 61) | public boolean isJson() {
    method getAdditionalCommandFlags (line 65) | @Nonnull
    method getFormat (line 104) | @Nullable
    method getSkipMojoPropertySuffix (line 109) | @Nullable
    method getGoCommand (line 115) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangModMojo.java
  class GolangModMojo (line 34) | @Mojo(name = "mod", defaultPhase = LifecyclePhase.NONE, threadSafe = tru...
    method doesNeedSessionLock (line 49) | @Override
    method isModuleMode (line 54) | @Override
    method getAdditionalCommandFlags (line 59) | @Nonnull
    method getTailArguments (line 66) | @Nonnull
    method getCommand (line 73) | @Nonnull
    method setCommand (line 78) | public void setCommand(@Nonnull final String value) {
    method getGoCommand (line 82) | @Override
    method getSkipMojoPropertySuffix (line 88) | @Nullable
    method isEnforcePrintOutput (line 94) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangMvnInstallMojo.java
  class GolangMvnInstallMojo (line 54) | @Mojo(name = "mvninstall", defaultPhase = LifecyclePhase.INSTALL, thread...
    method getCompression (line 90) | public int getCompression() {
    method setCompression (line 94) | public void setCompression(final int level) {
    method getSkipMojoPropertySuffix (line 98) | @Nullable
    method isSkip (line 104) | @Override
    method doMainBusiness (line 111) | @Override
    method safeCopyDirectory (line 120) | private void safeCopyDirectory(@Nullable final String src, @Nonnull fi...
    method saveEffectivePom (line 138) | private void saveEffectivePom(@Nonnull final File folder) throws IOExc...
    method compressProjectFiles (line 153) | @Nonnull
    method restoreAllBackupGoMod (line 275) | private void restoreAllBackupGoMod(@Nonnull final File folder) throws ...
    method getTailArguments (line 297) | @Nonnull
    method getGoCommand (line 304) | @Nonnull
    method getCommandFlags (line 310) | @Nonnull

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangRunMojo.java
  class GolangRunMojo (line 37) | @SuppressWarnings("SpellCheckingInspection")
    method getArgs (line 63) | @Nonnull
    method getTailArguments (line 69) | @Override
    method isSourceFolderRequired (line 78) | @Override
    method getExtraBuildFlags (line 83) | @Override
    method getSkipMojoPropertySuffix (line 94) | @Nullable
    method getGoCommand (line 100) | @Override
    method isEnforcePrintOutput (line 106) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangTestMojo.java
  class GolangTestMojo (line 37) | @Mojo(name = "test", defaultPhase = LifecyclePhase.TEST, threadSafe = tr...
    method ensureGoExtension (line 46) | @Nonnull
    method getSkipMojoPropertySuffix (line 51) | @Nullable
    method isSkip (line 57) | @Override
    method getDefaultPackages (line 65) | @Override
    method isIgnoreErrorExitCode (line 90) | @Override
    method getTestFlags (line 97) | @Nullable
    method isSourceFolderRequired (line 103) | @Override
    method getOptionalExtraTailArguments (line 108) | @Override
    method getGoCommand (line 115) | @Override
    method isEnforcePrintOutput (line 121) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangToolMojo.java
  class GolangToolMojo (line 35) | @Mojo(name = "tool", defaultPhase = LifecyclePhase.PACKAGE, threadSafe =...
    method getArgs (line 50) | @Nullable
    method setArgs (line 56) | public void setArgs(@Nullable @MustNotContainNull final String[] value) {
    method getSkipMojoPropertySuffix (line 60) | @Nullable
    method getTailArguments (line 66) | @Override
    method getCommand (line 76) | @Nonnull
    method setCommand (line 81) | public void setCommand(@Nullable final String value) {
    method getGoCommand (line 85) | @Override
    method getCommandFlags (line 91) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangVetMojo.java
  class GolangVetMojo (line 31) | @Mojo(name = "vet", defaultPhase = LifecyclePhase.VERIFY, threadSafe = t...
    method getDefaultPackages (line 34) | @Override
    method getSkipMojoPropertySuffix (line 41) | @Nullable
    method getGoCommand (line 47) | @Override
    method isEnforcePrintOutput (line 53) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/AbstractRepo.java
  class AbstractRepo (line 37) | public abstract class AbstractRepo {
    method AbstractRepo (line 41) | public AbstractRepo(@Nonnull final String command) {
    method getCommand (line 45) | @Nonnull
    method execute (line 50) | public int execute(@Nullable String customCommand, @Nonnull final Log ...
    method checkResult (line 94) | protected boolean checkResult(@Nonnull final Log logger, final int cod...
    method doesContainCVS (line 98) | public abstract boolean doesContainCVS(@Nonnull File folder);
    method prepareFolder (line 100) | public boolean prepareFolder(@Nonnull final Log logger, @Nullable fina...
    method processCVSForCustomOptions (line 105) | public boolean processCVSForCustomOptions(
    method processCVSRequisites (line 116) | public abstract boolean processCVSRequisites(

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CVSType.java
  type CVSType (line 23) | public enum CVSType {
    method CVSType (line 32) | CVSType(@Nonnull final AbstractRepo processor) {
    method investigateFolder (line 36) | @Nonnull
    method getProcessor (line 50) | @Nonnull

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsBZR.java
  class CvsBZR (line 25) | public class CvsBZR extends AbstractRepo {
    method CvsBZR (line 27) | public CvsBZR() {
    method doesContainCVS (line 31) | @Override
    method processCVSRequisites (line 36) | @Override
    method upToBranch (line 63) | private boolean upToBranch(@Nonnull final Log logger, @Nullable final ...
    method upToTag (line 71) | private boolean upToTag(@Nonnull final Log logger, @Nullable final Pro...
    method upToRevision (line 79) | private boolean upToRevision(@Nonnull final Log logger, @Nullable fina...

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsGIT.java
  class CvsGIT (line 25) | class CvsGIT extends AbstractRepo {
    method CvsGIT (line 27) | CvsGIT() {
    method doesContainCVS (line 31) | @Override
    method processCVSRequisites (line 36) | @Override
    method upToBranch (line 69) | private boolean upToBranch(@Nonnull final Log logger, @Nullable final ...
    method upToTag (line 77) | private boolean upToTag(@Nonnull final Log logger, @Nullable final Pro...
    method upToRevision (line 86) | private boolean upToRevision(@Nonnull final Log logger, @Nullable fina...

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsHG.java
  class CvsHG (line 25) | class CvsHG extends AbstractRepo {
    method CvsHG (line 27) | CvsHG() {
    method doesContainCVS (line 31) | @Override
    method processCVSRequisites (line 36) | @Override
    method upToBranch (line 64) | private boolean upToBranch(@Nonnull final Log logger, @Nullable final ...
    method upToTag (line 72) | private boolean upToTag(@Nonnull final Log logger, @Nullable final Pro...
    method upToRevision (line 80) | private boolean upToRevision(@Nonnull final Log logger, @Nullable fina...

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsNone.java
  class CvsNone (line 25) | class CvsNone extends AbstractRepo {
    method CvsNone (line 27) | CvsNone() {
    method processCVSRequisites (line 31) | @Override
    method doesContainCVS (line 44) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsSVN.java
  class CvsSVN (line 25) | class CvsSVN extends AbstractRepo {
    method CvsSVN (line 27) | CvsSVN() {
    method processCVSRequisites (line 31) | @Override
    method doesContainCVS (line 59) | @Override
    method upToBranch (line 64) | private boolean upToBranch(@Nonnull final Log logger, @Nullable final ...
    method upToTag (line 73) | private boolean upToTag(@Nonnull final Log logger, @Nullable final Pro...
    method upToRevision (line 82) | private boolean upToRevision(@Nonnull final Log logger, @Nullable fina...

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/GoMod.java
  class GoMod (line 31) | public final class GoMod {
    method GoMod (line 37) | private GoMod(@Nonnull @MustNotContainNull final List<GoModItem> items) {
    method quoteIfHasSpace (line 43) | @Nonnull
    method ensureNoQuoting (line 48) | @Nonnull
    method extractModuleInfo (line 53) | @Nonnull
    method from (line 109) | @Nonnull
    method equals (line 341) | @Override
    method hashCode (line 365) | @Override
    method addItem (line 370) | @Nonnull
    method find (line 377) | @Nonnull
    method size (line 391) | public int size() {
    method toString (line 395) | @Nonnull
    method hasReplaceFor (line 408) | public boolean hasReplaceFor(@Nonnull final String moduleName, @Nullab...
    method hasRequireFor (line 422) | public boolean hasRequireFor(@Nonnull final String moduleName, @Nullab...
    method getModule (line 436) | @Nullable
    type ParserState (line 442) | private enum ParserState {
    class GoModItem (line 451) | public static abstract class GoModItem implements Comparable<GoModItem> {
      method compareTo (line 453) | @Override
      method getPriority (line 462) | public abstract int getPriority();
      method equals (line 464) | @Override
      method hashCode (line 467) | @Override
    class ModuleInfo (line 471) | public final static class ModuleInfo {
      method ModuleInfo (line 476) | public ModuleInfo(@Nonnull final String name) {
      method ModuleInfo (line 481) | public ModuleInfo(@Nonnull final String name, @Nullable final String...
      method getName (line 486) | @Nonnull
      method getVersion (line 491) | @Nullable
      method equals (line 496) | @Override
      method hashCode (line 513) | @Override
      method toString (line 518) | @Nonnull
    class GoModule (line 526) | public static final class GoModule extends GoModItem {
      method GoModule (line 530) | public GoModule(@Nonnull final ModuleInfo module) {
      method equals (line 534) | @Override
      method hashCode (line 549) | @Override
      method getModuleInfo (line 554) | @Nonnull
      method toString (line 559) | @Override
      method getPriority (line 565) | @Override
    class GoRequire (line 571) | public static class GoRequire extends GoModItem {
      method GoRequire (line 575) | public GoRequire(@Nonnull final ModuleInfo moduleInfo) {
      method equals (line 579) | @Override
      method hashCode (line 594) | @Override
      method getModuleInfo (line 599) | @Nonnull
      method toString (line 604) | @Nonnull
      method getPriority (line 610) | @Override
    class GoCustom (line 616) | public static final class GoCustom extends GoModItem {
      method GoCustom (line 621) | public GoCustom(@Nonnull final String name,
      method equals (line 627) | @Override
      method hashCode (line 643) | @Override
      method toString (line 648) | @Nonnull
      method getPriority (line 665) | @Override
    class GoReplace (line 671) | public static final class GoReplace extends GoModItem {
      method GoReplace (line 676) | public GoReplace(@Nonnull final ModuleInfo module, @Nonnull final Mo...
      method equals (line 681) | @Override
      method hashCode (line 697) | @Override
      method getModule (line 702) | @Nonnull
      method getReplacement (line 707) | @Nonnull
      method toString (line 712) | @Nonnull
      method getPriority (line 718) | @Override
    class GoExclude (line 725) | public static final class GoExclude extends GoModItem {
      method GoExclude (line 729) | public GoExclude(@Nonnull final ModuleInfo module) {
      method getModule (line 733) | @Nonnull
      method equals (line 738) | @Override
      method hashCode (line 753) | @Override
      method toString (line 758) | @Nonnull
      method getPriority (line 764) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/IOUtils.java
  class IOUtils (line 38) | public final class IOUtils {
    method IOUtils (line 40) | private IOUtils() {
    method printTextProgressBar (line 55) | public static int printTextProgressBar(@Nonnull final String text, fin...
    method makeOsFilePathWithoutDuplications (line 89) | @Nonnull
    method makeOsFilePathWithoutDuplications (line 117) | @Nonnull
    method closeSilently (line 141) | public static void closeSilently(@Nullable final Closeable closeable) {

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/MavenUtils.java
  class MavenUtils (line 53) | public final class MavenUtils {
    method MavenUtils (line 58) | private MavenUtils() {
    method isTestPhase (line 68) | public static boolean isTestPhase(@Nonnull final MojoExecution executi...
    method makeResolveArtifactProjectBuildingRequest (line 82) | @Nonnull
    method parseArtifactRecord (line 105) | @Nonnull
    method makeArtifactRecord (line 132) | @Nonnull
    method scanForMvnGoArtifacts (line 159) | @Nonnull
    method doesContainFile (line 246) | private static boolean doesContainFile(
    method findProperty (line 259) | @Nullable

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/MvnGolangArtifactHandler.java
  class MvnGolangArtifactHandler (line 27) | public final class MvnGolangArtifactHandler extends DefaultArtifactHandl...
    method MvnGolangArtifactHandler (line 29) | public MvnGolangArtifactHandler() {

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/PackageList.java
  class PackageList (line 45) | public final class PackageList {
    method PackageList (line 50) | public PackageList(@Nonnull @MustNotContainNull final File file, @Nonn...
    method removeComment (line 76) | @Nonnull
    method removeQuotes (line 107) | @Nonnull
    method getPackages (line 116) | @Nonnull
    type ContentProvider (line 122) | public interface ContentProvider {
      method readContent (line 124) | @Nonnull
    class Package (line 131) | public static final class Package {
      method Package (line 147) | public Package(@Nonnull final String pkg, @Nullable final String bra...
      method Package (line 155) | private Package(@Nonnull String textLine) throws ParseException {
      method makeString (line 200) | @Nonnull
      method doesNeedCvsProcessing (line 206) | public boolean doesNeedCvsProcessing() {
      method getPackage (line 210) | @Nonnull
      method getBranch (line 215) | @Nullable
      method getTag (line 220) | @Nullable
      method getRevision (line 225) | @Nullable
      method toString (line 230) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/ProxySettings.java
  class ProxySettings (line 27) | public class ProxySettings {
    method ProxySettings (line 59) | public ProxySettings() {
    method ProxySettings (line 62) | public ProxySettings(@Nonnull final Proxy mavenProxy) {
    method hasCredentials (line 71) | public boolean hasCredentials() {
    method toString (line 75) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/StringComparatorABC.java
  class StringComparatorABC (line 24) | @ThreadSafe
    method StringComparatorABC (line 31) | private StringComparatorABC() {
    method getInstance (line 34) | @Nonnull
    method compare (line 39) | @Override

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/SysUtils.java
  class SysUtils (line 30) | public final class SysUtils {
    method SysUtils (line 32) | private SysUtils() {
    method findGoSdkOsType (line 35) | @Nullable
    method decodeGoSdkArchType (line 52) | @Nullable

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/Tuple.java
  class Tuple (line 23) | public class Tuple<A, B> {
    method Tuple (line 28) | private Tuple(@Nonnull final A left, @Nonnull final B right) {
    method of (line 33) | @Nonnull
    method equals (line 38) | @Override
    method toString (line 53) | @Override
    method hashCode (line 59) | @Override
    method left (line 64) | @Nonnull
    method right (line 69) | @Nonnull

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/UnpackUtils.java
  class UnpackUtils (line 44) | public final class UnpackUtils {
    method UnpackUtils (line 48) | private UnpackUtils() {
    method unpackFileToFolder (line 51) | public static int unpackFileToFolder(@Nonnull final Log logger, @Nulla...
    type ArchEntryGetter (line 188) | private interface ArchEntryGetter {
      method getNextEntry (line 190) | @Nullable
    class CantReadArchiveEntryException (line 194) | public static class CantReadArchiveEntryException extends RuntimeExcep...
      method CantReadArchiveEntryException (line 198) | public CantReadArchiveEntryException(@Nullable final Throwable cause) {

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/WildCardMatcher.java
  class WildCardMatcher (line 23) | public final class WildCardMatcher {
    method WildCardMatcher (line 28) | public WildCardMatcher(@Nonnull final String txt) {
    method match (line 49) | public boolean match(@Nonnull final String txt) {
    method toString (line 53) | @Nonnull

FILE: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/XGoogHashHeader.java
  class XGoogHashHeader (line 32) | public class XGoogHashHeader {
    method XGoogHashHeader (line 40) | public XGoogHashHeader(@Nonnull @MustNotContainNull final Header[] hea...
    method hasData (line 73) | public boolean hasData() {
    method hasMd5 (line 77) | public boolean hasMd5() {
    method getMd5 (line 81) | @Nullable
    method hasCrc32c (line 86) | public boolean hasCrc32c() {
    method getCrc32c (line 90) | @Nullable
    method isFileOk (line 95) | public boolean isFileOk(@Nonnull final Log log, @Nonnull final File fi...
    method toString (line 115) | @Nonnull
    method isValid (line 129) | public boolean isValid() {
    class Crc32c (line 133) | private static class Crc32c {
      method Crc32c (line 207) | public Crc32c() {
      method reset (line 211) | public void reset() {
      method getCrc (line 215) | public long getCrc() {
      method update (line 219) | public long update(@Nonnull final InputStream in) throws IOException {
      method update (line 230) | public long update(int b) {
      method updateByte (line 237) | private long updateByte(byte newByte, long crc) {
      method toString (line 243) | @Nonnull

FILE: mvn-golang-wrapper/src/test/java/com/igormaznitsa/mvngolang/GolangBuildMojoTest.java
  class GolangBuildMojoTest (line 31) | public class GolangBuildMojoTest {
    method makeBuildMojo (line 33) | private GolangBuildMojo makeBuildMojo() {
    method testPackageTest_Multiple (line 41) | @Test
    method testPackageTest_Single (line 49) | @Test

FILE: mvn-golang-wrapper/src/test/java/com/igormaznitsa/mvngolang/GolangModMojoCfgTest.java
  class GolangModMojoCfgTest (line 33) | public class GolangModMojoCfgTest extends AbstractMojoTestCase {
    method assertEqualsPath (line 35) | private static void assertEqualsPath(final String etalon, final String...
    method findMojo (line 49) | private <T> T findMojo(final Class<T> klazz, final String pomName, fin...
    method setUp (line 60) | @Override
    method tearDown (line 65) | @Override
    method testGolangCustomMojoConfiguration (line 70) | @Test
    method testGolangJfrogCliMojoConfiguration (line 108) | @Test
    method testGolangCleanMojoConfiguration (line 146) | @Test
    method testGolangMvnInstallMojoConfiguration (line 172) | @Test
    method testGolangFixMojoConfiguration (line 179) | @Test
    method testGolangFmtMojoConfiguration (line 200) | @Test
    method testGolangGenerateMojoConfiguration (line 220) | @Test
    method testGolangInstallMojoConfiguration (line 241) | @Test
    method testGolangVetMojoConfiguration (line 262) | @Test
    method testGolangTestMojoConfiguration (line 282) | @Test
    method testGolangToolMojoConfiguration (line 307) | @Test
    method testGolangModMojoConfiguration (line 329) | @Test
    method testGolangRunMojoConfiguration (line 337) | @Test
    method testGolangGetMojoConfiguration (line 358) | @Test
    method testGolangBuildMojoConfiguration (line 406) | @Test

FILE: mvn-golang-wrapper/src/test/java/com/igormaznitsa/mvngolang/utils/GoModTest.java
  class GoModTest (line 25) | public class GoModTest {
    method assertModules (line 27) | private void assertModules(final GoMod model, final String... texts) {
    method testComplex1 (line 35) | @Test
    method testComplex2 (line 56) | @Test
    method testComplex3 (line 100) | @Test
    method testComplex4 (line 125) | @Test
    method testComplex4WindowsPath (line 143) | @Test
    method testComplex5 (line 161) | @Test
    method testModule (line 182) | @Test

FILE: mvn-golang-wrapper/src/test/java/com/igormaznitsa/mvngolang/utils/MavenUtilsTest.java
  class MavenUtilsTest (line 25) | public class MavenUtilsTest {
    method testArtifactWithVersion (line 27) | @Test
    method testArtifactWithVersionRange_TwoVersions (line 36) | @Test
    method testArtifactWithVersionRange_RangeDiapasone (line 45) | @Test
    method testArtifactWithVersionRange_AllFieldsSet (line 54) | @Test

FILE: mvn-golang-wrapper/src/test/java/com/igormaznitsa/mvngolang/utils/PackageListTest.java
  class PackageListTest (line 30) | public class PackageListTest {
    method readContent (line 35) | @Override
    method testRemoveQuotes (line 42) | @Test
    method testRemoveComment_CheckQuotes_False (line 52) | @Test
    method testRemoveComment_CheckQuotes_True (line 67) | @Test
    method testEmptyText (line 83) | @Test
    method testOnlyCommentLine (line 88) | @Test
    method testOnlyPackageName (line 93) | @Test
    method testTwoPackages (line 104) | @Test
    method testInclude (line 122) | @Test
    method testWrongFormat_NoKey (line 141) | @Test(expected = ParseException.class)
    method testWrongFormat_OnlyKey (line 146) | @Test(expected = ParseException.class)
    method testWrongFormat_WrongKey (line 151) | @Test(expected = IllegalArgumentException.class)
    method testWrongFormat_DoubleQuotes (line 156) | @Test(expected = ParseException.class)

FILE: mvn-golang-wrapper/src/test/java/com/igormaznitsa/mvngolang/utils/StringComparatorABCTest.java
  class StringComparatorABCTest (line 27) | public class StringComparatorABCTest {
    method testSorting (line 29) | @Test

FILE: mvn-golang-wrapper/src/test/java/com/igormaznitsa/mvngolang/utils/SysUtilsTest.java
  class SysUtilsTest (line 25) | public class SysUtilsTest {
    method testDecodeGoSdkArchType (line 27) | @Test
Condensed preview — 229 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (777K chars).
[
  {
    "path": ".github/workflows/maven.yml",
    "chars": 283,
    "preview": "name: Java CI\n\non: [push]\n\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/checkout@v1\n    - "
  },
  {
    "path": ".gitignore",
    "chars": 465,
    "preview": "**/bin/\n**/.preprocessed_src/\n**/pkg/\n**/target/\npom.xml.tag\npom.xml.releaseBackup\npom.xml.versionsBackup\npom.xml.next\nr"
  },
  {
    "path": ".projectKnowledge/doc_common.mmd",
    "chars": 28710,
    "preview": "Mind Map generated by NB MindMap plugin   \n> __version__=`1.1`,showJumps=`true`\n---\n\n# MVN\\-GOLANG<br/>2\\.3\\.9\n\n## modul"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 11867,
    "preview": "# __2.3.10 (08-jun-2022)__\n\n- updated dependencies\n- default GoSDK version is 1.19\n\n# __2.3.9 (04-jul-2021)__\n\n- fix for"
  },
  {
    "path": "LICENSE",
    "chars": 11357,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "README.md",
    "chars": 13763,
    "preview": "![mvn-golang](assets/git_banner.png)\n\n> [!WARNING]  \n> I have archived this project because Golang has changed significa"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/pom.xml",
    "chars": 2160,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/resources/azul3d_mandel/mandel.frag",
    "chars": 120,
    "preview": "#version 120\n\nvarying vec2 tc0;\n\nuniform sampler2D Texture0;\n\nvoid main()\n{\n\tgl_FragColor = texture2D(Texture0, tc0);\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/resources/azul3d_mandel/mandel.vert",
    "chars": 151,
    "preview": "#version 120\n\nattribute vec3 Vertex;\nattribute vec2 TexCoord0;\n\nvarying vec2 tc0;\n\nvoid main()\n{\n\ttc0 = TexCoord0;\n\tgl_P"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/azul3d_mandel.go",
    "chars": 6912,
    "preview": "// Copyright 2014 The Azul3D Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// lice"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/go.mod",
    "chars": 149,
    "preview": "module github.com/mycodesmells/golang-examples/modules\n\n        go 1.16\n\n        require github.com/azul3d/engine v0.0.0"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/go.sum",
    "chars": 2699,
    "preview": "azul3d.org/engine v0.0.0-20180624221640-25c8eab2d474 h1:HrLWoqa15YkXa5jtwSRy7mEmmO9ZOPEFe0uMNmH+iyI=\nazul3d.org/engine v"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-azul3d-mandelbrot/src/mandelbrot.go",
    "chars": 1336,
    "preview": "// Copyright 2014 The Azul3D Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// lice"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-clui/pom.xml",
    "chars": 2511,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-clui/res/themes/acsii.theme",
    "chars": 493,
    "preview": "//----------------- Theme properties -----------------\ntitle=ASCII\nauthor=Vladimir Markelov\nversion=1.0 (2015-11-02)\npa"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-clui/res/themes/turbovision.theme",
    "chars": 1966,
    "preview": "//----------------- Theme properties -----------------\ntitle=TurboVision\nauthor=Vladimir Markelov\nversion=1.0 (2016-01-"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-clui/src/main.go",
    "chars": 1615,
    "preview": "package main\n\nimport (\n\tui \"github.com/VladimirMarkelov/clui\"\n)\n\nfunc main() {\n\tui.InitLibrary()\n\tdefer ui.DeinitLibrary"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-fyne/pom.xml",
    "chars": 1233,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-fyne/src/go.mod",
    "chars": 1725,
    "preview": "module github.com/mycodesmells/golang-examples/fyne\n\ngo 1.20\n\nrequire fyne.io/fyne/v2 v2.5.1\n\nrequire (\n\tfyne.io/systray"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-fyne/src/go.sum",
    "chars": 63974,
    "preview": "cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=\ncloud.google.com/go v0.34.0/go.mod h1"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-fyne/src/hello.go",
    "chars": 340,
    "preview": "package main\n\nimport (\n\t\"fyne.io/fyne/v2/app\"\n\t\"fyne.io/fyne/v2/container\"\n\t\"fyne.io/fyne/v2/widget\"\n)\n\nfunc main() {\n\ta"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-genbindata/data/la_espero.txt",
    "chars": 708,
    "preview": "En la mondon venis nova sento,\nTra la mondo iras forta voko;\nPer flugiloj de facila vento\nNun de loko flugu ĝi al loko.\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-genbindata/pom.xml",
    "chars": 2374,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-genbindata/src/main.go",
    "chars": 372,
    "preview": "package main\n\nimport (\n\t\"example/bindata\"\n\t\"fmt\"\n\t\"os\"\n)\n\n//go:generate go-bindata -prefix \"../data/\" -pkg bindata -o .."
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gocui/pom.xml",
    "chars": 1589,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gocui/src/gocui.go",
    "chars": 735,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\n\t\"github.com/jroimartin/gocui\"\n)\n\nfunc main() {\n\tg, err := gocui.NewGui(gocui.Outp"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-goexample/pom.xml",
    "chars": 1290,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-goexample/src/golang-book/chapter11/math/math.go",
    "chars": 147,
    "preview": "package math\n\nfunc Average(xs []float64) float64 {\n\ttotal := float64(0)\n\tfor _, x := range xs {\n\t\ttotal += x\n\t}\n\treturn "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-goexample/src/golang-book/chapter11/math/math_test.go",
    "chars": 165,
    "preview": "package math\n\nimport \"testing\"\n\nfunc TestAverage(t *testing.T) {\n\tvar v float64\n\tv = Average([]float64{1, 2})\n\tif v != 1"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-goexample/src/main.go",
    "chars": 152,
    "preview": "package main\n\nimport \"fmt\"\nimport \"golang-book/chapter11/math\"\n\nfunc main() {\n\txs := []float64{1, 2, 3, 4}\n\tavg := math."
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-goterm/pom.xml",
    "chars": 1751,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-goterm/src/time.go",
    "chars": 380,
    "preview": "package main\n\nimport (\n\ttm \"github.com/buger/goterm\"\n\t\"math\"\n)\n\nfunc main() {\n\ttm.Clear()\n\ttm.MoveCursor(0, 0)\n\n\tchart :"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui/dependencies.txt",
    "chars": 80,
    "preview": "package:github.com/andlabs/ui,revision:867a9e5a498d85e2722730ed88c5f00560c7c354\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui/pom.xml",
    "chars": 1529,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui/src/main.go",
    "chars": 643,
    "preview": "package main\n\nimport (\n\t\"github.com/andlabs/ui\"\n)\n\nfunc main() {\n\terr := ui.Main(func() {\n\t\tname := ui.NewEntry()\n\t\tbutt"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/backend/pom.xml",
    "chars": 3124,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/backend/src/main.go",
    "chars": 3681,
    "preview": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"front/bindata\"\n\t\"github.com/skratchdot/open-golang/open\"\n\t\"io\"\n\t\"log\""
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/pom.xml",
    "chars": 4554,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project\n    xmlns=\"http://maven.apache.org/POM/4.0.0\"\n    xmlns:xsi=\"http://www."
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/BackendService.java",
    "chars": 6429,
    "preview": "/*\n * Copyright 2018 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/FrontendMain.java",
    "chars": 3605,
    "preview": "package com.igormaznitsa.client;\n\nimport com.google.gwt.core.client.EntryPoint;\nimport com.google.gwt.core.shared.GWT;\ni"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/java/com/igormaznitsa/client/Messages.java",
    "chars": 357,
    "preview": "package com.igormaznitsa.client;\n\nimport com.google.gwt.i18n.client.LocalizableResource.Generate;\n\n@Generate(format = \"c"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/resources/com/igormaznitsa/client/Messages_fr.properties",
    "chars": 49,
    "preview": "sendButton = Envoyer\nnameField = Entrez votre nom"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/resources/com/igormaznitsa/gwtfrontend.gwt.xml",
    "chars": 1017,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module rename-to=\"gwtfront\">\n  <!-- Inherit the core Web Toolkit stuff.         "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/webapp/WEB-INF/web.xml",
    "chars": 318,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE web-app\n    PUBLIC \"-//Sun Microsystems, Inc.//DTD Web Application 2.3/"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/webapp/index.html",
    "chars": 3110,
    "preview": "<!doctype html>\n<!-- The DOCTYPE declaration above will set the    -->\n<!-- browser's rendering engine into             "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/main/webapp/main.css",
    "chars": 761,
    "preview": "body {\n    margin-top: 5% !important;\n    margin-bottom: 5% !important;\n    margin-left:  10% !important;\n    margin-rig"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/frontend/src/test/resources/com/igormaznitsa/gotestJUnit.gwt.xml",
    "chars": 352,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module rename-to=\"gotest\">\n  <!-- Inherit our applications main module.         "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-gui-gwt/pom.xml",
    "chars": 1320,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld/pom.xml",
    "chars": 5030,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld/src/main.go",
    "chars": 360,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\t\"sync/atomic\"\n)\n\nvar Buildstamp string\nvar svnRevision string\n\nfunc FunctionForVe"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-gomod/pom.xml",
    "chars": 2579,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-gomod/src/go.mod",
    "chars": 101,
    "preview": "module github.com/mycodesmells/golang-examples/modules\n\n        require github.com/pkg/errors v0.9.1\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-gomod/src/go.sum",
    "chars": 161,
    "preview": "github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=\ngithub.com/pkg/errors v0.9.1/go.mod h1:bwaw"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-gomod/src/main.go",
    "chars": 460,
    "preview": "package main\n\nimport (\n\t\"flag\"\n\t\"fmt\"\n\t\"github.com/pkg/errors\"\n)\n\n// parts of https://www.mycodesmells.com/post/go-modul"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-multisrc/lib1/src/pack1/src1some.go",
    "chars": 57,
    "preview": "package pack1\n\nfunc Pack1() string {\n    return \"Pack1\"\n}"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-multisrc/lib2/src/pack2/src2some.go",
    "chars": 98,
    "preview": "package pack2\n\nimport (\n    \"pack1\"\n)\n\nfunc Pack2() string {\n    return \"Pack2-\" + pack1.Pack1()\n}"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-multisrc/pom.xml",
    "chars": 1828,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-helloworld-multisrc/src/main.go",
    "chars": 104,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"pack2\"\n)\n\nfunc main() {\n\tfmt.Printf(\"Hello, \" + pack2.Pack2() + \"\\n\")\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-logrus/pom.xml",
    "chars": 1549,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-logrus/src/gologrus.go",
    "chars": 528,
    "preview": "package main\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"os\"\n)\n\nfunc init() {\n\t// Log as JSON instead of the default A"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-app/pom.xml",
    "chars": 2327,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-app/src/go.mod",
    "chars": 104,
    "preview": "module main\n\nrequire (\n\tcom.igormaznitsa/testmixproxy v1.0.0\n\tcom.igormaznitsa/testmixterminal v1.0.0\n)\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-app/src/go.sum",
    "chars": 1382,
    "preview": "github.com/cjbassi/drawille-go v0.0.0-20190126131713-27dc511fe6fd h1:XtfPmj9tQRilnrEmI1HjQhxXWRhEM+m8CACtaMJE/kM=\ngithub"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-app/src/main.go",
    "chars": 458,
    "preview": "package main\n\nimport (\n\t\"com.igormaznitsa/testmixproxy\"\n\t\"com.igormaznitsa/testmixterminal\"\n\t\"fmt\"\n\t\"os\"\n)\n\nfunc main() "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-proxy/pom.xml",
    "chars": 1119,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-proxy/src/com.igormaznitsa/testmixproxy/Proxy.go",
    "chars": 630,
    "preview": "package testmixproxy\n\nimport (\n\t\"flag\"\n\t\"github.com/elazarl/goproxy\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc StartProxy() {\n\tverbose "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-proxy/src/com.igormaznitsa/testmixproxy/go.mod",
    "chars": 108,
    "preview": "module com.igormaznitsa/testmixproxy\n\nrequire github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-proxy/src/com.igormaznitsa/testmixproxy/go.sum",
    "chars": 227,
    "preview": "github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e h1:p1yVGRW3nmb85p1Sh1ZJSDm4A4iKLS5QNbvUHMgGu/M=\ngithub.com"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-terminal/pom.xml",
    "chars": 1122,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-terminal/src/com.igormaznitsa/testmixterminal/Terminal.go",
    "chars": 3703,
    "preview": "package testmixterminal\n\nimport (\n\t\"log\"\n\t\"math\"\n\t\"time\"\n\n\tui \"github.com/gizak/termui/v3\"\n\t\"github.com/gizak/termui/v3/"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-terminal/src/com.igormaznitsa/testmixterminal/go.mod",
    "chars": 92,
    "preview": "module com.igormaznitsa/testmixterminal\n\ngo 1.14\n\nrequire github.com/gizak/termui/v3 v3.0.0\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/mvn-go-test-mix-terminal/src/com.igormaznitsa/testmixterminal/go.sum",
    "chars": 1155,
    "preview": "github.com/cjbassi/drawille-go v0.0.0-20190126131713-27dc511fe6fd h1:XtfPmj9tQRilnrEmI1HjQhxXWRhEM+m8CACtaMJE/kM=\ngithub"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-module-mix/pom.xml",
    "chars": 875,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-app/pom.xml",
    "chars": 2111,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-app/src/main.go",
    "chars": 167,
    "preview": "package main\n\nimport (\n\t\"com.igormaznitsa/mvngotest\"\n\t\"com.igormaznitsa/mvngotesttwo\"\n)\n\nfunc main() {\n\tmvngotest.SomeTe"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-lib/pom.xml",
    "chars": 1468,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-lib/src/com.igormaznitsa/mvngotest/SomeUtils.go",
    "chars": 216,
    "preview": "package mvngotest\n\nimport (\n\tmeta \"com.igormaznitsa/mvngotestmeta\"\n\t\"fmt\"\n)\n\nvar Buildstamp string\nvar svnRevision strin"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-lib/src/com.igormaznitsa/mvngotest/go.mod",
    "chars": 217,
    "preview": "module com.igormaznitsa/mvngotest\n\nrequire com.igormaznitsa/mvngotestmeta v1.0.0\n\nreplace com.igormaznitsa/mvngotestmeta"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-libtwo/pom.xml",
    "chars": 1471,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-libtwo/src/com.igormaznitsa/mvngotesttwo/SomeUtils.go",
    "chars": 225,
    "preview": "package mvngotesttwo\n\nimport (\n\tmeta \"com.igormaznitsa/mvngotestmeta\"\n\t\"fmt\"\n)\n\nvar Buildstamp string\nvar svnRevision st"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-libtwo/src/com.igormaznitsa/mvngotesttwo/go.mod",
    "chars": 220,
    "preview": "module com.igormaznitsa/mvngotesttwo\n\nrequire com.igormaznitsa/mvngotestmeta v1.0.0\n\nreplace com.igormaznitsa/mvngotestm"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-metalib/pom.xml",
    "chars": 1237,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-metalib/src/com.igormaznitsa/mvngotestmeta/MetaUtils.go",
    "chars": 89,
    "preview": "package mvngotestmeta\n\nfunc SomeMetaMethod(arg string) string {\n\treturn \"Hello \" + arg\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/mvn-go-test-metalib/src/com.igormaznitsa/mvngotestmeta/go.mod",
    "chars": 38,
    "preview": "module com.igormaznitsa/mvngotestmeta\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-maven-repository/pom.xml",
    "chars": 1036,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/app-1/pom.xml",
    "chars": 1360,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/app-1/src/main.go",
    "chars": 80,
    "preview": "package main\n\nimport (\n\t\"common\"\n)\n\nfunc main() {\n\tcommon.PrintHello(\"world\")\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/app-1/src/main_test.go",
    "chars": 72,
    "preview": "package main\n\nimport \"testing\"\n\nfunc TestMain(t *testing.T) {\n\tmain()\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/app-2/pom.xml",
    "chars": 1360,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/app-2/src/main.go",
    "chars": 78,
    "preview": "package main\n\nimport \"common\"\n\nfunc main() {\n\tcommon.PrintHello(\"universe\")\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/app-2/src/main_test.go",
    "chars": 72,
    "preview": "package main\n\nimport \"testing\"\n\nfunc TestMain(t *testing.T) {\n\tmain()\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/assembly-results/deploy.xml",
    "chars": 1248,
    "preview": "<assembly xmlns=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2\" \n          xmlns:xsi=\"http://www."
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/assembly-results/pom.xml",
    "chars": 2274,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/common/pom.xml",
    "chars": 1558,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/common/src/common/common.go",
    "chars": 93,
    "preview": "package common\n\nimport \"fmt\"\n\nfunc PrintHello(name string) {\n\tfmt.Println(\"Hello,\" + name)\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/common/src/common/common_test.go",
    "chars": 92,
    "preview": "package common\n\nimport \"testing\"\n\nfunc TestPrintHello(t *testing.T) {\n\tPrintHello(\"Igor\")\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-multimodule/pom.xml",
    "chars": 887,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-nes/pom.xml",
    "chars": 2215,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-oak-shooter/pom.xml",
    "chars": 2144,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-oak-shooter/src/go.mod",
    "chars": 123,
    "preview": "module github.com/mycodesmells/golang-examples/modules\n\n        go 1.16\n\n        require github.com/oakmound/oak/v2 v2.5"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-oak-shooter/src/go.sum",
    "chars": 5494,
    "preview": "github.com/200sc/go-dist v1.0.0 h1:Y9bl++4+d8NFv5hzwHyaxbXZmexVCic/rUdQOTq7Jec=\ngithub.com/200sc/go-dist v1.0.0/go.mod h"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-oak-shooter/src/performance.go",
    "chars": 6199,
    "preview": "package main\n\nimport (\n\t\"image/color\"\n\t\"math/rand\"\n\t\"path/filepath\"\n\t\"time\"\n\n\t\"github.com/oakmound/oak/v2/render/mod\"\n\n\t"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-plugin/pom.xml",
    "chars": 1919,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-plugin/src/arithplugin.go",
    "chars": 97,
    "preview": "package main\n\nfunc Add(x, y int) int {\n\treturn x + y\n}\n\nfunc Sub(x, y int) int {\n\treturn x - y\n}\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-plugin/src/arithplugin_test.go",
    "chars": 212,
    "preview": "package main\n\nimport (\n\t\"testing\"\n)\n\nfunc TestAdd(t *testing.T) {\n\tif Add(4, 7) != 11 {\n\t\tt.Fatalf(\"Wrong Add result\")\n\t"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-preprocessing/pom.xml",
    "chars": 3779,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-preprocessing/src/inlined.go",
    "chars": 490,
    "preview": "//#excludeif true\n//#-\npackage main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"image/png\"\n\t\"log\"\n)\n\nfunc main() {\n\t//#+\n\tvar imageArray"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-preprocessing/src/main.go",
    "chars": 434,
    "preview": "package main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"image/png\"\n\t\"log\"\n)\n\nfunc main() {\n\tfmt.Printf(\"Example of preprocessing GoLang"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-preprocessing/src/text.txt",
    "chars": 123,
    "preview": "The Text is defined in\nexternal text UTF8 resource file!\nОн содержит и странные русские буквы (для непосвященных) и даже"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-primitive/pom.xml",
    "chars": 1927,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-protobuf/go-dependencies.lst",
    "chars": 40,
    "preview": "package:github.com/golang/protobuf/proto"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-protobuf/pom.xml",
    "chars": 3657,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-protobuf/proto/person.proto",
    "chars": 143,
    "preview": "syntax=\"proto3\";\n\npackage protoexample;\noption go_package=\"github.com/raydac\";\n\nmessage Person {\n      string name = 1;\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-protobuf/src/main.go",
    "chars": 730,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"github.com/golang/protobuf/proto\"\n\t\"log\"\n\tprotoexample \"protoexample/github.com/raydac\"\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-termboxgo/pom.xml",
    "chars": 1599,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-termboxgo/src/main.go",
    "chars": 24826,
    "preview": "package main\n\nimport \"github.com/nsf/termbox-go\"\nimport \"fmt\"\n\ntype key struct {\n\tx  int\n\ty  int\n\tch rune\n}\n\nvar K_ESC ="
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-termui/pom.xml",
    "chars": 1336,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-termui/src/go.mod",
    "chars": 95,
    "preview": "module github.com/raydac/mvn-golang/examples/termui\n\nrequire github.com/gizak/termui/v3 v3.0.0\n"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-termui/src/go.sum",
    "chars": 1155,
    "preview": "github.com/cjbassi/drawille-go v0.0.0-20190126131713-27dc511fe6fd h1:XtfPmj9tQRilnrEmI1HjQhxXWRhEM+m8CACtaMJE/kM=\ngithub"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-termui/src/sparklines.go",
    "chars": 1436,
    "preview": "// Copyright 2017 Zack Guo <zack.y.guo@gmail.com>. All rights reserved.\n// Use of this source code is governed by a MIT "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-testing/pom.xml",
    "chars": 3471,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-testing/src/main.go",
    "chars": 144,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"mypackage/testexample\"\n)\n\nfunc main() {\n\tfmt.Printf(\"%s %d\\n\", testexample.GetString(), "
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-testing/src/mypackage/testexample/Some.go",
    "chars": 154,
    "preview": "package testexample\n\nfunc GetString() string {\n\treturn \"Hello String\"\n}\n\nfunc GetInt() int {\n\treturn 768\n}\n\nfunc MakeSum"
  },
  {
    "path": "mvn-golang-examples/mvn-golang-example-testing/src/mypackage/testexample/Some_test.go",
    "chars": 305,
    "preview": "package testexample\n\nimport (\n\t\"github.com/stretchr/testify/assert\"\n\t\"testing\"\n)\n\nfunc TestGetString(t *testing.T) {\n\tas"
  },
  {
    "path": "mvn-golang-examples/pom.xml",
    "chars": 2887,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-branch-master/pom.xml",
    "chars": 2587,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-branch-master/src/main.go",
    "chars": 265,
    "preview": "package main\n\nimport \"github.com/raydac/mvn-golang-cvs-test\"\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Printf(mvngolangcvstest.Ge"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-branch-v2/pom.xml",
    "chars": 2358,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-branch-v2/src/main.go",
    "chars": 253,
    "preview": "package main\n\nimport \"github.com/raydac/mvn-golang-cvs-test\"\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Printf(mvngolangcvstest.Ge"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-custom/pom.xml",
    "chars": 2794,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-custom/src/main.go",
    "chars": 263,
    "preview": "package main\n\nimport \"github.com/raydac/mvn-golang-cvs-test\"\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Printf(mvngolangcvstest.Ge"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-master-tag/pom.xml",
    "chars": 2673,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-master-tag/src/main.go",
    "chars": 263,
    "preview": "package main\n\nimport \"github.com/raydac/mvn-golang-cvs-test\"\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Printf(mvngolangcvstest.Ge"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-revision/pom.xml",
    "chars": 2656,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/cvs-git-revision/src/main.go",
    "chars": 235,
    "preview": "package main\n\nimport \"github.com/raydac/mvn-golang-cvs-test\"\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Printf(mvngolangcvstest.Ge"
  },
  {
    "path": "mvn-golang-examples/test-git-cvs/pom.xml",
    "chars": 874,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
  },
  {
    "path": "mvn-golang-hello/pom.xml",
    "chars": 4232,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "mvn-golang-hello/src/assemble/bundle.xml",
    "chars": 1016,
    "preview": "\n<assembly xmlns=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2\"\n    xmlns:xsi=\"http://www.w3.org"
  },
  {
    "path": "mvn-golang-hello/src/assemble/distribution.xml",
    "chars": 1462,
    "preview": "\n<assembly xmlns=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2\"\n          xmlns:xsi=\"http://www."
  },
  {
    "path": "mvn-golang-hello/src/main/resources/META-INF/maven/archetype-metadata.xml",
    "chars": 1404,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archetype-descriptor\n  name=\"mvn-golang-hello\"\n  xsi:schemaLocation=\"http://mave"
  },
  {
    "path": "mvn-golang-hello/src/main/resources/archetype-resources/packages.txt",
    "chars": 185,
    "preview": "// this fle can contain dependencies in format\n// package: <NAME> [,branch: <BRANCH>][, tag: <TAG>][, revision: <REVISIO"
  },
  {
    "path": "mvn-golang-hello/src/main/resources/archetype-resources/pom.xml",
    "chars": 3367,
    "preview": "#set($dollar = '$')\n#set($str = \"\")\n#set($dt = $str.getClass().forName(\"java.util.Date\").newInstance())\n#set($year = $dt"
  },
  {
    "path": "mvn-golang-hello/src/main/resources/archetype-resources/src/go.mod",
    "chars": 49,
    "preview": "module github.com/raydac/mvn-golang/example/hello"
  },
  {
    "path": "mvn-golang-hello/src/main/resources/archetype-resources/src/hello.go",
    "chars": 137,
    "preview": "package ${package}\n\nimport \"fmt\"\n\nfunc Hello(text string) string {\n\treturn text\n}\n\nfunc main() {\n\tfmt.Printf(Hello(\"Hell"
  },
  {
    "path": "mvn-golang-hello/src/main/resources/archetype-resources/src/hello_test.go",
    "chars": 125,
    "preview": "package ${package}\n\nimport \"testing\"\n\nfunc TestHello(t *testing.T) {\n\tstr := Hello(\"xxx\")\n\tif str != \"xxx\" {\n\t\tt.Fail()\n"
  },
  {
    "path": "mvn-golang-hello-multi/pom.xml",
    "chars": 4264,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "mvn-golang-hello-multi/src/assemble/bundle.xml",
    "chars": 1016,
    "preview": "\n<assembly xmlns=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2\"\n    xmlns:xsi=\"http://www.w3.org"
  },
  {
    "path": "mvn-golang-hello-multi/src/assemble/distribution.xml",
    "chars": 1462,
    "preview": "\n<assembly xmlns=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2\"\n          xmlns:xsi=\"http://www."
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/META-INF/maven/archetype-metadata.xml",
    "chars": 2654,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archetype-descriptor\n  name=\"mvn-golang-hello\"\n  xsi:schemaLocation=\"http://mave"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/app-1/pom.xml",
    "chars": 1498,
    "preview": "#set($dollar = '$')\n#set($str = \"\")\n#set($dt = $str.getClass().forName(\"java.util.Date\").newInstance())\n#set($year = $dt"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/app-1/src/main.go",
    "chars": 80,
    "preview": "package main\n\nimport (\n\t\"common\"\n)\n\nfunc main() {\n\tcommon.PrintHello(\"world\")\n}\n"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/app-1/src/main_test.go",
    "chars": 72,
    "preview": "package main\n\nimport \"testing\"\n\nfunc TestMain(t *testing.T) {\n\tmain()\n}\n"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/app-2/pom.xml",
    "chars": 1498,
    "preview": "#set($dollar = '$')\n#set($str = \"\")\n#set($dt = $str.getClass().forName(\"java.util.Date\").newInstance())\n#set($year = $dt"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/app-2/src/main.go",
    "chars": 78,
    "preview": "package main\n\nimport \"common\"\n\nfunc main() {\n\tcommon.PrintHello(\"universe\")\n}\n"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/app-2/src/main_test.go",
    "chars": 72,
    "preview": "package main\n\nimport \"testing\"\n\nfunc TestMain(t *testing.T) {\n\tmain()\n}\n"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/assembly-results/deploy.xml",
    "chars": 1176,
    "preview": "<assembly xmlns=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2\" \n          xmlns:xsi=\"http://www."
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/assembly-results/pom.xml",
    "chars": 2442,
    "preview": "#set($dollar = '$')\n#set($str = \"\")\n#set($dt = $str.getClass().forName(\"java.util.Date\").newInstance())\n#set($year = $dt"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/common/pom.xml",
    "chars": 1324,
    "preview": "#set($dollar = '$')\n#set($str = \"\")\n#set($dt = $str.getClass().forName(\"java.util.Date\").newInstance())\n#set($year = $dt"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/common/src/common/common.go",
    "chars": 93,
    "preview": "package common\n\nimport \"fmt\"\n\nfunc PrintHello(name string) {\n\tfmt.Println(\"Hello,\" + name)\n}\n"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/common/src/common/common_test.go",
    "chars": 92,
    "preview": "package common\n\nimport \"testing\"\n\nfunc TestPrintHello(t *testing.T) {\n\tPrintHello(\"Igor\")\n}\n"
  },
  {
    "path": "mvn-golang-hello-multi/src/main/resources/archetype-resources/pom.xml",
    "chars": 2164,
    "preview": "#set($dollar = '$')\n#set($str = \"\")\n#set($dt = $str.getClass().forName(\"java.util.Date\").newInstance())\n#set($year = $dt"
  },
  {
    "path": "mvn-golang-wrapper/pom.xml",
    "chars": 15258,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
  },
  {
    "path": "mvn-golang-wrapper/src/assemble/bundle.xml",
    "chars": 1033,
    "preview": "<assembly xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n          xmlns=\"http://maven.apache.org/plugins/maven-a"
  },
  {
    "path": "mvn-golang-wrapper/src/assemble/distribution.xml",
    "chars": 1669,
    "preview": "<assembly xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n          xmlns=\"http://maven.apache.org/plugins/maven-a"
  },
  {
    "path": "mvn-golang-wrapper/src/main/filtered-resources/META-INF/plexus/components.xml",
    "chars": 2443,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component-set>\n    <components>\n        <component>\n            <role>org.apache"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGoDependencyAwareMojo.java",
    "chars": 21209,
    "preview": "/*\n * Copyright 2019 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGoPackageAndDependencyAwareMojo.java",
    "chars": 1803,
    "preview": "/*\n * Copyright 2019 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGoPackageAwareMojo.java",
    "chars": 1775,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractGolangMojo.java",
    "chars": 77701,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/AbstractModuleAware.java",
    "chars": 1744,
    "preview": "package com.igormaznitsa.mvngolang;\n\nimport com.igormaznitsa.meta.annotation.MustNotContainNull;\nimport com.igormaznitsa"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/CustomScript.java",
    "chars": 1018,
    "preview": "/*\n * Copyright 2018 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangBuildMojo.java",
    "chars": 8586,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangCleanMojo.java",
    "chars": 4987,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangCustomMojo.java",
    "chars": 1729,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangFixMojo.java",
    "chars": 1678,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangFmtMojo.java",
    "chars": 1701,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangGenerateMojo.java",
    "chars": 1711,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangGetMojo.java",
    "chars": 28423,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangInstallMojo.java",
    "chars": 1723,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangJfrogCliMojo.java",
    "chars": 4875,
    "preview": "/*\n * Copyright 2019 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangListMojo.java",
    "chars": 3343,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangModMojo.java",
    "chars": 2445,
    "preview": "/*\n * Copyright 2019 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangMvnInstallMojo.java",
    "chars": 11377,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangRunMojo.java",
    "chars": 2923,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangTestMojo.java",
    "chars": 3621,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangToolMojo.java",
    "chars": 2675,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/GolangVetMojo.java",
    "chars": 1597,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/AbstractRepo.java",
    "chars": 4302,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CVSType.java",
    "chars": 1423,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsBZR.java",
    "chars": 3059,
    "preview": "/*\n * Copyright 2017 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsGIT.java",
    "chars": 3250,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsHG.java",
    "chars": 3034,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsNone.java",
    "chars": 1361,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsSVN.java",
    "chars": 3163,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/GoMod.java",
    "chars": 21228,
    "preview": "/*\n * Copyright 2019 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/IOUtils.java",
    "chars": 4188,
    "preview": "/*\n * Copyright 2017 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/MavenUtils.java",
    "chars": 11290,
    "preview": "/*\n * Copyright 2019 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/MvnGolangArtifactHandler.java",
    "chars": 1077,
    "preview": "/*\n * Copyright 2019 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/PackageList.java",
    "chars": 6659,
    "preview": "/*\n * Copyright 2018 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  },
  {
    "path": "mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/ProxySettings.java",
    "chars": 1833,
    "preview": "/*\n * Copyright 2016 Igor Maznitsa.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
  }
]

// ... and 29 more files (download for full content)

About this extraction

This page contains the full source code of the raydac/mvn-golang GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 229 files (706.6 KB), approximately 218.8k tokens, and a symbol index with 703 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!