Merge remote-tracking branch 'origin/appbase' into apputils
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
				
			|||||||
## WinBoll 主机编译事项提醒
 | 
					## WinBoLL 主机编译事项提醒
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 类库类型源码发布
 | 
					## 类库类型源码发布
 | 
				
			||||||
# 类库发布使用以下面命令
 | 
					# 类库发布使用以下面命令
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,7 @@ fi
 | 
				
			|||||||
# 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值
 | 
					# 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值
 | 
				
			||||||
PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}')
 | 
					PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}')
 | 
				
			||||||
echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >"
 | 
					echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >"
 | 
				
			||||||
## 设新的 WinBoll 标签
 | 
					## 设新的 WinBoLL 标签
 | 
				
			||||||
# 脚本调试时使用
 | 
					# 脚本调试时使用
 | 
				
			||||||
#tag="v7.6.4-test1"
 | 
					#tag="v7.6.4-test1"
 | 
				
			||||||
# 正式设置标签时使用
 | 
					# 正式设置标签时使用
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,24 +38,24 @@ function askAddWorkflowsTag {
 | 
				
			|||||||
	fi
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function addWinBollTag {
 | 
					function addWinBoLLTag {
 | 
				
			||||||
	# 就读取脚本 .winboll/winboll_app_build.gradle 生成的 publishVersion。
 | 
						# 就读取脚本 .winboll/winboll_app_build.gradle 生成的 publishVersion。
 | 
				
			||||||
    # 如果文件中有 publishVersion 这一项,
 | 
					    # 如果文件中有 publishVersion 这一项,
 | 
				
			||||||
	# 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值
 | 
						# 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值
 | 
				
			||||||
	PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}')
 | 
						PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}')
 | 
				
			||||||
	echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >"
 | 
						echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >"
 | 
				
			||||||
	## 设新的 WinBoll 标签
 | 
						## 设新的 WinBoLL 标签
 | 
				
			||||||
	# 脚本调试时使用
 | 
						# 脚本调试时使用
 | 
				
			||||||
	#tag="projectname-v7.6.4-test1"
 | 
						#tag="projectname-v7.6.4-test1"
 | 
				
			||||||
	# 正式设置标签时使用
 | 
						# 正式设置标签时使用
 | 
				
			||||||
	tag=$1"-v"${PUBLISH_VERSION}
 | 
						tag=$1"-v"${PUBLISH_VERSION}
 | 
				
			||||||
	echo "< WinBoll Tag To: $tag >";
 | 
						echo "< WinBoLL Tag To: $tag >";
 | 
				
			||||||
	# 检查是否已经添加了 WinBoll Tag
 | 
						# 检查是否已经添加了 WinBoLL Tag
 | 
				
			||||||
	if [ "$(git tag -l ${tag})" == "${tag}" ]; then
 | 
						if [ "$(git tag -l ${tag})" == "${tag}" ]; then
 | 
				
			||||||
        echo -e "< WinBoll Tag ${tag} exist! >"
 | 
					        echo -e "< WinBoLL Tag ${tag} exist! >"
 | 
				
			||||||
        return 1 # WinBoll标签重复
 | 
					        return 1 # WinBoLL标签重复
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    # 添加WinBoll标签
 | 
					    # 添加WinBoLL标签
 | 
				
			||||||
	git tag -a ${tag} -F $1/app_update_description.txt
 | 
						git tag -a ${tag} -F $1/app_update_description.txt
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -119,22 +119,22 @@ if [[ $? -eq 0 ]]; then
 | 
				
			|||||||
	echo $result
 | 
						echo $result
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # 发布应用
 | 
					    # 发布应用
 | 
				
			||||||
	echo "Publishing WinBoll APK ..."
 | 
						echo "Publishing WinBoLL APK ..."
 | 
				
			||||||
	# 脚本调试时使用
 | 
						# 脚本调试时使用
 | 
				
			||||||
	#bash gradlew :$1:assembleBetaDebug
 | 
						#bash gradlew :$1:assembleBetaDebug
 | 
				
			||||||
	# 正式发布
 | 
						# 正式发布
 | 
				
			||||||
    bash gradlew :$1:assembleStageRelease
 | 
					    bash gradlew :$1:assembleStageRelease
 | 
				
			||||||
    echo "Publishing WinBoll APK OK."
 | 
					    echo "Publishing WinBoLL APK OK."
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # 添加 WinBoll 标签
 | 
					    # 添加 WinBoLL 标签
 | 
				
			||||||
    result=$(addWinBollTag $1)
 | 
					    result=$(addWinBoLLTag $1)
 | 
				
			||||||
    echo $result
 | 
					    echo $result
 | 
				
			||||||
	if [[ $? -eq 0 ]]; then
 | 
						if [[ $? -eq 0 ]]; then
 | 
				
			||||||
	    echo $result
 | 
						    echo $result
 | 
				
			||||||
    	# WinBoll 标签添加成功
 | 
					    	# WinBoLL 标签添加成功
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
    	echo -e "${0}: addWinBollTag $1\n${result}\nAdd WinBoll tag cancel."
 | 
					    	echo -e "${0}: addWinBoLLTag $1\n${result}\nAdd WinBoLL tag cancel."
 | 
				
			||||||
        exit 1 # addWinBollTag 异常
 | 
					        exit 1 # addWinBoLLTag 异常
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # 添加 GitHub 工作流标签
 | 
					    # 添加 GitHub 工作流标签
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,24 +38,24 @@ function askAddWorkflowsTag {
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function addWinBollTag {
 | 
					function addWinBoLLTag {
 | 
				
			||||||
    # 就读取脚本 .winboll/winboll_app_build.gradle 生成的 publishVersion。
 | 
					    # 就读取脚本 .winboll/winboll_app_build.gradle 生成的 publishVersion。
 | 
				
			||||||
    # 如果文件中有 publishVersion 这一项,
 | 
					    # 如果文件中有 publishVersion 这一项,
 | 
				
			||||||
    # 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值
 | 
					    # 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值
 | 
				
			||||||
    PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}')
 | 
					    PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}')
 | 
				
			||||||
    echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >"
 | 
					    echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >"
 | 
				
			||||||
    ## 设新的 WinBoll 标签
 | 
					    ## 设新的 WinBoLL 标签
 | 
				
			||||||
    # 脚本调试时使用
 | 
					    # 脚本调试时使用
 | 
				
			||||||
    #tag="v7.6.4-test1"
 | 
					    #tag="v7.6.4-test1"
 | 
				
			||||||
    # 正式调试版设置标签时使用
 | 
					    # 正式调试版设置标签时使用
 | 
				
			||||||
    tag=$1"-v"${PUBLISH_VERSION}"-debug"
 | 
					    tag=$1"-v"${PUBLISH_VERSION}"-debug"
 | 
				
			||||||
    echo "< WinBoll Tag To: $tag >";
 | 
					    echo "< WinBoLL Tag To: $tag >";
 | 
				
			||||||
    # 检查是否已经添加了 WinBoll Tag
 | 
					    # 检查是否已经添加了 WinBoLL Tag
 | 
				
			||||||
    if [ "$(git tag -l ${tag})" == "${tag}" ]; then
 | 
					    if [ "$(git tag -l ${tag})" == "${tag}" ]; then
 | 
				
			||||||
        echo -e "< WinBoll Tag ${tag} exist! >"
 | 
					        echo -e "< WinBoLL Tag ${tag} exist! >"
 | 
				
			||||||
        return 1 # WinBoll标签重复
 | 
					        return 1 # WinBoLL标签重复
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    # 添加WinBoll标签
 | 
					    # 添加WinBoLL标签
 | 
				
			||||||
    git tag -a ${tag} -F $1/app_update_description.txt
 | 
					    git tag -a ${tag} -F $1/app_update_description.txt
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -119,22 +119,22 @@ if [[ $? -eq 0 ]]; then
 | 
				
			|||||||
    echo $result
 | 
					    echo $result
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # 发布应用
 | 
					    # 发布应用
 | 
				
			||||||
    echo "Publishing WinBoll Debug APK ..."
 | 
					    echo "Publishing WinBoLL Debug APK ..."
 | 
				
			||||||
    # 脚本调试时使用
 | 
					    # 脚本调试时使用
 | 
				
			||||||
    #bash gradlew :$1:assembleBetaDebug
 | 
					    #bash gradlew :$1:assembleBetaDebug
 | 
				
			||||||
    # 正式发布调试版
 | 
					    # 正式发布调试版
 | 
				
			||||||
    bash gradlew :$1:assembleStageDebug
 | 
					    bash gradlew :$1:assembleStageDebug
 | 
				
			||||||
    echo "Publishing WinBoll Debug APK OK."
 | 
					    echo "Publishing WinBoLL Debug APK OK."
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # 添加 WinBoll 标签
 | 
					    # 添加 WinBoLL 标签
 | 
				
			||||||
    result=$(addWinBollTag $1)
 | 
					    result=$(addWinBoLLTag $1)
 | 
				
			||||||
    echo $result
 | 
					    echo $result
 | 
				
			||||||
    if [[ $? -eq 0 ]]; then
 | 
					    if [[ $? -eq 0 ]]; then
 | 
				
			||||||
        echo $result
 | 
					        echo $result
 | 
				
			||||||
        # WinBoll 标签添加成功
 | 
					        # WinBoLL 标签添加成功
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        echo -e "${0}: addWinBollTag $1\n${result}\nAdd WinBoll tag cancel."
 | 
					        echo -e "${0}: addWinBoLLTag $1\n${result}\nAdd WinBoLL tag cancel."
 | 
				
			||||||
        exit 1 # addWinBollTag 异常
 | 
					        exit 1 # addWinBoLLTag 异常
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # 添加 GitHub 工作流标签
 | 
					    # 添加 GitHub 工作流标签
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ if [ -z "$1" ]; then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 正式发布使用
 | 
					## 正式发布使用
 | 
				
			||||||
git pull && bash gradlew :$1:publishReleasePublicationToWinBollReleaseRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1
 | 
					git pull && bash gradlew :$1:publishReleasePublicationToWinBoLLReleaseRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 调试使用
 | 
					## 调试使用
 | 
				
			||||||
#bash gradlew :$1:publishSnapshotWinBollPublicationToWinBollSnapshotRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1
 | 
					#bash gradlew :$1:publishSnapshotWinBoLLPublicationToWinBoLLSnapshotRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
// WinBoll 应用签名配置
 | 
					// WinBoLL 应用签名配置
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
android {
 | 
					android {
 | 
				
			||||||
@@ -31,18 +31,18 @@ android {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    flavorDimensions "WinBollApp"
 | 
					    flavorDimensions "WinBoLLApp"
 | 
				
			||||||
    productFlavors {
 | 
					    productFlavors {
 | 
				
			||||||
        beta {
 | 
					        beta {
 | 
				
			||||||
            // 检查编译标志位配置
 | 
					            // 检查编译标志位配置
 | 
				
			||||||
            assert (winbollBuildProps['buildCount'] != null)
 | 
					            assert (winbollBuildProps['buildCount'] != null)
 | 
				
			||||||
            dimension "WinBollApp"
 | 
					            dimension "WinBoLLApp"
 | 
				
			||||||
            applicationIdSuffix ".beta"
 | 
					            applicationIdSuffix ".beta"
 | 
				
			||||||
            LocalDateTime localDateTimeNow = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
 | 
					            LocalDateTime localDateTimeNow = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
 | 
				
			||||||
            versionNameSuffix "-beta" + winbollBuildProps['buildCount'] + "_" + localDateTimeNow.format('mmss')
 | 
					            versionNameSuffix "-beta" + winbollBuildProps['buildCount'] + "_" + localDateTimeNow.format('mmss')
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        stage {
 | 
					        stage {
 | 
				
			||||||
            dimension "WinBollApp"
 | 
					            dimension "WinBoLLApp"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -61,7 +61,7 @@ android {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        //
 | 
					        //
 | 
				
			||||||
        // WinBoll 应用包输出配置
 | 
					        // WinBoLL 应用包输出配置
 | 
				
			||||||
        // 1. 配置 Stage Release 版应用包输出
 | 
					        // 1. 配置 Stage Release 版应用包输出
 | 
				
			||||||
        // 2. 配置 Beta Debug 版应用包输出
 | 
					        // 2. 配置 Beta Debug 版应用包输出
 | 
				
			||||||
	    //
 | 
						    //
 | 
				
			||||||
@@ -74,13 +74,13 @@ android {
 | 
				
			|||||||
            //def outputFileName="${rootProject.name}_${versionName}.apk"
 | 
					            //def outputFileName="${rootProject.name}_${versionName}.apk"
 | 
				
			||||||
            def outputFileName=project.rootDir.name + "_${versionName}.apk"
 | 
					            def outputFileName=project.rootDir.name + "_${versionName}.apk"
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            // 创建 WinBoll Studio 发布接口文件夹
 | 
					            // 创建 WinBoLL Studio 发布接口文件夹
 | 
				
			||||||
            File fWinBollStudioDir = file("/sdcard/WinBollStudio/APKs");
 | 
					            File fWinBoLLStudioDir = file("/sdcard/WinBoLLStudio/APKs");
 | 
				
			||||||
            if(!fWinBollStudioDir.exists()) {
 | 
					            if(!fWinBoLLStudioDir.exists()) {
 | 
				
			||||||
                //fWinBollStudioDir.mkdirs();
 | 
					                //fWinBoLLStudioDir.mkdirs();
 | 
				
			||||||
                // 如果没有发布接口文件就不用进行APK发布和源码管理操作
 | 
					                // 如果没有发布接口文件就不用进行APK发布和源码管理操作
 | 
				
			||||||
                // 当前编译环境不是 WinBoll 主机, 以下将忽略APK发布和源码管理操作。
 | 
					                // 当前编译环境不是 WinBoLL 主机, 以下将忽略APK发布和源码管理操作。
 | 
				
			||||||
                println 'The current compilation environment is not in WinBoll host, and the following APK publishing and source management operations will be ignore.'
 | 
					                println 'The current compilation environment is not in WinBoLL host, and the following APK publishing and source management operations will be ignore.'
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                /// WINBOLL 主机的 APK 发布和源码管理操作 ///
 | 
					                /// WINBOLL 主机的 APK 发布和源码管理操作 ///
 | 
				
			||||||
                variant.getAssembleProvider().get().doFirst {
 | 
					                variant.getAssembleProvider().get().doFirst {
 | 
				
			||||||
@@ -91,15 +91,15 @@ android {
 | 
				
			|||||||
                //
 | 
					                //
 | 
				
			||||||
                variant.getAssembleProvider().get().doLast {
 | 
					                variant.getAssembleProvider().get().doLast {
 | 
				
			||||||
                        variant.outputs.forEach{ file->
 | 
					                        variant.outputs.forEach{ file->
 | 
				
			||||||
                            // 如果正在调试,就拷贝到 WinBoll 备份管理文件夹
 | 
					                            // 如果正在调试,就拷贝到 WinBoLL 备份管理文件夹
 | 
				
			||||||
                            // 
 | 
					                            // 
 | 
				
			||||||
                            if(variant.flavorName == "beta"&&variant.buildType.name == "debug"){
 | 
					                            if(variant.flavorName == "beta"&&variant.buildType.name == "debug"){
 | 
				
			||||||
                                //File outBuildBckDir = new File(fWinBollStudioDir, "/${rootProject.name}/${variant.buildType.name}")
 | 
					                                //File outBuildBckDir = new File(fWinBoLLStudioDir, "/${rootProject.name}/${variant.buildType.name}")
 | 
				
			||||||
                                File outBuildBckDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/${variant.buildType.name}")
 | 
					                                File outBuildBckDir = new File(fWinBoLLStudioDir, "/" + project.rootDir.name + "/${variant.buildType.name}")
 | 
				
			||||||
                                // 创建目标路径目录
 | 
					                                // 创建目标路径目录
 | 
				
			||||||
                                if(!outBuildBckDir.exists()) {
 | 
					                                if(!outBuildBckDir.exists()) {
 | 
				
			||||||
                                    outBuildBckDir.mkdirs();
 | 
					                                    outBuildBckDir.mkdirs();
 | 
				
			||||||
                                    println "Output Folder Created.(WinBollStudio) : " + outBuildBckDir.getAbsolutePath()
 | 
					                                    println "Output Folder Created.(WinBoLLStudio) : " + outBuildBckDir.getAbsolutePath()
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                                if(outBuildBckDir.exists()) {
 | 
					                                if(outBuildBckDir.exists()) {
 | 
				
			||||||
                                    copy{
 | 
					                                    copy{
 | 
				
			||||||
@@ -108,7 +108,7 @@ android {
 | 
				
			|||||||
                                        rename {
 | 
					                                        rename {
 | 
				
			||||||
                                            String fileName -> "${outputFileName}"
 | 
					                                            String fileName -> "${outputFileName}"
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                        println "Output APK (WinBollStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}"
 | 
					                                        println "Output APK (WinBoLLStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}"
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
                                    // 检查编译标志位配置
 | 
					                                    // 检查编译标志位配置
 | 
				
			||||||
                                    assert (winbollBuildProps['buildCount'] != null)
 | 
					                                    assert (winbollBuildProps['buildCount'] != null)
 | 
				
			||||||
@@ -137,7 +137,7 @@ android {
 | 
				
			|||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            
 | 
					                            
 | 
				
			||||||
                            // 如果正在发布,就拷贝到 WinBoll 标签管理文件夹
 | 
					                            // 如果正在发布,就拷贝到 WinBoLL 标签管理文件夹
 | 
				
			||||||
                            //
 | 
					                            //
 | 
				
			||||||
                            if((variant.flavorName == "stage"&&variant.buildType.name == "debug")
 | 
					                            if((variant.flavorName == "stage"&&variant.buildType.name == "debug")
 | 
				
			||||||
                                || (variant.flavorName == "stage"&&variant.buildType.name == "release")){
 | 
					                                || (variant.flavorName == "stage"&&variant.buildType.name == "release")){
 | 
				
			||||||
@@ -151,8 +151,8 @@ android {
 | 
				
			|||||||
                                String szCommonTagAPKName = project.rootDir.name + "_" + szShortVersionName + ".apk"
 | 
					                                String szCommonTagAPKName = project.rootDir.name + "_" + szShortVersionName + ".apk"
 | 
				
			||||||
                                println "CommonTagAPKName is : " + szCommonTagAPKName
 | 
					                                println "CommonTagAPKName is : " + szCommonTagAPKName
 | 
				
			||||||
                                
 | 
					                                
 | 
				
			||||||
                                //File outTagDir = new File(fWinBollStudioDir, "/${rootProject.name}/tag/")
 | 
					                                //File outTagDir = new File(fWinBoLLStudioDir, "/${rootProject.name}/tag/")
 | 
				
			||||||
                                File outTagDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/tag/")
 | 
					                                File outTagDir = new File(fWinBoLLStudioDir, "/" + project.rootDir.name + "/tag/")
 | 
				
			||||||
                                // 创建目标路径目录
 | 
					                                // 创建目标路径目录
 | 
				
			||||||
                                if(!outTagDir.exists()) {
 | 
					                                if(!outTagDir.exists()) {
 | 
				
			||||||
                                    outTagDir.mkdirs();
 | 
					                                    outTagDir.mkdirs();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
// 本机和 WinBoll Maven 仓库传输配置。
 | 
					// 本机和 WinBoLL Maven 仓库传输配置。
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def getDefaultVersion(){
 | 
					def getDefaultVersion(){
 | 
				
			||||||
@@ -9,7 +9,7 @@ def getDefaultVersion(){
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def siteUrl = 'https://winboll.cc/?page=studio/details.php&app=${rootProject.name}' // 项目主页
 | 
					def siteUrl = 'https://winboll.cc/?page=studio/details.php&app=${rootProject.name}' // 项目主页
 | 
				
			||||||
def gitUrl = 'https://gitea.winboll.cc/WinBoll/${rootProject.name}' // 项目的git地址
 | 
					def gitUrl = 'https://gitea.winboll.cc/WinBoLL/${rootProject.name}' // 项目的git地址
 | 
				
			||||||
def DefaultGroupId = 'cc.winboll.studio' // 类库所有者groupId
 | 
					def DefaultGroupId = 'cc.winboll.studio' // 类库所有者groupId
 | 
				
			||||||
def DefaultVersion = getDefaultVersion() // 版本号
 | 
					def DefaultVersion = getDefaultVersion() // 版本号
 | 
				
			||||||
def DeveloperId='zhangsken' // 开发者账号
 | 
					def DeveloperId='zhangsken' // 开发者账号
 | 
				
			||||||
@@ -27,10 +27,10 @@ afterEvaluate {
 | 
				
			|||||||
                properties.load(file("${RootProjectDir}/${winbollFilePath}").newDataInputStream())
 | 
					                properties.load(file("${RootProjectDir}/${winbollFilePath}").newDataInputStream())
 | 
				
			||||||
                def NexusUserName = properties.getProperty("Nexus.name")
 | 
					                def NexusUserName = properties.getProperty("Nexus.name")
 | 
				
			||||||
                def NexusPassword = properties.getProperty("Nexus.password")
 | 
					                def NexusPassword = properties.getProperty("Nexus.password")
 | 
				
			||||||
                // WinBoll Release 仓库
 | 
					                // WinBoLL Release 仓库
 | 
				
			||||||
                maven{
 | 
					                maven{
 | 
				
			||||||
                    //仓库的名字和地址
 | 
					                    //仓库的名字和地址
 | 
				
			||||||
                    name = "WinBollRelease"
 | 
					                    name = "WinBoLLRelease"
 | 
				
			||||||
                    url="https://nexus.winboll.cc/repository/maven-releases/"
 | 
					                    url="https://nexus.winboll.cc/repository/maven-releases/"
 | 
				
			||||||
                    // 仓库用户名密码
 | 
					                    // 仓库用户名密码
 | 
				
			||||||
                    credentials {
 | 
					                    credentials {
 | 
				
			||||||
@@ -38,10 +38,10 @@ afterEvaluate {
 | 
				
			|||||||
                        password = NexusPassword
 | 
					                        password = NexusPassword
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                // WinBoll Snapshot 仓库
 | 
					                // WinBoLL Snapshot 仓库
 | 
				
			||||||
                maven{
 | 
					                maven{
 | 
				
			||||||
                    //仓库的名字和地址
 | 
					                    //仓库的名字和地址
 | 
				
			||||||
                    name = "WinBollSnapshot"
 | 
					                    name = "WinBoLLSnapshot"
 | 
				
			||||||
                    url="https://nexus.winboll.cc/repository/maven-snapshots/"
 | 
					                    url="https://nexus.winboll.cc/repository/maven-snapshots/"
 | 
				
			||||||
                    // 仓库用户名密码
 | 
					                    // 仓库用户名密码
 | 
				
			||||||
                    credentials {
 | 
					                    credentials {
 | 
				
			||||||
@@ -101,9 +101,9 @@ afterEvaluate {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            // WinBoll Maven Release 仓库传输任务
 | 
					            // WinBoLL Maven Release 仓库传输任务
 | 
				
			||||||
            //
 | 
					            //
 | 
				
			||||||
            releaseWinBoll(MavenPublication) {
 | 
					            releaseWinBoLL(MavenPublication) {
 | 
				
			||||||
                // 需要使用的变体,假设有free和pay两个变体,可以选择一个
 | 
					                // 需要使用的变体,假设有free和pay两个变体,可以选择一个
 | 
				
			||||||
                //from components.free
 | 
					                //from components.free
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
@@ -154,9 +154,9 @@ afterEvaluate {
 | 
				
			|||||||
                
 | 
					                
 | 
				
			||||||
            } // 创建名为 release 的任务结束
 | 
					            } // 创建名为 release 的任务结束
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            // WinBoll Maven Snapshot 仓库传输任务
 | 
					            // WinBoLL Maven Snapshot 仓库传输任务
 | 
				
			||||||
            //
 | 
					            //
 | 
				
			||||||
            snapshotWinBoll(MavenPublication) {
 | 
					            snapshotWinBoLL(MavenPublication) {
 | 
				
			||||||
                // 需要使用的变体,假设有free和pay两个变体,可以选择一个
 | 
					                // 需要使用的变体,假设有free和pay两个变体,可以选择一个
 | 
				
			||||||
                //from components.free
 | 
					                //from components.free
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										114
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								README.md
									
									
									
									
									
								
							@@ -2,22 +2,22 @@
 | 
				
			|||||||
# ☁    ☁ WinBoLL Studio Android 应用开源项目。☁ ☁   ☁ ☁ ☁ ☁  ☁ ☁ ☁ ☁ ☁  ☁ ☁ ☁ 
 | 
					# ☁    ☁ WinBoLL Studio Android 应用开源项目。☁ ☁   ☁ ☁ ☁ ☁  ☁ ☁ ☁ ☁ ☁  ☁ ☁ ☁ 
 | 
				
			||||||
# ☁ ☁ ☁ WinBoLL 网站地址 https://www.winboll.cc/ ☁ ☁ ☁ ☁  ☁ ☁ ☁ ☁
 | 
					# ☁ ☁ ☁ WinBoLL 网站地址 https://www.winboll.cc/ ☁ ☁ ☁ ☁  ☁ ☁ ☁ ☁
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## WinBoll 提问
 | 
					## WinBoLL 提问
 | 
				
			||||||
同样是 /sdcard 目录,在开发 Android 应用时,
 | 
					同样是 /sdcard 目录,在开发 Android 应用时,
 | 
				
			||||||
能否实现手机编译与电脑编译的源码同步。
 | 
					能否实现手机编译与电脑编译的源码同步。
 | 
				
			||||||
☁因而 WinBoll 项目组诞生了。
 | 
					☁因而 WinBoLL 项目组诞生了。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## WinBoll 项目组研发计划
 | 
					## WinBoLL 项目组研发计划
 | 
				
			||||||
致力于把 WinBoll-APP 应用在手机端 Android 项目开发。
 | 
					致力于把 WinBoLL-APP 应用在手机端 Android 项目开发。
 | 
				
			||||||
也在探索 https://gitea.winboll.cc/<WinBoll 项目组>/APP.git 应用于 WinBoll-APP APK 分发。
 | 
					也在探索 https://gitea.winboll.cc/<WinBoLL 项目组>/APP.git 应用于 WinBoLL-APP APK 分发。
 | 
				
			||||||
更想进阶 https://github.com/<WinBoll 项目组>/APP.git 应用于 WinBoll-APP Beta APK 分发。
 | 
					更想进阶 https://github.com/<WinBoLL 项目组>/APP.git 应用于 WinBoLL-APP Beta APK 分发。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## WinBoll-APP 汗下...
 | 
					## WinBoLL-APP 汗下...
 | 
				
			||||||
#### ☁应用何置如此呢。且观用户云云。
 | 
					#### ☁应用何置如此呢。且观用户云云。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### ☁ 正当下 ☁ ###
 | 
					#### ☁ 正当下 ☁ ###
 | 
				
			||||||
#### ☁ 且容傻家叙说 ☁ WinBoll-APP 应用场景
 | 
					#### ☁ 且容傻家叙说 ☁ WinBoLL-APP 应用场景
 | 
				
			||||||
### ☁ WinBoll 设备资源概述
 | 
					### ☁ WinBoLL 设备资源概述
 | 
				
			||||||
#### ☁ 1. Raid Disk.
 | 
					#### ☁ 1. Raid Disk.
 | 
				
			||||||
概述:这是一个矩阵存储类设备。
 | 
					概述:这是一个矩阵存储类设备。
 | 
				
			||||||
优点:该设备具有数据容错存储功能,
 | 
					优点:该设备具有数据容错存储功能,
 | 
				
			||||||
@@ -40,58 +40,58 @@
 | 
				
			|||||||
     设备位于操作系统内部文件系统。
 | 
					     设备位于操作系统内部文件系统。
 | 
				
			||||||
     数据持久性与操作系统挂钩。
 | 
					     数据持久性与操作系统挂钩。
 | 
				
			||||||
     
 | 
					     
 | 
				
			||||||
#### ☁ 4. WinBoll 用户资源概述。
 | 
					#### ☁ 4. WinBoLL 用户资源概述。
 | 
				
			||||||
1> /home/<用户名> 位于 WinBoll 操作系统目录下。
 | 
					1> /home/<用户名> 位于 WinBoLL 操作系统目录下。
 | 
				
			||||||
2> /rdisk/<用户名> 挂载用户 Raid Disk.
 | 
					2> /rdisk/<用户名> 挂载用户 Raid Disk.
 | 
				
			||||||
3> /data/<用户名> 挂载用户 Data Disk.
 | 
					3> /data/<用户名> 挂载用户 Data Disk.
 | 
				
			||||||
4> /sdcard/<用户名> 挂载用户 SSD Disk.
 | 
					4> /sdcard/<用户名> 挂载用户 SSD Disk.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### ☁ 5. WinBoll-APP 用户资源概述。
 | 
					#### ☁ 5. WinBoLL-APP 用户资源概述。
 | 
				
			||||||
1> /sdcard 挂载用户手机 SD 存储/storage/emulated/0
 | 
					1> /sdcard 挂载用户手机 SD 存储/storage/emulated/0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ☁ 稍稍歇 ☁ ###
 | 
					### ☁ 稍稍歇 ☁ ###
 | 
				
			||||||
### ☁ 急急停 ☁ WinBoll 应用前置条件
 | 
					### ☁ 急急停 ☁ WinBoLL 应用前置条件
 | 
				
			||||||
☁ WinBoll 主机建立 1Panel MySQL 应用。
 | 
					☁ WinBoLL 主机建立 1Panel MySQL 应用。
 | 
				
			||||||
☁ WinBoll 主机建立 1Panel Gitea 应用。
 | 
					☁ WinBoLL 主机建立 1Panel Gitea 应用。
 | 
				
			||||||
☁ WinBoll 主机设置 WinBoll 应用为非登录状态。
 | 
					☁ WinBoLL 主机设置 WinBoLL 应用为非登录状态。
 | 
				
			||||||
☁ WinBoll 主机建立 WinBoll 账户与 WinBoll 用户组。
 | 
					☁ WinBoLL 主机建立 WinBoLL 账户与 WinBoLL 用户组。
 | 
				
			||||||
☁ WinBoll 账户 User ID 为: J。
 | 
					☁ WinBoLL 账户 User ID 为: J。
 | 
				
			||||||
☁ WinBoll 用户组 Group ID 为: Studio。
 | 
					☁ WinBoLL 用户组 Group ID 为: Studio。
 | 
				
			||||||
☁ WinBoll 主机 WinBoll 1Panel Gitea 建立 WinBoll 工作组。
 | 
					☁ WinBoLL 主机 WinBoLL 1Panel Gitea 建立 WinBoLL 工作组。
 | 
				
			||||||
☁ WinBoll 主机 WinBoll 1Panel Gitea 用户项目 APK 编译输出目录为 /sdcard/WinBollStudio/<用户名>/APKs/
 | 
					☁ WinBoLL 主机 WinBoLL 1Panel Gitea 用户项目 APK 编译输出目录为 /sdcard/WinBoLLStudio/<用户名>/APKs/
 | 
				
			||||||
☁ WinBoll 项目配置文件示例为 "<WinBoll 项目根目录>/.winboll/winboll.properties-demo"(WinBoll 项目已设置)
 | 
					☁ WinBoLL 项目配置文件示例为 "<WinBoLL 项目根目录>/.winboll/winboll.properties-demo"(WinBoLL 项目已设置)
 | 
				
			||||||
☁ WinBoll 项目配置文件为 "<WinBoll 项目根目录>/.winboll/winboll.properties"
 | 
					☁ WinBoLL 项目配置文件为 "<WinBoLL 项目根目录>/.winboll/winboll.properties"
 | 
				
			||||||
☁ WinBoll 项目配置文件设定为源码提交时忽略。(WinBoll 项目已设置)
 | 
					☁ WinBoLL 项目配置文件设定为源码提交时忽略。(WinBoLL 项目已设置)
 | 
				
			||||||
☁ Gradle 项目配置文件示例为 "<WinBoll 项目根目录>/.winboll/local.properties-demo"(WinBoll 项目已设置)
 | 
					☁ Gradle 项目配置文件示例为 "<WinBoLL 项目根目录>/.winboll/local.properties-demo"(WinBoLL 项目已设置)
 | 
				
			||||||
☁ Gradle 项目配置文件为 "<WinBoll 项目根目录>/local.properties"(WinBoll 项目已设置)
 | 
					☁ Gradle 项目配置文件为 "<WinBoLL 项目根目录>/local.properties"(WinBoLL 项目已设置)
 | 
				
			||||||
☁ Gradle 项目配置文件设定为源码提交时忽略。(WinBoll 项目已设置)
 | 
					☁ Gradle 项目配置文件设定为源码提交时忽略。(WinBoLL 项目已设置)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ☁ 登高处 ☁ WinBoll 应用需求规划
 | 
					### ☁ 登高处 ☁ WinBoLL 应用需求规划
 | 
				
			||||||
☁ WinBoll 主机建立 WinBoll 客户端用户数据库为 MySQL winbollclient 数据库。
 | 
					☁ WinBoLL 主机建立 WinBoLL 客户端用户数据库为 MySQL winbollclient 数据库。
 | 
				
			||||||
☁ WinBoll 主机设置 WinBoll 客户端用户信息存储在 winbollclient 数据库中。
 | 
					☁ WinBoLL 主机设置 WinBoLL 客户端用户信息存储在 winbollclient 数据库中。
 | 
				
			||||||
☁ MySQL winbollclient 数据库中
 | 
					☁ MySQL winbollclient 数据库中
 | 
				
			||||||
   WinBoll 客户端用户信息设定为:
 | 
					   WinBoLL 客户端用户信息设定为:
 | 
				
			||||||
   <用户名, 验证密码, 验证邮箱, 验证手机, 唯一存储令牌Token, 备用验证邮箱>。
 | 
					   <用户名, 验证密码, 验证邮箱, 验证手机, 唯一存储令牌Token, 备用验证邮箱>。
 | 
				
			||||||
☁ WinBoll 项目源码仓库托管在 WinBoll 1Panel Gitea 目录 /opt/1panel/apps/gitea/gitea/data/git/repositories/studio/app.git中。
 | 
					☁ WinBoLL 项目源码仓库托管在 WinBoLL 1Panel Gitea 目录 /opt/1panel/apps/gitea/gitea/data/git/repositories/studio/app.git中。
 | 
				
			||||||
☁ WinBoll 主机提供 WinBoll 1Panel Gitea 应用的 WinBoll 项目源码仓库存取功能。(Gitea 应用已提供)
 | 
					☁ WinBoLL 主机提供 WinBoLL 1Panel Gitea 应用的 WinBoLL 项目源码仓库存取功能。(Gitea 应用已提供)
 | 
				
			||||||
☁ WinBoll 主机提供 WinBoll Gitea 项目仓库存档功能。(Gitea 应用已提供)
 | 
					☁ WinBoLL 主机提供 WinBoLL Gitea 项目仓库存档功能。(Gitea 应用已提供)
 | 
				
			||||||
☁ 提供 WinBoll 客户端用户登录功能。(Gitea 应用已提供)
 | 
					☁ 提供 WinBoLL 客户端用户登录功能。(Gitea 应用已提供)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ☁ 看远方 ☁ ###
 | 
					### ☁ 看远方 ☁ ###
 | 
				
			||||||
### ☁ 心忧虑 ☁ WinBoll-APP 应用前置需求
 | 
					### ☁ 心忧虑 ☁ WinBoLL-APP 应用前置需求
 | 
				
			||||||
☁ WinBoll-APP WinBoll 项目根目录设定为手机的 /sdcard/WinBollStudio/Sources 目录。(需要用户手动建立文件夹)
 | 
					☁ WinBoLL-APP WinBoLL 项目根目录设定为手机的 /sdcard/WinBoLLStudio/Sources 目录。(需要用户手动建立文件夹)
 | 
				
			||||||
☁ WinBoll-APP 具有手机 /sdcard/WinBoll 目录的存储权限。(需要手机操作系统授权)
 | 
					☁ WinBoLL-APP 具有手机 /sdcard/WinBoLL 目录的存储权限。(需要手机操作系统授权)
 | 
				
			||||||
☁ WinBoll-APP WinBoll 项目仓库源码存储路径为 /sdcard/WinBollStudio/Sources/APP.git(需要用户手动建立文件夹)
 | 
					☁ WinBoLL-APP WinBoLL 项目仓库源码存储路径为 /sdcard/WinBoLLStudio/Sources/APP.git(需要用户手动建立文件夹)
 | 
				
			||||||
☁ WinBoll-APP 项目 APK 编译输出目录为 /sdcard/WinBollStudio/APKs/
 | 
					☁ WinBoLL-APP 项目 APK 编译输出目录为 /sdcard/WinBoLLStudio/APKs/
 | 
				
			||||||
☁ WinBoll-APP 应用签名验证可定制化。(WinBoll 项目已提供)
 | 
					☁ WinBoLL-APP 应用签名验证可定制化。(WinBoLL 项目已提供)
 | 
				
			||||||
☁ WinBoll-APP 与系列衍生 APP 应用共享 cc.winboll.studio 命名空间资源。(WinBoll 项目已提供)
 | 
					☁ WinBoLL-APP 与系列衍生 APP 应用共享 cc.winboll.studio 命名空间资源。(WinBoLL 项目已提供)
 | 
				
			||||||
☁ WinBoll-APP 用户客户端信息存储在命名空间为 WinBoll APP MySQLLite 应用的 winbollappclient 数据库中。
 | 
					☁ WinBoLL-APP 用户客户端信息存储在命名空间为 WinBoLL APP MySQLLite 应用的 winbollappclient 数据库中。
 | 
				
			||||||
☁ WinBoll-APP MySQLLite 应用的 winbollappclient 数据库中, 
 | 
					☁ WinBoLL-APP MySQLLite 应用的 winbollappclient 数据库中, 
 | 
				
			||||||
   WinBoll 用户客户端信息设定为:
 | 
					   WinBoLL 用户客户端信息设定为:
 | 
				
			||||||
   <用户名, 唯一存储令牌Token>。
 | 
					   <用户名, 唯一存储令牌Token>。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ☁ 云游四方 ☁ ###
 | 
					### ☁ 云游四方 ☁ ###
 | 
				
			||||||
### ☁ 呔! ☁ WinBoll-APP 应用需求规划
 | 
					### ☁ 呔! ☁ WinBoLL-APP 应用需求规划
 | 
				
			||||||
☁ 如要使用 WinBoLL Android 项目的 Gradle 编译功能,则需要设置以下两个文件夹。
 | 
					☁ 如要使用 WinBoLL Android 项目的 Gradle 编译功能,则需要设置以下两个文件夹。
 | 
				
			||||||
☁ 1. 则需要建立数据存储目录 /sdcard/WinBoLLStudio/APKs。
 | 
					☁ 1. 则需要建立数据存储目录 /sdcard/WinBoLLStudio/APKs。
 | 
				
			||||||
   WinBoLL 项目源码编译出来的安装包会拷贝一份到 /sdcard/WinBoLLStudio/APKs 目录下。 
 | 
					   WinBoLL 项目源码编译出来的安装包会拷贝一份到 /sdcard/WinBoLLStudio/APKs 目录下。 
 | 
				
			||||||
@@ -99,20 +99,20 @@
 | 
				
			|||||||
   WinBoLL 项目源码编译出来的安装包会拷贝一份并命名 "app.apk" 的安装文件为到 /sdcard/AppProjects 目录下。 
 | 
					   WinBoLL 项目源码编译出来的安装包会拷贝一份并命名 "app.apk" 的安装文件为到 /sdcard/AppProjects 目录下。 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ☁ 吁! ☁ WinBoll-APP 共享计划前景
 | 
					### ☁ 吁! ☁ WinBoLL-APP 共享计划前景
 | 
				
			||||||
☁ WinBoll-APP 将会实现 https://winboll.cc/api 访问功能。
 | 
					☁ WinBoLL-APP 将会实现 https://winboll.cc/api 访问功能。
 | 
				
			||||||
☁ WinBoll-APP 将会实现手机端 Android 应用的开发与管理功能。
 | 
					☁ WinBoLL-APP 将会实现手机端 Android 应用的开发与管理功能。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## ☁ WinBoll ☁ WinBoll 主机忧虑
 | 
					## ☁ WinBoLL ☁ WinBoLL 主机忧虑
 | 
				
			||||||
☁ WinBoll 将会提供 gitea.winboll.cc 域名用户注册登录功能。
 | 
					☁ WinBoLL 将会提供 gitea.winboll.cc 域名用户注册登录功能。
 | 
				
			||||||
☁ WinBoll 将会提供 WinBoll-APP 及其衍生应用的 Gitea 仓库管理服务。
 | 
					☁ WinBoLL 将会提供 WinBoLL-APP 及其衍生应用的 Gitea 仓库管理服务。
 | 
				
			||||||
☁ WinBoll 将会提供 winboll.cc 域名 WinBoll 项目组注册登录功能。
 | 
					☁ WinBoLL 将会提供 winboll.cc 域名 WinBoLL 项目组注册登录功能。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 本项目要实际运用需要注意以下几个步骤:
 | 
					# 本项目要实际运用需要注意以下几个步骤:
 | 
				
			||||||
# 在项目根目录下:
 | 
					# 在项目根目录下:
 | 
				
			||||||
## 1. 项目模块编译环境设置(必须),settings.gradle-demo 要复制为 settings.gradle,并取消相应项目模块的注释。
 | 
					## 1. 项目模块编译环境设置(必须),settings.gradle-demo 要复制为 settings.gradle,并取消相应项目模块的注释。
 | 
				
			||||||
## 2. 项目 Android SDK 编译环境设置(可选),local.properties-demo 要复制为 local.properties,并按需要设置 Android SDK 目录。
 | 
					## 2. 项目 Android SDK 编译环境设置(可选),local.properties-demo 要复制为 local.properties,并按需要设置 Android SDK 目录。
 | 
				
			||||||
## 3. 类库型模块编译环境设置(可选),winboll.properties-demo 要复制为 winboll.properties,并按需要设置 WinBoll Maven 库登录用户信息。
 | 
					## 3. 类库型模块编译环境设置(可选),winboll.properties-demo 要复制为 winboll.properties,并按需要设置 WinBoLL Maven 库登录用户信息。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ☆类库型项目编译方法
 | 
					# ☆类库型项目编译方法
 | 
				
			||||||
@@ -121,12 +121,12 @@
 | 
				
			|||||||
设置属性 libraryProject=<类库项目模块文件夹名称>
 | 
					设置属性 libraryProject=<类库项目模块文件夹名称>
 | 
				
			||||||
### 再编译测试项目
 | 
					### 再编译测试项目
 | 
				
			||||||
$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称>
 | 
					$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称>
 | 
				
			||||||
#### 测试项目编译后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBollStudio/APKs/<项目根目录名称>/tag/" 文件夹。
 | 
					#### 测试项目编译后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。
 | 
				
			||||||
### 最后编译类库项目
 | 
					### 最后编译类库项目
 | 
				
			||||||
$ bash .winboll/bashPublishLIBAddTag.sh <类库项目模块文件夹名称>
 | 
					$ bash .winboll/bashPublishLIBAddTag.sh <类库项目模块文件夹名称>
 | 
				
			||||||
#### 类库模块编译命令执行后,编译器会发布到 WinBoll Nexus Maven 库:Maven 库地址可以参阅根项目目录配置 build.gradle 文件。
 | 
					#### 类库模块编译命令执行后,编译器会发布到 WinBoLL Nexus Maven 库:Maven 库地址可以参阅根项目目录配置 build.gradle 文件。
 | 
				
			||||||
             
 | 
					             
 | 
				
			||||||
# ☆应用型项目编译方法
 | 
					# ☆应用型项目编译方法
 | 
				
			||||||
## 直接调用以下命令编译应用型项目
 | 
					## 直接调用以下命令编译应用型项目
 | 
				
			||||||
$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称>
 | 
					$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称>
 | 
				
			||||||
#### 应用模块编译命令执行后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBollStudio/APKs/<项目根目录名称>/tag/" 文件夹。
 | 
					#### 应用模块编译命令执行后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,7 +30,7 @@ android {
 | 
				
			|||||||
        // versionName 更新后需要手动设置 
 | 
					        // versionName 更新后需要手动设置 
 | 
				
			||||||
        // .winboll/winbollBuildProps.properties 文件的 stageCount=0
 | 
					        // .winboll/winbollBuildProps.properties 文件的 stageCount=0
 | 
				
			||||||
        // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
 | 
					        // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
 | 
				
			||||||
        versionName "15.5"
 | 
					        versionName "15.7"
 | 
				
			||||||
        if(true) {
 | 
					        if(true) {
 | 
				
			||||||
            versionName = genVersionName("${versionName}")
 | 
					            versionName = genVersionName("${versionName}")
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Sun Apr 27 13:02:08 GMT 2025
 | 
					#Mon Apr 28 21:17:52 HKT 2025
 | 
				
			||||||
stageCount=6
 | 
					stageCount=4
 | 
				
			||||||
libraryProject=libappbase
 | 
					libraryProject=libappbase
 | 
				
			||||||
baseVersion=15.5
 | 
					baseVersion=15.7
 | 
				
			||||||
publishVersion=15.5.0
 | 
					publishVersion=15.7.3
 | 
				
			||||||
buildCount=6
 | 
					buildCount=0
 | 
				
			||||||
baseBetaVersion=15.5.0
 | 
					baseBetaVersion=15.7.4
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,9 +7,9 @@ buildscript {
 | 
				
			|||||||
        maven { url "file:///sdcard/.m2/repository" }
 | 
					        maven { url "file:///sdcard/.m2/repository" }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        // Nexus Maven 库地址
 | 
					        // Nexus Maven 库地址
 | 
				
			||||||
        // "WinBoll Release"
 | 
					        // "WinBoLL Release"
 | 
				
			||||||
        maven { url "https://nexus.winboll.cc/repository/maven-public/" }
 | 
					        maven { url "https://nexus.winboll.cc/repository/maven-public/" }
 | 
				
			||||||
        // "WinBoll Snapshot"
 | 
					        // "WinBoLL Snapshot"
 | 
				
			||||||
        maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" }
 | 
					        maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        maven { url 'https://maven.aliyun.com/repository/public/' } 
 | 
					        maven { url 'https://maven.aliyun.com/repository/public/' } 
 | 
				
			||||||
@@ -32,9 +32,9 @@ buildscript {
 | 
				
			|||||||
allprojects {
 | 
					allprojects {
 | 
				
			||||||
    repositories {
 | 
					    repositories {
 | 
				
			||||||
        // Nexus Maven 库地址
 | 
					        // Nexus Maven 库地址
 | 
				
			||||||
        // "WinBoll Release"
 | 
					        // "WinBoLL Release"
 | 
				
			||||||
        maven { url "https://nexus.winboll.cc/repository/maven-public/" }
 | 
					        maven { url "https://nexus.winboll.cc/repository/maven-public/" }
 | 
				
			||||||
        // "WinBoll Snapshot"
 | 
					        // "WinBoLL Snapshot"
 | 
				
			||||||
        maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" }
 | 
					        maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        maven { url 'https://maven.aliyun.com/repository/public/' } 
 | 
					        maven { url 'https://maven.aliyun.com/repository/public/' } 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Sun Apr 27 13:02:08 GMT 2025
 | 
					#Mon Apr 28 21:17:52 HKT 2025
 | 
				
			||||||
stageCount=6
 | 
					stageCount=4
 | 
				
			||||||
libraryProject=libappbase
 | 
					libraryProject=libappbase
 | 
				
			||||||
baseVersion=15.5
 | 
					baseVersion=15.7
 | 
				
			||||||
publishVersion=15.5.0
 | 
					publishVersion=15.7.3
 | 
				
			||||||
buildCount=6
 | 
					buildCount=0
 | 
				
			||||||
baseBetaVersion=15.5.0
 | 
					baseBetaVersion=15.7.4
 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule libjc/jcc/libs deleted from 645058e1e3
									
								
							@@ -1,10 +1,10 @@
 | 
				
			|||||||
## WinBoll Nexus Settings
 | 
					## WinBoLL Nexus Settings
 | 
				
			||||||
## These properties is setting for publishing
 | 
					## These properties is setting for publishing
 | 
				
			||||||
## library project to WinBoll Nexus Maven Repository.
 | 
					## library project to WinBoLL Nexus Maven Repository.
 | 
				
			||||||
##
 | 
					##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## WinBoll Nexus UserName
 | 
					## WinBoLL Nexus UserName
 | 
				
			||||||
#Nexus.name=nexustestuser1
 | 
					#Nexus.name=nexustestuser1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## WinBoll Nexus Password
 | 
					## WinBoLL Nexus Password
 | 
				
			||||||
#Nexus.password=nexustestuserpassword
 | 
					#Nexus.password=nexustestuserpassword
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user