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
================================================

> [!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.
[](http://www.apache.org/licenses/LICENSE-2.0)
[](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
[](http://search.maven.org/#artifactdetails|com.igormaznitsa|mvn-golang-wrapper|2.3.10|jar)
[](https://maven.apache.org/)
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=AHWJHJFBAWGL2)
[](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.

# 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
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
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": "\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.