hello world! 🌸

This commit is contained in:
commit 04a6000a4e
Signed by: tablet
GPG Key ID: 924A5F6AF051E87C
9 changed files with 123 additions and 0 deletions

28
.gitignore vendored Normal file

@ -0,0 +1,28 @@
# ---> Go
# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
# vendor/
# Go workspace file
go.work
go.work.sum
# env file
.env
.idea/material_theme_project_new.xml

8
.idea/.gitignore vendored Normal file

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,15 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="GoErrorStringFormat" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="GoSwitchMissingCasesForIotaConsts" enabled="true" level="WEAK WARNING" enabled_by_default="true" editorAttributes="INFO_ATTRIBUTES" />
<inspection_tool class="GoUnhandledErrorResult" enabled="true" level="WEAK WARNING" enabled_by_default="true" editorAttributes="INFO_ATTRIBUTES" />
<inspection_tool class="GrazieInspection" enabled="false" level="GRAMMAR_ERROR" enabled_by_default="false" />
<inspection_tool class="LanguageDetectionInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
</profile>
</component>

8
.idea/modules.xml Normal file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/gopack-internal.iml" filepath="$PROJECT_DIR$/.idea/gopack-internal.iml" />
</modules>
</component>
</project>

9
README.md Normal file

@ -0,0 +1,9 @@
# gopack
internal utility to create zip files from go module directories
## usage
```
gopack PACKAGE-NAME VERSION [PATH]
```

5
go.mod Normal file

@ -0,0 +1,5 @@
module rockfic.com/gopack
go 1.23.0
require golang.org/x/mod v0.21.0 // indirect

2
go.sum Normal file

@ -0,0 +1,2 @@
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=

39
main.go Normal file

@ -0,0 +1,39 @@
package main
import (
"fmt"
"golang.org/x/mod/module"
"golang.org/x/mod/zip"
"log"
"os"
"path/filepath"
"strings"
)
func main() {
args := os.Args[1:]
if len(args) < 2 {
log.Fatal("usage: PACKAGE-NAME VERSION [PATH]")
}
version := args[1]
if !strings.HasPrefix(version, "v") {
version = fmt.Sprintf("v%s", version)
}
var absPath string
if len(args) < 3 {
absPath, _ = os.Getwd()
} else {
absPath, _ = filepath.Abs(args[2])
}
buildFile := fmt.Sprintf(filepath.Join(absPath, "build", "%s.zip"), version)
_ = os.Remove(buildFile)
f, _ := os.Create(buildFile)
err := zip.CreateFromVCS(f, module.Version{
Version: version,
Path: args[0],
}, absPath, version, "")
if err != nil {
log.Fatal(err)
}
}