42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/usr/bin/env bash
 | ||
|  | # Build the dist/packages-dist directory in the same fashion as the legacy | ||
|  | # /build.sh script, by building the npm packages with Bazel and copying files. | ||
|  | # This is needed for scripts and tests which are not updated to the Bazel output | ||
|  | # layout (which always matches the input layout). | ||
|  | # Do not add new dependencies on this script, instead adapt scripts to use the | ||
|  | # new layout, and write new tests as Bazel targets. | ||
|  | 
 | ||
|  | set -u -e -o pipefail | ||
|  | 
 | ||
|  | cd "$(dirname "$0")" | ||
|  | 
 | ||
|  | # basedir is the workspace root | ||
|  | readonly basedir=$(pwd)/.. | ||
|  | 
 | ||
|  | echo "##################################" | ||
|  | echo "scripts/build-packages-dist.sh:" | ||
|  | echo "  building @angular/* npm packages" | ||
|  | echo "##################################" | ||
|  | # Ideally these integration tests should run under bazel, and just list the npm | ||
|  | # packages in their deps[]. | ||
|  | # Until then, we have to manually run bazel first to create the npm packages we | ||
|  | # want to test. | ||
|  | bazel query --output=label 'kind(.*_package, //packages/...)' \
 | ||
|  |   | xargs bazel build | ||
|  | readonly bin=$(bazel info bazel-bin) | ||
|  | 
 | ||
|  | # Create the legacy dist/packages-dist folder | ||
|  | [ -d "${basedir}/dist/packages-dist" ] || mkdir -p $basedir/dist/packages-dist | ||
|  | # Each package is a subdirectory of bazel-bin/packages/ | ||
|  | for pkg in $(ls ${bin}/packages); do | ||
|  |   # Skip any that don't have an "npm_package" target | ||
|  |   srcDir="${bin}/packages/${pkg}/npm_package" | ||
|  |   destDir="${basedir}/dist/packages-dist/${pkg}" | ||
|  |   if [ -d $srcDir ]; then | ||
|  |     echo "# Copy artifacts to ${destDir}" | ||
|  |     rm -rf $destDir | ||
|  |     cp -R $srcDir $destDir | ||
|  |     chmod -R u+w $destDir | ||
|  |   fi | ||
|  | done |