瀏覽代碼

Remove hardcoded repo url

wip/gradle-reposilite
Sindre Stephansen 2 年之前
父節點
當前提交
084b5e454d
簽署人: sindre <sindre@sindrestephansen.com> GPG 金鑰 ID: B06FC67D17A46ADE
共有 2 個檔案被更改,包括 18 行新增13 行删除
  1. +14
    -12
      sync/generate-gradle.py
  2. +4
    -1
      sync/resolve-deps.sh

+ 14
- 12
sync/generate-gradle.py 查看文件

@@ -343,22 +343,21 @@ def load_package_list(list_path: Path, queue: asyncio.Queue) -> None:
) )
) )


async def create_gradle_build() -> str:
async with gradle_packages_lock:
return """// Generated, do not edit
def create_gradle_build(packages, repo) -> str:
return """// Generated, do not edit
plugins { plugins {
kotlin("jvm") version "1.7.20" kotlin("jvm") version "1.7.20"
} }


repositories { repositories {
maven { maven {
url=uri("http://repo:80/releases")
url=uri("http://""" + repo + """/releases")
isAllowInsecureProtocol=true isAllowInsecureProtocol=true
} }
} }


val deps = listOf( val deps = listOf(
""" + ',\n '.join(f'"{dep}"' for dep in sorted(gradle_packages)) + """
""" + ',\n '.join(f'"{dep}"' for dep in sorted(packages)) + """
).map { ).map {
configurations.create(it.replace(':', '_')) to it configurations.create(it.replace(':', '_')) to it
} }
@@ -384,14 +383,15 @@ tasks.register("downloadDependencies") {
} }
""" """


async def create_gradle_settings() -> str:

def create_gradle_settings(repo: str) -> str:
return """// Generated, do not edit return """// Generated, do not edit
rootProject.name = "gradle sync job" rootProject.name = "gradle sync job"


pluginManagement { pluginManagement {
repositories { repositories {
maven { maven {
url=uri("http://repo:80/releases")
url=uri("http://""" + repo + """/releases")
isAllowInsecureProtocol=true isAllowInsecureProtocol=true
} }
} }
@@ -498,7 +498,7 @@ async def worker(queue: asyncio.Queue) -> None:
queue.task_done() queue.task_done()




async def main(package_list: Path, output_dir: Path, num_workers: int) -> None:
async def main(package_list: Path, output_dir: Path, num_workers: int, gradle_repo: str) -> None:
queue: asyncio.Queue = asyncio.Queue() queue: asyncio.Queue = asyncio.Queue()
tasks = [] tasks = []


@@ -520,11 +520,12 @@ async def main(package_list: Path, output_dir: Path, num_workers: int) -> None:


await asyncio.gather(*tasks, return_exceptions=True) await asyncio.gather(*tasks, return_exceptions=True)


logger.info('Generating build.gradle.kts')
(output_dir / 'build.gradle.kts').write_text(await create_gradle_build())
async with gradle_packages_lock:
logger.info('Generating build.gradle.kts')
(output_dir / 'build.gradle.kts').write_text(create_gradle_build(gradle_packages, gradle_repo))


logger.info('Generating settings.gradle.kts') logger.info('Generating settings.gradle.kts')
(output_dir / 'settings.gradle.kts').write_text(await create_gradle_settings())
(output_dir / 'settings.gradle.kts').write_text(create_gradle_settings(gradle_repo))


logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)


@@ -532,6 +533,7 @@ if __name__ == '__main__':
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('-w', '--workers', type=int, default=20) parser.add_argument('-w', '--workers', type=int, default=20)
parser.add_argument('-v', '--verbose', dest='verbosity', action='count', default=0) parser.add_argument('-v', '--verbose', dest='verbosity', action='count', default=0)
parser.add_argument('--repo', type=str, help="The repository gradle should use", required=True)
parser.add_argument('--output_dir', type=Path, help="The directory to put the generated gradle files in", default=Path('.'), required=False) parser.add_argument('--output_dir', type=Path, help="The directory to put the generated gradle files in", default=Path('.'), required=False)
parser.add_argument('package_list', type=Path, help="The list of packages to download") parser.add_argument('package_list', type=Path, help="The list of packages to download")
args = parser.parse_args() args = parser.parse_args()
@@ -546,5 +548,5 @@ if __name__ == '__main__':
logging.basicConfig(level=log_level) logging.basicConfig(level=log_level)


asyncio.run( asyncio.run(
main(args.package_list, args.output_dir, args.workers)
main(args.package_list, args.output_dir, args.workers, args.repo)
) )

+ 4
- 1
sync/resolve-deps.sh 查看文件

@@ -30,7 +30,10 @@ if [[ ! -f /package-list.txt ]]; then
fi fi


echo "Resolving packages and generating gradle config" echo "Resolving packages and generating gradle config"
./generate-gradle.py /package-list.txt
if ! ./generate-gradle.py --repo="repo:80" /package-list.txt; then
echo "Gradle generation failed"
exit 255
fi


echo "Check that reposilite is running" echo "Check that reposilite is running"
wait_for_reposilite wait_for_reposilite


Loading…
取消
儲存