Skip to content

Commit ae328c7

Browse files
Merge branch 'master' of https://github.com/IntelPython/dpctl into use_glog
2 parents 66f09e2 + 7fecbd1 commit ae328c7

33 files changed

+1021
-650
lines changed

.github/workflows/generate-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
cmake .. -DDPCTL_USE_MULTIVERSION_TEMPLATE=ON \
7676
-DDPCTL_ENABLE_DOXYREST=ON \
7777
-DDoxyrest_DIR=`pwd`/doxyrest-2.1.2-linux-amd64
78-
make Sphinx
78+
make Sphinx || exit 1
7979
cd ..
8080
mv generated_docs/docs ~/docs
8181
git clean -dfx
@@ -90,7 +90,7 @@ jobs:
9090
echo `pwd`
9191
cd master
9292
git rm -rf *
93-
mv ~/docs/* .
93+
mv ~/docs/* . || exit 1
9494
git add .
9595
git config --global user.name 'github-actions[doc-deploy-bot]'
9696
git config --global user.email 'github-actions[doc-deploy-bot]@users.noreply.github.com'

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1313
### Changed
1414
- dpctl-capi is now renamed to `libsyclinterface` (#666).
1515

16-
## [0.11.3] - 11/30/2021
16+
## [0.11.4] - 12/03/2021
1717

1818
### Fixed
19+
- Fix tests for nested context factories expecting for integration environment by @PokhodenkoSA in https://github.com/IntelPython/dpctl/pull/705
20+
21+
## [0.11.3] - 11/30/2021
1922

23+
### Fixed
2024
- Set the last byte in allocated char array to zero [cherry picked from #650] (#699)
2125

2226
## [0.11.2] - 11/29/2021

docs/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
docs
22
generated_docs
33
docfiles/libsyclinterface
4+
docfiles/dpctl
45
api
56
build
67
conf.py

docs/CMakeLists.txt

Lines changed: 61 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ function(_setup_doxygen)
2929
if(DPCTL_ENABLE_DOXYGEN_HTML)
3030
set(GENERATE_HTML "YES")
3131
endif()
32-
set(DOXYGEN_INPUT_DIR ../libsyclinterface/include)
32+
set(DOXYGEN_INPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../libsyclinterface/include)
3333
set(DOXYGEN_OUTPUT_DIR ${DOC_OUTPUT_DIR}/doxygen)
3434
set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/xml/index.xml)
3535
set(DOXYFILE_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
@@ -62,30 +62,33 @@ endfunction()
6262

6363
function(_setup_doxyrest)
6464
set(DOXYREST_OUTPUT_DIR_NAME docfiles/libsyclinterface)
65+
# Set the DOXYREST_OUTPUT_DIR variable in both current and parent scope.
66+
# The variable is used by _setup_sphinx when generating the conf.py file.
6567
set(DOXYREST_OUTPUT_DIR
6668
${CMAKE_CURRENT_SOURCE_DIR}/${DOXYREST_OUTPUT_DIR_NAME}
6769
PARENT_SCOPE
6870
)
6971
set(DOXYREST_OUTPUT_DIR
7072
${CMAKE_CURRENT_SOURCE_DIR}/${DOXYREST_OUTPUT_DIR_NAME}
71-
7273
)
7374
set(DOXYREST_CONFIG_IN ${CMAKE_CURRENT_SOURCE_DIR}/doxyrest-config.lua.in)
7475
set(DOXYREST_CONFIG_OUT ${CMAKE_CURRENT_SOURCE_DIR}/doxyrest-config.lua)
7576
set(DOXYREST_OUTPUT ${DOXYREST_OUTPUT_DIR}/index.rst)
7677
set(DOXYGEN_OUTPUT_DIR ${DOC_OUTPUT_DIR}/doxygen)
78+
7779
configure_file(${DOXYREST_CONFIG_IN} ${DOXYREST_CONFIG_OUT} @ONLY)
7880
configure_file(${INDEX_DOXYREST_IN} ${INDEX_OUT} @ONLY)
81+
7982
add_custom_command(
8083
OUTPUT ${DOXYREST_OUTPUT}
8184
COMMAND
8285
${DOXYREST_EXE} -c
8386
${DOXYREST_CONFIG_OUT}
8487
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
8588
DEPENDS
86-
# Other docs files that can be edited manually
87-
${INDEX_OUT}
88-
${DOXYGEN_INDEX_FILE}
89+
# Other docs files that can be edited manually
90+
${INDEX_OUT}
91+
${DOXYGEN_INDEX_FILE}
8992
MAIN_DEPENDENCY ${DOXYREST_CONFIG_OUT} ${DOXYREST_CONFIG_IN}
9093
COMMENT "Generating Doxyrest documentation"
9194
)
@@ -98,58 +101,58 @@ function(_setup_doxyrest)
98101
endfunction()
99102

100103
function(_setup_sphinx)
104+
set(GENERATE_RST_OUTPUT_DIR
105+
${CMAKE_CURRENT_SOURCE_DIR}/docfiles/dpctl
106+
)
101107
set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR})
102108
set(SPHINX_OUTPUT_DIR ${DOC_OUTPUT_DIR}/docs)
103109
set(SPHINX_INDEX_FILE ${SPHINX_OUTPUT_DIR}/index.html)
104110
set(SPHINX_CONF_IN ${SPHINX_SOURCE}/conf.in)
105111
set(SPHINX_CONF_OUT ${SPHINX_SOURCE}/conf.py)
106-
# Only regenerate Sphinx when:
107-
# - Doxygen has rerun
108-
# - Our doc files have been updated
109-
# - The Sphinx config has been updated
112+
set(DPCTL_PYAPI_RST_FILE ${GENERATE_RST_OUTPUT_DIR}/dpctl_pyapi.rst)
113+
110114
if(DPCTL_ENABLE_DOXYREST)
111-
add_custom_command(
112-
OUTPUT ${SPHINX_INDEX_FILE}
113-
COMMAND
114-
${SPHINX_EXECUTABLE} -b html
115-
${SPHINX_SOURCE}
116-
${SPHINX_OUTPUT_DIR}
117-
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
118-
DEPENDS
119-
# Other docs files that can be edited manually
120-
${CMAKE_CURRENT_SOURCE_DIR}/index.rst
121-
${DOXYGEN_INDEX_FILE}
122-
MAIN_DEPENDENCY ${SPHINX_CONF_OUT} ${SPHINX_CONF_IN}
123-
COMMENT "Generating Sphinx documentation"
124-
)
125-
# Target to generate Sphinx
126-
add_custom_target(
127-
Sphinx
128-
ALL
129-
DEPENDS Doxyrest ${SPHINX_INDEX_FILE}
130-
)
115+
set(DEPEND_ON_DOXYREST "Doxyrest")
131116
else()
132117
configure_file(${INDEX_NO_DOXYREST_IN} ${INDEX_OUT} @ONLY)
133-
add_custom_command(
134-
OUTPUT ${SPHINX_INDEX_FILE}
135-
COMMAND
136-
${SPHINX_EXECUTABLE} -b html
137-
${SPHINX_SOURCE}
138-
${SPHINX_OUTPUT_DIR}
139-
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
140-
DEPENDS
141-
# Other docs files that can be edited manually
142-
${CMAKE_CURRENT_SOURCE_DIR}/index.rst
143-
MAIN_DEPENDENCY ${SPHINX_CONF_OUT} ${SPHINX_CONF_IN}
144-
COMMENT "Generating Sphinx documentation"
145-
)
146-
# Target to generate Sphinx
147-
add_custom_target(
148-
Sphinx
149-
ALL
150-
DEPENDS ${SPHINX_INDEX_FILE}
151-
)
152118
endif()
119+
120+
configure_file(
121+
"${CMAKE_CURRENT_SOURCE_DIR}/generate_rst.py"
122+
${CMAKE_CURRENT_BINARY_DIR}
123+
)
124+
# A custom command to generate the Python API rst files
125+
add_custom_command(
126+
OUTPUT ${DPCTL_PYAPI_RST_FILE}
127+
COMMAND ${CMAKE_COMMAND} -E make_directory ${GENERATE_RST_OUTPUT_DIR}
128+
COMMAND
129+
"${Python_EXECUTABLE}"
130+
"${CMAKE_CURRENT_BINARY_DIR}/generate_rst.py"
131+
--dir "${GENERATE_RST_OUTPUT_DIR}"
132+
--module "dpctl"
133+
COMMENT "Generating RST files for Python API of dpctl"
134+
)
135+
add_custom_command(
136+
OUTPUT ${SPHINX_INDEX_FILE}
137+
COMMAND
138+
${SPHINX_EXECUTABLE} -b html
139+
${SPHINX_SOURCE}
140+
${SPHINX_OUTPUT_DIR}
141+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
142+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/index.rst
143+
MAIN_DEPENDENCY ${SPHINX_CONF_OUT} ${SPHINX_CONF_IN}
144+
COMMENT "Generating Sphinx documentation"
145+
)
146+
# Target to generate Sphinx. Note that the order of the dependencies is
147+
# important, we want the rst files to generate prior to sphinx build.
148+
add_custom_target(
149+
Sphinx
150+
ALL
151+
DEPENDS
152+
${DEPEND_ON_DOXYREST}
153+
${DPCTL_PYAPI_RST_FILE}
154+
${SPHINX_INDEX_FILE}
155+
)
153156
# Create a conf.py by replacing variables inside @@ with the current values
154157
configure_file(${SPHINX_CONF_IN} ${SPHINX_CONF_OUT} @ONLY)
155158
endfunction()
@@ -185,6 +188,8 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
185188
find_package(Git)
186189
find_package(Sphinx REQUIRED)
187190
find_package(Doxygen REQUIRED)
191+
find_package(Python REQUIRED)
192+
188193
if (DPCTL_ENABLE_DOXYREST)
189194
find_package(Lua REQUIRED)
190195
find_package(Doxyrest REQUIRED)
@@ -208,3 +213,11 @@ if(DPCTL_ENABLE_DOXYREST)
208213
_setup_doxyrest()
209214
endif()
210215
_setup_sphinx()
216+
217+
set_property(
218+
DIRECTORY
219+
PROPERTY
220+
ADDITIONAL_CLEAN_FILES
221+
"${CMAKE_CURRENT_SOURCE_DIR}/docfiles/dpctl"
222+
"${CMAKE_CURRENT_SOURCE_DIR}/docfiles/libsyclinterface"
223+
)

docs/Doxyfile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ INTERNAL_DOCS = NO
562562
# (including Cygwin) ands Mac users are advised to set this option to NO.
563563
# The default value is: system dependent.
564564

565-
CASE_SENSE_NAMES = YES
565+
CASE_SENSE_NAMES = NO
566566

567567
# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
568568
# their full class and namespace scopes in the documentation. If set to YES, the

docs/conf.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ class AutoAutoSummary(Autosummary):
168168
if not include_public:
169169
include_public = []
170170
items = []
171-
for name in sorted(obj.__dict__.keys()):
171+
for name in sorted(dir(obj)):
172172
try:
173173
documenter = get_documenter(app, safe_getattr(obj, name), obj)
174174
except AttributeError:

docs/docfiles/dpctl.memory_api.rst

Lines changed: 0 additions & 30 deletions
This file was deleted.

docs/docfiles/dpctl.program_api.rst

Lines changed: 0 additions & 29 deletions
This file was deleted.

docs/docfiles/dpctl.tensor_api.rst

Lines changed: 0 additions & 9 deletions
This file was deleted.

docs/docfiles/dpctl_pyapi.rst

Lines changed: 0 additions & 92 deletions
This file was deleted.

0 commit comments

Comments
 (0)