Reintroduce jam rule for creating remote repository for testing.

* 'jam build-remote-test-repository' can now be used to create a
  remote repository which will then be used by the build system,
  such that the resulting package set can be tested.
This commit is contained in:
Oliver Tappe 2013-11-14 23:48:56 +01:00
parent 4320349447
commit 49b970d9c2
2 changed files with 34 additions and 0 deletions

View File

@ -76,6 +76,17 @@ rule ProcessCommandLineArguments
Always $(JAM_TARGETS) ;
}
# Copy the given set of local package files to the remote repository
# and create a new version of that remote repository (useful for
# testing the package repository before pushing).
case build-remote-test-repository : {
BuildRemoteHaikuPortsRepository $(JAM_TARGETS[1])
: $(JAM_TARGETS[2-]) ;
JAM_TARGETS = $(JAM_TARGETS[1]) ;
NotFile $(JAM_TARGETS) ;
Always $(JAM_TARGETS) ;
}
# A target starting with "@" is a build profile.
case @* : {
HAIKU_BUILD_PROFILE = [ Match "@(.*)" : $(JAM_TARGETS[1]) ] ;

View File

@ -652,3 +652,26 @@ actions UploadPackages1
scp $(HAIKU_REMOTE_REPOSITORY_PACKAGES) $remote:hpkg-upload/
fi
}
rule BuildRemoteHaikuPortsRepository target : packages
{
UploadPackages $(target) : $(packages) ;
local packageListFile = <repository-package-list>HaikuPorts-packages ;
BuildRemoteHaikuPortsRepository1 $(target) : $(packageListFile) ;
}
actions BuildRemoteHaikuPortsRepository1
{
remote=git.haiku-os.org
repoArch=$(TARGET_PACKAGING_ARCH)
scp $(2) $remote:hpkg-upload/$repoArch
cd $(HAIKU_TOP)
branch=`git branch | cut -c3-`
ssh $remote "build_repository_for_testing.sh $branch $repoArch"
}