extract_files: Add initial blueprint creation
Start the copyrights for these at 2019 because the blueprints won't
have existed before then.
Change-Id: I5300109949785dd19555e35d17a1e80daef498b0
diff --git a/extract_utils.sh b/extract_utils.sh
index a3f1364..51e6361 100644
--- a/extract_utils.sh
+++ b/extract_utils.sh
@@ -85,6 +85,7 @@
fi
export PRODUCTMK="$LINEAGE_ROOT"/"$OUTDIR"/"$VNDNAME"-vendor.mk
+ export ANDROIDBP="$LINEAGE_ROOT"/"$OUTDIR"/Android.bp
export ANDROIDMK="$LINEAGE_ROOT"/"$OUTDIR"/Android.mk
export BOARDMK="$LINEAGE_ROOT"/"$OUTDIR"/BoardConfigVendor.mk
@@ -456,8 +457,8 @@
#
# write_product_packages:
#
-# This function will create BUILD_PREBUILT entries in the
-# Android.mk and associated PRODUCT_PACKAGES list in the
+# This function will create prebuilt entries in the
+# Android.bp and associated PRODUCT_PACKAGES list in the
# product makefile for all files in the blob list which
# start with a single dash (-) character.
#
@@ -683,7 +684,7 @@
}
#
-# write_header:
+# write_blueprint_header:
#
# $1: file which will be written to
#
@@ -691,7 +692,61 @@
# note that this is not an append operation, and should
# be executed first!
#
-function write_header() {
+function write_blueprint_header() {
+ if [ -f $1 ]; then
+ rm $1
+ fi
+
+ YEAR=$(date +"%Y")
+
+ [ "$COMMON" -eq 1 ] && local DEVICE="$DEVICE_COMMON"
+
+ printf "/**\n" > $1
+ NUM_REGEX='^[0-9]+$'
+ if [[ ! $INITIAL_COPYRIGHT_YEAR =~ $NUM_REGEX ]] || [ $INITIAL_COPYRIGHT_YEAR -lt 2019 ]; then
+ BLUEPRINT_INITIAL_COPYRIGHT_YEAR=2019
+ else
+ BLUEPRINT_INITIAL_COPYRIGHT_YEAR=$INITIAL_COPYRIGHT_YEAR
+ fi
+
+ if [ $BLUEPRINT_INITIAL_COPYRIGHT_YEAR -eq $YEAR ]; then
+ printf " * Copyright (C) $YEAR The LineageOS Project\n" >> $1
+ elif [ $BLUEPRINT_INITIAL_COPYRIGHT_YEAR -le 2019 ]; then
+ printf " * Copyright (C) 2019-$YEAR The LineageOS Project\n" >> $1
+ else
+ printf " * Copyright (C) $BLUEPRINT_INITIAL_COPYRIGHT_YEAR-$YEAR The LineageOS Project\n" >> $1
+ fi
+
+ cat << EOF >> $1
+ *
+ * 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.
+ *
+ * This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+ */
+
+EOF
+}
+
+#
+# write_makefile_header:
+#
+# $1: file which will be written to
+#
+# writes out the copyright header with the current year.
+# note that this is not an append operation, and should
+# be executed first!
+#
+function write_makefile_header() {
if [ -f $1 ]; then
rm $1
fi
@@ -745,12 +800,12 @@
# $1: devices falling under common to be added to guard - optional
# $2: custom guard - optional
#
-# Calls write_header for each of the makefiles and creates
-# the initial path declaration and device guard for the
-# Android.mk
+# Calls write_makefile_header for each of the makefiles and
+# write_blueprint_header for Android.bp and creates the initial
+# path declaration and device guard for the Android.mk
#
function write_headers() {
- write_header "$ANDROIDMK"
+ write_makefile_header "$ANDROIDMK"
GUARD="$2"
if [ -z "$GUARD" ]; then
@@ -777,8 +832,22 @@
EOF
fi
- write_header "$BOARDMK"
- write_header "$PRODUCTMK"
+ write_makefile_header "$BOARDMK"
+ write_makefile_header "$PRODUCTMK"
+ write_blueprint_header "$ANDROIDBP"
+
+ cat << EOF >> "$ANDROIDBP"
+soong_namespace {
+}
+
+EOF
+
+ [ "$COMMON" -eq 1 ] && local DEVICE="$DEVICE_COMMON"
+ cat << EOF >> "$PRODUCTMK"
+PRODUCT_SOONG_NAMESPACES += \\
+ vendor/$VENDOR/$DEVICE
+
+EOF
}
#
@@ -881,7 +950,7 @@
# $2: make treble compatible makefile - optional
#
# Calls write_product_copy_files and write_product_packages on
-# the given file and appends to the Android.mk as well as
+# the given file and appends to the Android.bp as well as
# the product makefile.
#
function write_makefiles() {