Changeset View
Changeset View
Standalone View
Standalone View
docker/run_full_export.py
| Show All 19 Lines | |||||
| logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
| MAVEN_INDEX_NAME = "nexus-maven-repository-index" | MAVEN_INDEX_NAME = "nexus-maven-repository-index" | ||||
| MAVEN_INDEX_ARCHIVE = f"{MAVEN_INDEX_NAME}.gz" | MAVEN_INDEX_ARCHIVE = f"{MAVEN_INDEX_NAME}.gz" | ||||
| def _download_indexes(work_dir: str, instance_url: str) -> None: | def _download_indexes(base_url: str, work_dir: str) -> None: | ||||
| """Download all required indexes from the .index/ directory | """Download all required indexes from the .index/ directory | ||||
| of the specified instance. | of the specified instance. | ||||
| """ | """ | ||||
| logger.info("Downloading all required indexes") | if base_url.startswith('test://'): | ||||
| logger.info("(Testing) Fake downloading required indexes") | |||||
| return None | |||||
| index_url = urljoin(instance_url, ".index/") | logger.info("Downloading required indexes") | ||||
| index_url = urljoin(base_url, ".index/") | |||||
| properties_name = f"{MAVEN_INDEX_NAME}.properties" | properties_name = f"{MAVEN_INDEX_NAME}.properties" | ||||
| properties_file = join(work_dir, properties_name) | properties_file = join(work_dir, properties_name) | ||||
| properties_url = urljoin(index_url, properties_name) | properties_url = urljoin(index_url, properties_name) | ||||
| # Retrieve properties file. | # Retrieve properties file. | ||||
| logger.info(" - Downloading %s.", properties_file) | logger.info(" - Downloading %s.", properties_file) | ||||
| content = requests.get(properties_url).content.decode() | content = requests.get(properties_url).content.decode() | ||||
| ▲ Show 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | else: | ||||
| except OSError as error: | except OSError as error: | ||||
| logger.info("Could not create work_dir %s: %s.", work_dir, error) | logger.info("Could not create work_dir %s: %s.", work_dir, error) | ||||
| assert isdir(work_dir) | assert isdir(work_dir) | ||||
| assert isabs(work_dir) | assert isabs(work_dir) | ||||
| # Grab all the indexes | # Grab all the indexes | ||||
| # Only fetch the new ones, existing files won't be re-downloaded. | # Only fetch the new ones, existing files won't be re-downloaded. | ||||
| _download_indexes(work_dir, base_url) | _download_indexes(base_url, work_dir) | ||||
| # Extract indexes into a .fld file | # Extract indexes into a .fld file | ||||
| check_call(["/opt/extract_indexes.sh", work_dir]) | check_call(["/opt/extract_indexes.sh", work_dir]) | ||||
| logger.info("Export directory has the following files:") | logger.info("Export directory has the following files:") | ||||
| export_dir = join(work_dir, "export") | export_dir = join(work_dir, "export") | ||||
| makedirs(export_dir, exist_ok=True) | makedirs(export_dir, exist_ok=True) | ||||
| chdir(export_dir) | chdir(export_dir) | ||||
| Show All 33 Lines | |||||