Skip to content

Commit

Permalink
Finish the packaging shell for windows.
Browse files Browse the repository at this point in the history
  • Loading branch information
zicla committed May 2, 2019
1 parent 2044aa1 commit bda9339
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 90 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ tmp

# build execute file
tank
tank.exe

151 changes: 67 additions & 84 deletions build/pack/build.bat
Original file line number Diff line number Diff line change
@@ -1,91 +1,74 @@
@if "%DEBUG%" == "" echo off
@rem ##########################################################################
@rem
@rem Tank build script for Windows
@rem
@rem ##########################################################################



@REM ==== START VALIDATION ====
if "%GOPATH%"=="" (
echo The GOPATH environment variable is not defined correctly
goto end
)

set PRE_DIR=%cd%

@rem version name
set VERSION_NAME=tank-2.0.0

cd %GOPATH%

@rem echo golang.org . Please download from: https://github.com/eyebluecn/golang.org and put in the directory with same level of github.com
@rem echo go get golang.org/x
@rem go get golang.org/x
echo git clone https://github.com/eyebluecn/golang.org.git %golangOrgFolder%
set golangOrgFolder=%GOPATH%\src\golang.org
if not exist %golangOrgFolder% (
git clone https://github.com/eyebluecn/golang.org.git %golangOrgFolder%
@if "%DEBUG%" == "" ECHO off
@REM ##########################################################################
@REM
@REM Tank build script for Windows
@REM manual https://ss64.com/nt/
@REM
@REM ##########################################################################



@REM prepare the variables.

@REM version name
SET VERSION_NAME=tank-3.0.0.beta1
@REM assign variable like Linux GOARCH=$(go env GOARCH) eg. amd64
FOR /f %%i IN ('go env GOARCH') DO SET GOARCH=%%i
ECHO GOARCH: %GOARCH%
@REM eg. D:\Group\Golang
FOR /f %%i IN ('go env GOPATH') DO SET GOPATH=%%i
ECHO GOPATH: %GOPATH%
@REM eg. windows
FOR /f %%i IN ('go env GOOS') DO SET GOOS=%%i
ECHO GOOS: %GOOS%
@REM service dir eg. D:\Group\eyeblue\tank\build\pack
SET PACK_DIR=%CD%
ECHO PACK_DIR: %PACK_DIR%
@REM build dir eg. D:\Group\eyeblue\tank\build
FOR %%F IN (%CD%) DO SET BUILD_DIR_SLASH=%%~dpF
SET BUILD_DIR=%BUILD_DIR_SLASH:~0,-1%
ECHO BUILD_DIR: %BUILD_DIR%
@REM project dir eg. D:\Group\eyeblue\tank
FOR %%F IN (%BUILD_DIR%) DO SET PROJECT_DIR_SLASH=%%~dpF
SET PROJECT_DIR=%PROJECT_DIR_SLASH:~0,-1%
ECHO PROJECT_DIR: %PROJECT_DIR%

@REM final zip file name. eg. tank-3.0.0.beta1.windows-amd64.zip
SET FILE_NAME=%VERSION_NAME%.%GOOS%-%GOARCH%.zip
ECHO FILE_NAME: %FILE_NAME%
@REM zip dist dir eg. D:\Group\eyeblue\tank\tmp\dist
SET DIST_DIR=%PROJECT_DIR%\tmp\dist
ECHO DIST_DIR: %DIST_DIR%
@REM component dir eg. D:\Group\eyeblue\tank\tmp\dist\tank-3.0.0.beta1
SET COMPONENT_DIR=%DIST_DIR%\%VERSION_NAME%
ECHO COMPONENT_DIR: %COMPONENT_DIR%
@REM final dist path eg. D:\Group\eyeblue\tank\tmp\dist\tank-3.0.0.beta1.windows-amd64.zip
SET DIST_PATH=%DIST_DIR%\%FILE_NAME%
ECHO DIST_PATH: %DIST_PATH%

cd %PROJECT_DIR%

ECHO go build -mod=readonly
go build -mod=readonly


IF EXIST %COMPONENT_DIR% (
rmdir /s/q %COMPONENT_DIR%
md %COMPONENT_DIR%
) ELSE (
md %COMPONENT_DIR%
)

@rem resize image
echo go get github.com/disintegration/imaging
go get github.com/disintegration/imaging

@rem json parser
echo go get github.com/json-iterator/go
go get github.com/json-iterator/go


@rem mysql
echo go get github.com/go-sql-driver/mysql
go get github.com/go-sql-driver/mysql

@rem dao database
echo go get github.com/jinzhu/gorm
go get github.com/jinzhu/gorm


@rem uuid
echo go get github.com/nu7hatch/gouuid
go get github.com/nu7hatch/gouuid

echo build tank ...
go install tank

echo packaging

set distFolder=%GOPATH%\src\tank\dist
if not exist %distFolder% (
md %distFolder%
)

set distPath=%distFolder%\%VERSION_NAME%
if exist %distPath% (
echo clear %distPath%
rmdir /s/q %distPath%
)

echo create directory %distPath%
md %distPath%

echo copying tank.exe
copy %GOPATH%\bin\tank.exe %distPath%

echo copying build
xcopy %GOPATH%\src\tank\build %distPath% /e/h

echo "remove pack"
rmdir /s/q %distPath%\pack
ECHO copy .\tank.exe %COMPONENT_DIR%
copy .\tank.exe %COMPONENT_DIR%

echo "remove service"
rmdir /s/q %distPath%\service
ECHO %BUILD_DIR%\conf %COMPONENT_DIR%\conf /E/H/I
xcopy %BUILD_DIR%\conf %COMPONENT_DIR%\conf /E/H/I

echo "remove doc"
rmdir /s/q %distPath%\doc
ECHO %BUILD_DIR%\html %COMPONENT_DIR%\html /E/H/I
xcopy %BUILD_DIR%\html %COMPONENT_DIR%\html /E/H/I

cd %PRE_DIR%
ECHO please zip to %DIST_PATH%

echo check the dist file in %distPath%
echo finish!
ECHO finish packaging!
27 changes: 23 additions & 4 deletions build/pack/build.sh
Original file line number Diff line number Diff line change
@@ -1,27 +1,46 @@
#!/bin/bash

###########################################################################
#
# Tank build script for Linux or MacOS
#
###########################################################################

#prepare the variables.

# version name
VERSION_NAME=tank-3.0.0.beta1
echo "VERSION_NAME: ${VERSION_NAME}"
# eg. amd64
GOARCH=$(go env GOARCH)
echo "GOARCH: ${GOARCH}"
# eg. /data/golang
GOPATH=$(go env GOPATH)
echo "GOPATH: ${GOPATH}"
# eg. darwin
GOOS=$(go env GOOS)
echo "GOOS: ${GOOS}"
# service dir eg. /data/tank/build/pack
SERVICE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
PACK_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
echo "PACK_DIR: ${PACK_DIR}"
# build dir eg. /data/tank/build
BUILD_DIR=$(dirname ${PACK_DIR})
echo "BUILD_DIR: ${BUILD_DIR}"
# project dir eg. /data/tank
PROJECT_DIR=$(dirname $(dirname ${SERVICE_DIR}))
# build dir
BUILD_DIR=${PROJECT_DIR}/build
PROJECT_DIR=$(dirname ${BUILD_DIR})
echo "PROJECT_DIR: ${PROJECT_DIR}"
# final zip file name.
FILE_NAME=${VERSION_NAME}.${GOOS}-${GOARCH}.tar.gz
echo "FILE_NAME: ${FILE_NAME}"
# zip dist dir eg. /data/tank/tmp/dist
DIST_DIR=${PROJECT_DIR}/tmp/dist
echo "DIST_DIR: ${DIST_DIR}"
# component dir eg. /data/tank/tmp/dist/tank-3.0.0.beta1
COMPONENT_DIR=${DIST_DIR}/${VERSION_NAME}
echo "COMPONENT_DIR: ${COMPONENT_DIR}"
# final dist path eg. /data/tank/tmp/dist/tank-3.0.0.beta1.darwin-amd64.tar.gz
DIST_PATH=${DIST_DIR}/${FILE_NAME}
echo "DIST_PATH: ${DIST_PATH}"

cd ${PROJECT_DIR}

Expand Down
4 changes: 2 additions & 2 deletions code/rest/matter_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ func (this *MatterService) DownloadZip(
count = count + this.matterDao.CountByUserUuidAndPath(matter.UserUuid, matter.Path)
}

this.logger.Info("此次下载包含文件数量 %s", count)
this.logger.Info("此次下载包含文件数量 %d", count)

//文件数量判断。
if preference.DownloadDirMaxNum >= 0 {
Expand Down Expand Up @@ -172,7 +172,7 @@ func (this *MatterService) zipMatters(matters []*Matter, destPath string) {
}
userUuid := matters[0].UserUuid
puuid := matters[0].Puuid
baseDirPath := util.GetDirOfPath(matters[0].AbsolutePath())
baseDirPath := util.GetDirOfPath(matters[0].AbsolutePath()) + "/"

for _, m := range matters {
if m.UserUuid != userUuid {
Expand Down

0 comments on commit bda9339

Please sign in to comment.