diff --git a/doc/support/generate.sh b/doc/support/generate.sh index 1e5bc92f..c3065c1d 100755 --- a/doc/support/generate.sh +++ b/doc/support/generate.sh @@ -28,7 +28,7 @@ cd "$(dirname "${0}")/../.." source doc/support/compat.sh -doc/support/generate_doxygen.sh +python doc/support/generate_doxygen.py output_dir=doc/generated maybe_mkdir "${output_dir}" diff --git a/doc/support/generate_doxygen.py b/doc/support/generate_doxygen.py new file mode 100755 index 00000000..11dd0ad0 --- /dev/null +++ b/doc/support/generate_doxygen.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# coding: utf-8 + +# Copyright 2017 The Crashpad Authors. All rights reserved. +# +# 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. + +# Generating Doxygen documentation requires Doxygen, http://www.doxygen.org/. + +import os +import shutil +import subprocess +import sys + + +def main(args): + script_dir = os.path.dirname(__file__) + crashpad_dir = os.path.join(script_dir, os.pardir, os.pardir) + + # Run from the Crashpad project root directory. + os.chdir(crashpad_dir) + + output_dir = os.path.join('out', 'doc', 'doxygen') + + if os.path.isdir(output_dir) and not os.path.islink(output_dir): + shutil.rmtree(output_dir) + elif os.path.exists(output_dir): + os.unlink(output_dir) + + os.makedirs(output_dir, 0755) + + doxy_file = os.path.join('doc', 'support', 'crashpad.doxy') + subprocess.check_call(['doxygen', doxy_file]) + + return 0 + + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:])) diff --git a/doc/support/generate_doxygen.sh b/doc/support/generate_doxygen.sh deleted file mode 100755 index ba565e7b..00000000 --- a/doc/support/generate_doxygen.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# Copyright 2015 The Crashpad Authors. All rights reserved. -# -# 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. - -set -e - -# Generating Doxygen documentation requires Doxygen, http://www.doxygen.org/. - -# Run from the Crashpad project root directory. -cd "$(dirname "${0}")/../.." - -output_dir=out/doc/doxygen - -rm -rf "${output_dir}" -mkdir -p "${output_dir}" - -doxygen doc/support/crashpad.doxy