Commit cc1da7e0 authored by wengzhipeng@yit.com's avatar wengzhipeng@yit.com

Merge branch 'develop' into 'master'

Develop

See merge request !1
parents 525dcab4 2959d9d7
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# These are explicitly windows files and should use crlf
*.bat text eol=crlf
# Created by .ignore support plugin (hsz.mobi)
*.class
*.log
*.ctxt
.mtj.tmp/
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
hs_err_pid*
.gradle
**/build/
!src/**/build/
gradle-app.setting
!gradle-wrapper.jar
.gradletasknamecache
.svn/
/CVS/*
**/CVS/*
.cvsignore
*/.cvsignore
*.apk
*.aar
*.ap_
*.aab
*.dex
*.class
bin/
gen/
out/
.gradle/
build/
local.properties
proguard/
*.log
.navigation/
captures/
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches
.idea/modules.xml
.idea/navEditor.xml
.externalNativeBuild
.cxx/
freeline.py
freeline/
freeline_project_description.json
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
vcs.xml
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
*.hprof
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
Session.vim
Sessionx.vim
.netrwhist
*~
tags
[._]*.un~
*.tmp
~$*.doc*
Backup of *.doc*
~$*.xls*
*.xlk
~$*.ppt*
*.~vsd*
xcuserdata/
*.xcscmblueprint
*.xccheckout
build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
/*.gcno
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
.idea/**/contentModel.xml
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
.idea/**/gradle.xml
.idea/**/libraries
cmake-build-*/
.idea/**/mongoSettings.xml
*.iws
out/
.idea_modules/
atlassian-ide-plugin.xml
.idea/replstate.xml
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
.idea/httpRequests
.idea/caches/build_file_checksums.ser
# Ignore Gradle build output directory
build
/.idea/compiler.xml
.idea/codeStyles/
.idea/misc.xml
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
import java.text.SimpleDateFormat
import java.util.regex.Matcher
import java.util.regex.Pattern
def getProperties(def filePath) {
def propertiesFile = file(filePath)
if (!propertiesFile.exists()) return null
def properties = new Properties()
propertiesFile.withInputStream { stream -> properties.load(stream) }
return properties
}
def getPropertiesValue(def filePath, def key, def value) {
def properties = getProperties(filePath)
if (properties == null) return value
return properties.get(key, value)
}
def getBuildUserId() {
if (System.getenv("BUILD_USER_ID") == null) return "UNKNOWN"
return String.valueOf(System.getenv("BUILD_USER_ID"))
}
def getBuildTime(def pattern) {
if (pattern == null || !(pattern instanceof String)) return Calendar.getInstance().timeInMillis as String
return new SimpleDateFormat(pattern).format(Calendar.getInstance().time)
}
def isJenkins() {
return System.getenv("JENKINS_HOME") != null
}
def getBuildNumber() {
if (System.getenv("BUILD_NUMBER") == null) return "1"
return String.valueOf(System.getenv("BUILD_NUMBER"))
}
def getBuildOS() {
if (System.getenv("JENKINS_HOME") != null) return "JENKINS"
if (System.getenv("OS") != null) {
def os = System.getenv("OS").toUpperCase()
if (os.contains("WINDOWS")) return "WINDOWS"
}
if (System.getenv("COMMAND_MODE") != null) {
def os = System.getenv("COMMAND_MODE").toUpperCase()
if (os.contains("UNIX")) return "MACOS"
}
return "LINUX"
}
def getRevision() {
def code = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--short', 'HEAD'
standardOutput = code
}
return String.valueOf(code.toString().trim())
}
def getChannel() {
def path = "${rootDir.absolutePath + File.separator}local.properties"
return getPropertiesValue(path, "CHANNEL", "")
}
def getChannelString() {
def channel = getChannel()
if (channel == null) return ""
if ((channel as String).length() == 0) return ""
return channel as String
}
def isRelease() {
return "RELEASE" == getChannelString()
}
def isDebug() {
return "DEBUG" == getChannelString()
}
def isAlpha() {
return "ALPHA" == getChannelString()
}
def isBeta() {
return "BETA" == getChannelString()
}
def isSnapshot() {
return "SNAPSHOT" == getChannelString()
}
task printenv() {
getBizModuleLastVersion()
}
def getBizModuleLastVersion() {
def modules = [
"yit_shell",
// "yit_shop",
// "yit_live",
// "yit_cms",
// "yit_base",
// "yit_food",
// "yit_browser",
// "yit_category",
// "yit_qr",
// "yit_productinfo",
// "yit_mine",
// "yit_search",
// "yit_cart",
// "yit_post",
// "yit_login",
// "yit_auction",
// "yit_social",
// "yit_imagepicker",
// "yit_share",
// "yit_picker",
// "yit_flutter"
]
def group = "com.yitlib.module"
for (def module : modules) {
getHttpVersion(group, module)
}
}
def getHttpVersion(def group, def module) {
def group_path = group.replace(".", "/")
HttpURLConnection connection = null
InputStream is = null
BufferedReader br = null
StringBuilder builder = new StringBuilder("\n")// 返回结果字符串
try {
URL url = new URL("https://nexus3.yit.com/repository/maven-public/$group_path/$module/maven-metadata.xml")
println(url)
connection = (HttpURLConnection) url.openConnection()
connection.setRequestMethod("GET")
connection.setConnectTimeout(15000)
connection.setReadTimeout(60000)
connection.connect()
if (connection.getResponseCode() == 200) {
is = connection.getInputStream()
br = new BufferedReader(new InputStreamReader(is, "UTF-8"))
String temp
while ((temp = br.readLine()) != null) {
builder.append(temp).append("\n")
}
}
} catch (Exception e) {
e.printStackTrace()
} finally {
if (null != br) {
try {
br.close()
} catch (IOException e) {
e.printStackTrace()
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace()
}
}
connection.disconnect()// 关闭远程连接
}
Pattern pattern = Pattern.compile("<versions>(.|\n)+</versions>")
Matcher matcher = pattern.matcher(builder)
List<String> dataSet = new ArrayList<>()
try {
if (matcher.find()) {
def versions = matcher.group()
.replaceAll("<version>", "")
.replaceAll("</version>", "")
.replaceAll("<versions>", "")
.replaceAll("</versions>", "")
.split("\n")
for (String version : versions) {
dataSet.add(version)
}
}
} catch (Exception e) {
e.printStackTrace()
}
// dataSet.each { it -> println(it) }
}
ext {
getProperties = this.&getProperties
getPropertiesValue = this.&getPropertiesValue
getBuildUserId = this.&getBuildUserId
getBuildTime = this.&getBuildTime
getBuildOS = this.&getBuildOS
getRevision = this.&getRevision
isJenkins = this.&isJenkins
getChannel = this.&getChannel
getChannelString = this.&getChannelString
isRelease = this.&isRelease
isDebug = this.&isDebug
isAlpha = this.&isAlpha
isBeta = this.&isBeta
isSnapshot = this.&isSnapshot
getBuildNumber = this.&getBuildNumber
}
ext {
build_version = [
compileSdkVersion: 28,
buildToolsVersion: "29.0.2",
minSdkVersion : 21,
targetSdkVersion : 28,
versionCode : 1
]
java_version = [
sourceCompatibility: JavaVersion.VERSION_1_8,
targetCompatibility: JavaVersion.VERSION_1_8
]
androidx_version = [
appcompat : "1.2.0",
multidex : "2.0.1",
room : "2.2.5",
material : "1.2.1",
constraintlayout : "2.0.1",
navigation_fragment : "2.3.0",
navigation_ui : "2.3.0",
junit : "4.12",
junit_ext : "1.1.2",
espresso_core : "3.3.0",
core_ktx : "1.3.1",
lifecycle_extensions: "2.2.0",
annotation : "1.1.0"
]
google_version = [
material : "1.0.0",
findbugs_annotations: "3.0.1"
]
kotlin_version = [
kotlin_version : "1.3.72",
kotlin_stdlib_jdk7 : "1.3.72",
kotlin_stdlib_jdk8 : "1.3.72",
kotlinx_coroutines_core : "1.3.1",
kotlinx_coroutines_android: "1.3.1"
]
}
\ No newline at end of file
ext {
rxJava = ""
rxAndroid = ""
gson = "2.8.5"
okhttp3 = "3.12.6"
okio = "2.4.1"
okhttp_logging_interceptor = "3.12.6"
eventbus = "3.1.1"
commons_io = "2.6"
photoview = ""
gravitysnaphelper = "1.3"
simplifyspan = "2.1"
lottie = "2.5.4"
rxpermissions = "0.9.3"
aliyun = [
vlayout : "1.2.36@aar",
fastjson: "1.2.60",
oss : "2.9.2"
]
bumptech = [
glide : "4.9.0",
okhttp3_integration: "4.9.0@aar"
]
liulishuo = [
okdownload_sqlite : "1.0.5",
okdownload_okhttp : "1.0.5",
okdownload_okdownload: "1.0.5"
]
jakewharton = [
rxbinding2_rxbinding: "2.0.0"
]
tencent = [
mmkv : "1.0.22",
wechat_sdk_android_without_mta: "5.3.1",
bugly_crashreport_upgrade : "1.3.6",
imsdk : "4.7.10"
]
smartrefresh = [
SmartRefreshLayout: "1.1.0-alpha-28",
SmartRefreshHeader: "1.1.0-alpha-28"
]
blankj = [
utilcode: "1.23.6"
]
jiguang = [
jpush : "3.8.0",
jcore : "2.5.1",
plugin_huawei: "3.8.0",
plugin_xiaomi: "3.8.0"
]
leakcanary = [
leakcanary_android : "1.6.2",
leakcanary_android_no_op: "1.6.2"
]
}
\ No newline at end of file
ext {
}
\ No newline at end of file
ext {
app_version = "4.0.0"
shell = "4.0.0.16"
shop = "4.0.0.15"
live = "4.0.0.15"
cms = "4.0.0.15"
base = "4.0.0.15"
food = "4.0.0.15"
browser = "4.0.0.15"
category = "4.0.0.15"
qr = "4.0.0.15"
productinfo = "4.0.0.15"
mine = "4.0.0.15"
search = "4.0.0.15"
cart = "4.0.0.15"
post = "4.0.0.16"
login = "4.0.0.15"
auction = "4.0.0.15"
social = "4.0.0.16"
imagepicker = "4.0.0.15"
share = "4.0.0.15"
picker = "4.0.0.15"
flutter = "4.0.0.41"
gateway = "5.4.6"
}
\ No newline at end of file
apply from: "$rootDir.absolutePath/BuildScript/Register.Method.gradle"
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# 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
#
# https://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.
#
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
exec "$JAVACMD" "$@"
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
/*
* This file was generated by the Gradle 'init' task.
*
* The settings file is used to specify which projects to include in your build.
*
* Detailed information about configuring a multi-project build in Gradle can be found
* in the user manual at https://docs.gradle.org/6.7/userguide/multi_project_builds.html
*/
rootProject.name = 'AndroidBuildScript'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment