Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.

Upstream: https://github.com/ARMmbed/DAPLink

Revision:
0:01f31e923fe2
diff -r 000000000000 -r 01f31e923fe2 tools/pre_build_script.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/pre_build_script.py	Tue Apr 07 12:55:42 2020 +0200
@@ -0,0 +1,106 @@
+#
+# DAPLink Interface Firmware
+# Copyright (c) 2009-2019, ARM Limited, All Rights Reserved
+# SPDX-License-Identifier: Apache-2.0
+#
+# 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.
+#
+
+from __future__ import absolute_import
+from __future__ import print_function
+
+import sys
+import os
+import argparse
+from subprocess import check_output, CalledProcessError
+
+VERSION_GIT_FILE_TEMPLATE = """
+/**
+ * @file    version_git.h
+ * @brief   GIT version info
+ *
+ * DAPLink Interface Firmware
+ * Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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.
+ */
+#ifndef VERSION_GIT_H
+#define VERSION_GIT_H
+
+#define GIT_COMMIT_SHA  \"%s\"
+#define GIT_LOCAL_MODS  %d
+
+#endif
+
+"""
+
+
+
+def generate_version_file(version_git_dir):
+
+    output_file = os.path.join(os.path.normpath(version_git_dir),'version_git.h')
+    print("#> Pre-build script start")
+
+    # Get the git SHA.
+    print("#> Getting git SHA")
+    try:
+        git_sha = check_output("git rev-parse --verify HEAD", shell=True)
+        git_sha = git_sha.decode().strip()
+    except:
+        print("#> ERROR: Failed to get git SHA, do you have git.exe in your PATH environment variable?")
+        return 1
+
+    # Check are there any local, uncommitted modifications.
+    print("#> Checking for local changes")
+    try:
+        check_output("git diff --no-ext-diff --quiet --exit-code", shell=True)
+    except (CalledProcessError, OSError):
+        git_has_changes = 1
+    else:
+        git_has_changes = 0
+
+
+    # Create the version file. Only overwrite an existing file if it changes.
+    version_text = VERSION_GIT_FILE_TEMPLATE % (git_sha, git_has_changes)
+    try:
+        with open(output_file, 'r') as version_file:
+            current_version_text = version_file.read()
+    except IOError:
+        current_version_text = ''
+    if version_text != current_version_text:
+        print("#> Writing git version file")
+        with open(output_file, 'w+') as version_file:
+            version_file.write(version_text)
+    else:
+        print("#> Keeping git version file since it didn't need to change")
+
+    print("#> Pre-build script completed written %s" % output_file )
+
+    return 0
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser(description='git version generator')
+    parser.add_argument("--version_git_dir", type=str, default='../../../source/daplink/', help="directory to output version_git.h file")
+    args = parser.parse_args()
+    exit(generate_version_file(args.version_git_dir))