diff --git a/LocalPackages/Utilities/Package.swift b/LocalPackages/Utilities/Package.swift index f66f812304..38575aa77c 100644 --- a/LocalPackages/Utilities/Package.swift +++ b/LocalPackages/Utilities/Package.swift @@ -1,5 +1,22 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. +// +// Package.swift +// +// Copyright © 2024 DuckDuckGo. All rights reserved. +// +// 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 +// +// http://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. +// import PackageDescription diff --git a/clean-app.sh b/clean-app.sh index 2bba9829e3..47b624c160 100755 --- a/clean-app.sh +++ b/clean-app.sh @@ -1,53 +1,83 @@ #!/bin/bash delete_data() { - bundle_id="$1" + bundle_id="$1" - printf '%s' "Deleting data for ${bundle_id}..." + printf '%s' "Deleting data for ${bundle_id}..." - if defaults read "${bundle_id}" &>/dev/null; then - defaults delete "${bundle_id}" - fi - rm -rf "${HOME}/Library/Containers/${bundle_id}/Data" + if defaults read "${bundle_id}" &>/dev/null; then + defaults delete "${bundle_id}" + fi - echo " Done." + data_path="${HOME}/Library/Containers/${bundle_id}/Data" + if [ -d "${data_path}" ]; then + rm -r "${data_path}" || { echo "Failed to delete ${data_path}"; exit 1; } + echo " Done." + else + printf '\nNothing to do for %s\n' "${data_path}" + fi } bundle_id= +config_id= case "$1" in - debug) - bundle_id="com.duckduckgo.macos.browser.debug" - netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*debug" - ;; - review) - bundle_id="com.duckduckgo.macos.browser.review" - netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*review" - ;; - debug-appstore) - bundle_id="com.duckduckgo.mobile.ios.debug" - ;; - review-appstore) - bundle_id="com.duckduckgo.mobile.ios.review" - ;; - *) - echo "usage: clean-app debug|review|debug-appstore|review-appstore" - exit 1 - ;; + debug) + bundle_id="com.duckduckgo.macos.browser.debug" + config_ids="*com.duckduckgo.macos.browser.app-configuration.debug" + netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*debug" + ;; + review) + bundle_id="com.duckduckgo.macos.browser.review" + config_ids="*com.duckduckgo.macos.browser.app-configuration.review" + netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*review" + ;; + debug-appstore) + bundle_id="com.duckduckgo.mobile.ios.debug" + config_ids="*com.duckduckgo.mobile.ios.app-configuration.debug" + ;; + review-appstore) + bundle_id="com.duckduckgo.mobile.ios.review" + config_ids="*com.duckduckgo.mobile.ios.app-configuration.review" + ;; + *) + echo "usage: clean-app debug|review|debug-appstore|review-appstore" + exit 1 + ;; esac delete_data "${bundle_id}" +# shellcheck disable=SC2046 +read -r -a config_bundle_ids <<< $( + find "${HOME}/Library/Group Containers/" \ + -type d \ + -maxdepth 1 \ + -name "${config_ids}" \ + -exec basename {} \; +) +for config_id in "${config_bundle_ids[@]}"; do + path="${HOME}/Library/Group Containers/${config_id}" + printf '%s' "Deleting data at ${path}... " + if [ -d "${path}" ]; then + rm -r "${path}" || { echo "Failed to delete ${path}"; exit 1; } + echo "Done." + else + printf '\nNothing to do for %s\n' "${path}" + fi + +done + if [[ -n "${netp_bundle_ids_glob}" ]]; then - # shellcheck disable=SC2046 - read -r -a netp_bundle_ids <<< $( - find "${HOME}/Library/Containers/" \ - -type d \ - -maxdepth 1 \ - -name "${netp_bundle_ids_glob}" \ - -exec basename {} \; - ) - for netp_bundle_id in "${netp_bundle_ids[@]}"; do - delete_data "${netp_bundle_id}" - done + # shellcheck disable=SC2046 + read -r -a netp_bundle_ids <<< $( + find "${HOME}/Library/Containers/" \ + -type d \ + -maxdepth 1 \ + -name "${netp_bundle_ids_glob}" \ + -exec basename {} \; + ) + for netp_bundle_id in "${netp_bundle_ids[@]}"; do + delete_data "${netp_bundle_id}" + done fi