added artifactory as well as new libraries for download
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
f1b386c878
commit
4a82672a1f
@ -6,6 +6,31 @@
|
||||
objectVersion = 55;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXAggregateTarget section */
|
||||
EAF7F0BE289DA16000B287F5 /* UpdateDependency */ = {
|
||||
isa = PBXAggregateTarget;
|
||||
buildConfigurationList = EAF7F0BF289DA16000B287F5 /* Build configuration list for PBXAggregateTarget "UpdateDependency" */;
|
||||
buildPhases = (
|
||||
EAF7F0C2289DA16900B287F5 /* ShellScript */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = UpdateDependency;
|
||||
productName = UpdateDependencies;
|
||||
};
|
||||
EAF7F0CE289DA44300B287F5 /* Artifactory */ = {
|
||||
isa = PBXAggregateTarget;
|
||||
buildConfigurationList = EAF7F0CF289DA44300B287F5 /* Build configuration list for PBXAggregateTarget "Artifactory" */;
|
||||
buildPhases = (
|
||||
EAF7F0D2289DA44700B287F5 /* ShellScript */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Artifactory;
|
||||
productName = Artifactory;
|
||||
};
|
||||
/* End PBXAggregateTarget section */
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
EA3C3B9D289966EF000CA526 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3C3B9C289966EF000CA526 /* AppDelegate.swift */; };
|
||||
EA3C3B9F289966EF000CA526 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3C3B9E289966EF000CA526 /* SceneDelegate.swift */; };
|
||||
@ -26,6 +51,13 @@
|
||||
EAF7F07C2899698800B287F5 /* Components.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EAF7F07A2899698800B287F5 /* Components.storyboard */; };
|
||||
EAF7F07D2899698800B287F5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EAF7F07B2899698800B287F5 /* Assets.xcassets */; };
|
||||
EAF7F09C2899B92400B287F5 /* CheckboxViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F09B2899B92400B287F5 /* CheckboxViewController.swift */; };
|
||||
EAF7F0CA289DA24F00B287F5 /* ArtifactoryItems.txt in Resources */ = {isa = PBXBuildFile; fileRef = EAF7F0C5289DA24F00B287F5 /* ArtifactoryItems.txt */; };
|
||||
EAF7F0CC289DA24F00B287F5 /* DownloadArtifactoryItems.sh in Resources */ = {isa = PBXBuildFile; fileRef = EAF7F0C8289DA24F00B287F5 /* DownloadArtifactoryItems.sh */; };
|
||||
EAF7F0CD289DA24F00B287F5 /* Artifactory.sh in Resources */ = {isa = PBXBuildFile; fileRef = EAF7F0C9289DA24F00B287F5 /* Artifactory.sh */; };
|
||||
EAF7F0D5289DA4A900B287F5 /* VDSLayoutTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0D3289DA4A900B287F5 /* VDSLayoutTokens.xcframework */; };
|
||||
EAF7F0D6289DA4A900B287F5 /* VDSLayoutTokens.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0D3289DA4A900B287F5 /* VDSLayoutTokens.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
EAF7F0D7289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0D4289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework */; };
|
||||
EAF7F0D8289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0D4289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@ -37,7 +69,9 @@
|
||||
files = (
|
||||
EA3C3BC1289968A0000CA526 /* VDSFormControlsTokens.xcframework in Embed Frameworks */,
|
||||
EA3C3BBF289968A0000CA526 /* VDSTypographyTokens.xcframework in Embed Frameworks */,
|
||||
EAF7F0D8289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework in Embed Frameworks */,
|
||||
EA3C3BC5289968B1000CA526 /* VDS.framework in Embed Frameworks */,
|
||||
EAF7F0D6289DA4A900B287F5 /* VDSLayoutTokens.xcframework in Embed Frameworks */,
|
||||
EA3C3BBD289968A0000CA526 /* VDSColorTokens.xcframework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
@ -63,6 +97,11 @@
|
||||
EAF7F07A2899698800B287F5 /* Components.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Components.storyboard; sourceTree = "<group>"; };
|
||||
EAF7F07B2899698800B287F5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
EAF7F09B2899B92400B287F5 /* CheckboxViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxViewController.swift; sourceTree = "<group>"; };
|
||||
EAF7F0C5289DA24F00B287F5 /* ArtifactoryItems.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ArtifactoryItems.txt; sourceTree = "<group>"; };
|
||||
EAF7F0C8289DA24F00B287F5 /* DownloadArtifactoryItems.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = DownloadArtifactoryItems.sh; sourceTree = "<group>"; };
|
||||
EAF7F0C9289DA24F00B287F5 /* Artifactory.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = Artifactory.sh; sourceTree = "<group>"; };
|
||||
EAF7F0D3289DA4A900B287F5 /* VDSLayoutTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSLayoutTokens.xcframework; path = ../SharedFrameworks/VDSLayoutTokens.xcframework; sourceTree = "<group>"; };
|
||||
EAF7F0D4289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSAccessibilityTokens.xcframework; path = ../SharedFrameworks/VDSAccessibilityTokens.xcframework; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -72,7 +111,9 @@
|
||||
files = (
|
||||
EA3C3BC0289968A0000CA526 /* VDSFormControlsTokens.xcframework in Frameworks */,
|
||||
EA3C3BBE289968A0000CA526 /* VDSTypographyTokens.xcframework in Frameworks */,
|
||||
EAF7F0D7289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework in Frameworks */,
|
||||
EA3C3BC4289968B1000CA526 /* VDS.framework in Frameworks */,
|
||||
EAF7F0D5289DA4A900B287F5 /* VDSLayoutTokens.xcframework in Frameworks */,
|
||||
EA3C3BBC289968A0000CA526 /* VDSColorTokens.xcframework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@ -100,6 +141,7 @@
|
||||
EA3C3B9B289966EF000CA526 /* VDSSample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EAF7F0C3289DA24F00B287F5 /* Supporting Files */,
|
||||
EAF7F0792899698800B287F5 /* Resources */,
|
||||
EAF7F07E28996A0700B287F5 /* Protocols */,
|
||||
EAF7F07F28996A1900B287F5 /* ViewControllers */,
|
||||
@ -113,6 +155,8 @@
|
||||
EA3C3BB8289968A0000CA526 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EAF7F0D4289DA4A900B287F5 /* VDSAccessibilityTokens.xcframework */,
|
||||
EAF7F0D3289DA4A900B287F5 /* VDSLayoutTokens.xcframework */,
|
||||
EA3C3BC3289968B1000CA526 /* VDS.framework */,
|
||||
EA3C3BB9289968A0000CA526 /* VDSColorTokens.xcframework */,
|
||||
EA3C3BBB289968A0000CA526 /* VDSFormControlsTokens.xcframework */,
|
||||
@ -151,6 +195,24 @@
|
||||
path = ViewControllers;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EAF7F0C3289DA24F00B287F5 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EAF7F0C4289DA24F00B287F5 /* Artifactory */,
|
||||
);
|
||||
path = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EAF7F0C4289DA24F00B287F5 /* Artifactory */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EAF7F0C5289DA24F00B287F5 /* ArtifactoryItems.txt */,
|
||||
EAF7F0C8289DA24F00B287F5 /* DownloadArtifactoryItems.sh */,
|
||||
EAF7F0C9289DA24F00B287F5 /* Artifactory.sh */,
|
||||
);
|
||||
path = Artifactory;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -185,6 +247,12 @@
|
||||
EA3C3B98289966EF000CA526 = {
|
||||
CreatedOnToolsVersion = 13.4.1;
|
||||
};
|
||||
EAF7F0BE289DA16000B287F5 = {
|
||||
CreatedOnToolsVersion = 13.4.1;
|
||||
};
|
||||
EAF7F0CE289DA44300B287F5 = {
|
||||
CreatedOnToolsVersion = 13.4.1;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = EA3C3B94289966EF000CA526 /* Build configuration list for PBXProject "VDSSample" */;
|
||||
@ -201,6 +269,8 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
EA3C3B98289966EF000CA526 /* VDSSample */,
|
||||
EAF7F0BE289DA16000B287F5 /* UpdateDependency */,
|
||||
EAF7F0CE289DA44300B287F5 /* Artifactory */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@ -214,11 +284,51 @@
|
||||
EAF7F07C2899698800B287F5 /* Components.storyboard in Resources */,
|
||||
EAF7F07D2899698800B287F5 /* Assets.xcassets in Resources */,
|
||||
EA3C3BA4289966EF000CA526 /* Main.storyboard in Resources */,
|
||||
EAF7F0CC289DA24F00B287F5 /* DownloadArtifactoryItems.sh in Resources */,
|
||||
EAF7F0CA289DA24F00B287F5 /* ArtifactoryItems.txt in Resources */,
|
||||
EAF7F0CD289DA24F00B287F5 /* Artifactory.sh in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
EAF7F0C2289DA16900B287F5 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "#!/bin/bash\n\ncd ../\nsh update.sh\n";
|
||||
};
|
||||
EAF7F0D2289DA44700B287F5 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "cd \"${PROJECT_DIR}/VDSSample/Supporting Files/Artifactory\"\nsh DownloadArtifactoryItems.sh\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
EA3C3B95289966EF000CA526 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@ -428,6 +538,42 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
EAF7F0C0289DA16000B287F5 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = FCMA4QKS77;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
EAF7F0C1289DA16000B287F5 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = FCMA4QKS77;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
EAF7F0D0289DA44300B287F5 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = FCMA4QKS77;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
EAF7F0D1289DA44300B287F5 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = FCMA4QKS77;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@ -449,6 +595,24 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
EAF7F0BF289DA16000B287F5 /* Build configuration list for PBXAggregateTarget "UpdateDependency" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
EAF7F0C0289DA16000B287F5 /* Debug */,
|
||||
EAF7F0C1289DA16000B287F5 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
EAF7F0CF289DA44300B287F5 /* Build configuration list for PBXAggregateTarget "Artifactory" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
EAF7F0D0289DA44300B287F5 /* Debug */,
|
||||
EAF7F0D1289DA44300B287F5 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = EA3C3B91289966EF000CA526 /* Project object */;
|
||||
|
||||
@ -4,6 +4,16 @@
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>Artifactory.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
<key>UpdateDependencies.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>6</integer>
|
||||
</dict>
|
||||
<key>VDSSample.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
|
||||
@ -70,6 +70,11 @@
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
|
||||
81
VDSSample/Supporting Files/Artifactory/Artifactory.sh
Executable file
81
VDSSample/Supporting Files/Artifactory/Artifactory.sh
Executable file
@ -0,0 +1,81 @@
|
||||
#!/bin/bash
|
||||
|
||||
#First arg should be the local path, second arg should be the remote path.
|
||||
VERSION="2.0"
|
||||
#Update onces stable
|
||||
#APITOKEN=AKCp5cbwXBA2Rarq6WagmFFxQxcxsARGxSq5g1H8NaGm7837KTgwdWPqsp7FdgRa13B7AcpGN
|
||||
#URL=https://oneartifactorycloud.verizon.com/artifactory
|
||||
|
||||
APITOKEN=AKCp5ZmHP8B1dkLtdSh23bMcWHtrWzoB3SfhoCNpEC5e3dKNhiKsn8TPMZQafXzm2qkeXFXE6
|
||||
URL=https://oneartifactoryprod.verizon.com/artifactory
|
||||
|
||||
LOCALPATH="${1}"
|
||||
REMOTEPATH="${2}"
|
||||
LOGFILE=$3
|
||||
LOCALDIR=$(dirname "${LOCALPATH}")
|
||||
LOCALBASE=$(basename "${LOCALPATH}")
|
||||
NEWFILEPATH="${LOCALDIR}"/$(basename "${REMOTEPATH}")
|
||||
VERSIONFILE=./Checksums/"${LOCALBASE}".txt
|
||||
|
||||
if [ -z $LOGFILE ]; then
|
||||
LOGFILE="/tmp/${LOCALBASE}.txt"
|
||||
fi
|
||||
|
||||
#first argument is error message.
|
||||
exit_with_error () {
|
||||
echo "Error: $1" >> "${LOGFILE}"
|
||||
if [ -f "${NEWFILEPATH}" ]; then
|
||||
rm -rf "${NEWFILEPATH}" 2>>"${LOGFILE}"
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "----------------------------------------------------------" >> $LOGFILE
|
||||
echo "Logs for ${LOCALBASE}" >> $LOGFILE
|
||||
|
||||
echo -e "Local Target: ${LOCALPATH}" >> $LOGFILE
|
||||
echo -e "Remote Source: ${REMOTEPATH}" >> $LOGFILE
|
||||
|
||||
if [ -z "$LOCALPATH" ]; then
|
||||
exit_with_error "Missing local path argument"
|
||||
fi
|
||||
|
||||
if [ -z "$REMOTEPATH" ]; then
|
||||
exit_with_error "Missing filename path argument"
|
||||
fi
|
||||
|
||||
#get local and remote checksums for comparison
|
||||
echo -e "Getting checksums..." >> $LOGFILE
|
||||
echo -e "URL: ${URL}/api/storage/${REMOTEPATH}" >> $LOGFILE
|
||||
JSON=$(curl --header "X-JFrog-Art-Api: ${APITOKEN}" -X GET "${URL}/api/storage/${REMOTEPATH}" 2>>"${LOGFILE}")
|
||||
CHECKSUM=$(echo "$JSON" | python3 -c 'import sys, json; print(json.load(sys.stdin)["checksums"]["sha1"])') 2>>"${LOGFILE}"
|
||||
if [[ -z "$CHECKSUM" ]]; then
|
||||
exit_with_error "No Checksum found in json: ${JSON}"
|
||||
fi
|
||||
echo "Remote checksum ${CHECKSUM}" >> "${LOGFILE}"
|
||||
OLDCHECKSUM=$(cat "${VERSIONFILE}" 2>/dev/null)
|
||||
echo "Local checksum ${OLDCHECKSUM}" >> "${LOGFILE}"
|
||||
|
||||
#get new framework if no original framework, no local checksum, or remote checksum is different from local.
|
||||
if [ ! -e "${LOCALPATH}" ] || [ -z "$OLDCHECKSUM" ] || [ "$CHECKSUM" != "$OLDCHECKSUM" ]; then
|
||||
echo "Downloading..." >> "${LOGFILE}"
|
||||
echo -e "URL: ${URL}/${REMOTEPATH}" >> $LOGFILE
|
||||
curl --header "X-JFrog-Art-Api: ${APITOKEN}" -f -X GET "$URL/$REMOTEPATH" --output "${NEWFILEPATH}" 2>>"${LOGFILE}"
|
||||
if [ $? -eq 0 ] && [ -e "${NEWFILEPATH}" ]; then
|
||||
echo "Finished Downloading, begin unzip" >> "${LOGFILE}"
|
||||
unzip -q -o "${NEWFILEPATH}" -d "${LOCALDIR}" 2>>"${LOGFILE}"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Finished unzipping, remove zip" >> "${LOGFILE}"
|
||||
rm -rf "${NEWFILEPATH}" 2>>"${LOGFILE}"
|
||||
echo "Writing new checksum to file" >> "${LOGFILE}"
|
||||
echo "${CHECKSUM}" > "${VERSIONFILE}" 2>>"${LOGFILE}"
|
||||
echo "Successfully downloaded and unzipped archive." >> "${LOGFILE}"
|
||||
else
|
||||
exit_with_error "Error unzipping"
|
||||
fi
|
||||
else
|
||||
exit_with_error "Failed to download"
|
||||
fi
|
||||
else
|
||||
echo "Successful, No New Version" >> "${LOGFILE}"
|
||||
fi
|
||||
@ -0,0 +1,5 @@
|
||||
${PROJECT_DIR}/../SharedFrameworks/VDSAccessibilityTokens.xcframework GVJV_VDS_Maven/@vds-tokens/ios/VDSAccessibilityTokens.1.0.7.xcframework.zip
|
||||
${PROJECT_DIR}/../SharedFrameworks/VDSColorTokens.xcframework GVJV_VDS_Maven/%40vds-tokens/ios/VDSColorTokens.1.0.6.xcframework.zip
|
||||
${PROJECT_DIR}/../SharedFrameworks/VDSLayoutTokens.xcframework GVJV_VDS_Maven/@vds-tokens/ios/VDSLayoutTokens.1.0.6.xcframework.zip
|
||||
${PROJECT_DIR}/../SharedFrameworks/VDSFormControlsTokens.xcframework GVJV_VDS_Maven/@vds-tokens/ios/VDSFormControlsTokens.1.0.7.xcframework.zip
|
||||
${PROJECT_DIR}/../SharedFrameworks/VDSTypographyTokens.xcframework GVJV_VDS_Maven/@vds-tokens/ios/VDSTypographyTokens.2.0.0.xcframework.zip
|
||||
@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
|
||||
# DownloadArtifactoryItems.sh
|
||||
# myverizon
|
||||
#
|
||||
# Created by Kyle on 3/2/20.
|
||||
# Copyright © 2020 Verizon Wireless Inc. All rights reserved.
|
||||
|
||||
ARTIFACTORYITEMS=./ArtifactoryItems.txt
|
||||
ARTIFACTORY=Artifactory.sh
|
||||
|
||||
update_artifactory_item () {
|
||||
#echo "Run Artifactory for ${1} from ${2}"
|
||||
./${ARTIFACTORY} "${1}" "${2}"
|
||||
}
|
||||
|
||||
#Loop through items needed to download and download them.
|
||||
PIDARRAY=()
|
||||
LOGFILEARRAY=()
|
||||
while read -r LOCALFILE REMOTEFILE; do
|
||||
|
||||
#for if the directory has a parameter, such as PROJECT_DIR
|
||||
FILE=$(eval echo ${LOCALFILE})
|
||||
LOGFILE="/tmp/$(basename ${FILE}).txt"
|
||||
rm $LOGFILE 2> /dev/null
|
||||
touch $LOGFILE
|
||||
|
||||
#download them in parallel and store the PIDS.
|
||||
update_artifactory_item "${FILE}" $REMOTEFILE $LOGFILE &
|
||||
PIDARRAY+=($!)
|
||||
LASTPID=${PIDARRAY[${#PIDARRAY[@]}-1]}
|
||||
LOGFILEARRAY+=($LOGFILE)
|
||||
echo "Process ${LASTPID} spawned for ${REMOTEFILE##*/}"
|
||||
|
||||
done < "${ARTIFACTORYITEMS}"
|
||||
|
||||
#wait for all processes to finish and fail if one of them fails.
|
||||
INDEX=-1
|
||||
TOTAL=${#PIDARRAY[@]}
|
||||
for i in "${PIDARRAY[@]}"; do
|
||||
|
||||
INDEX=$((INDEX + 1))
|
||||
LOGFILE=${LOGFILEARRAY[$((INDEX))]}
|
||||
|
||||
echo "\n\n$((INDEX + 1)) / ${TOTAL} (PID: ${i}) "
|
||||
|
||||
# tail the subprocess log
|
||||
tail -n +1 -f $LOGFILE &
|
||||
READ_PID=$!
|
||||
|
||||
# wait for subprocess to finish
|
||||
sleep 0.05 # Allow tail -n +1 to print
|
||||
wait $i
|
||||
|
||||
# catch any subprocess non-zero status
|
||||
status=$?
|
||||
if [[ $status -gt 0 ]]; then
|
||||
FAILED_PID_STATUS=$status
|
||||
FAILED_PID=$i
|
||||
fi
|
||||
|
||||
# kill the running tail, consume the kill output
|
||||
kill $READ_PID
|
||||
wait $READ_PID > /dev/null 2>&1
|
||||
|
||||
# Need proper way to terminate children.
|
||||
#if [[ -n $FAILED_PID ]] && [[ -n $FAIL_EARLY ]]; then
|
||||
# echo "\n\nProcess ${FAILED_PID} failed with exit code ${FAILED_PID_STATUS}"
|
||||
# echo $( ps -o pgid $FAILED_PID | grep [0-9] | tr -d ' ' )
|
||||
# kill -9 $(printf '%s ' "${PIDARRAY[@]}")
|
||||
# exit $FAILED_PID_STATUS
|
||||
#fi
|
||||
|
||||
done
|
||||
|
||||
if [[ -n $FAILED_PID_STATUS ]]; then
|
||||
echo "\n\nProcess ${FAILED_PID} failed with exit code ${FAILED_PID_STATUS}"
|
||||
exit $FAILED_PID_STATUS
|
||||
fi
|
||||
2
dependency.txt
Normal file
2
dependency.txt
Normal file
@ -0,0 +1,2 @@
|
||||
vds https://gitlab.verizon.com/BPHV_MIPS/vds_ios.git develop
|
||||
vds_sample https://gitlab.verizon.com/BPHV_MIPS/vds_ios_sample develop
|
||||
44
update.sh
Executable file
44
update.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
exitCode=0
|
||||
exitCode=$(mktemp) && echo 0 >$exitCode
|
||||
|
||||
handleRepo() {
|
||||
read repo url branchName
|
||||
if [ ! -d "$repo" ] || [ ! "$(ls -A $repo)" ] ; then
|
||||
#clone if the local working copy does not exist (or empty)
|
||||
printf "\n===== repo:$repo ----> cloning "$repo" at "$url" for branch: "$branchName"\n"
|
||||
git clone $url -b $branchName
|
||||
else
|
||||
#get current branch
|
||||
cd $repo
|
||||
currentBranch=$(git symbolic-ref HEAD | sed -e 's/refs\/heads\///g')
|
||||
printf "\n===== repo:$repo ----> current branch = '$currentBranch'\n"
|
||||
|
||||
if [[ $currentBranch == $branchName ]]; then
|
||||
printf "\n===== repo:$repo ----> pulling branch: $branchName \n"
|
||||
git pull
|
||||
else
|
||||
git fetch -a
|
||||
#checkout the brach if the folder is already downloaded
|
||||
printf "\n===== repo:$repo ----> checkout "$repo" at branch: "$branchName"\n"
|
||||
git checkout $branchName
|
||||
if [[ $? == 0 ]]; then
|
||||
git pull
|
||||
else
|
||||
echo "error: branch $branchName does not exist, exit code = 1"
|
||||
echo 1 >$exitCode
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
cd ..
|
||||
fi
|
||||
printf "\n===== repo:$repo ----> git operation finished"
|
||||
}
|
||||
|
||||
file="dependency.txt"
|
||||
grep -vE '^(\s*$|#)' $file | (while read -r line
|
||||
do echo $line | handleRepo & done
|
||||
wait
|
||||
echo "exitCode => $(cat $exitCode)"
|
||||
exit $(cat $exitCode))
|
||||
Loading…
Reference in New Issue
Block a user