diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 781b5117d..a4780906d 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -14,8 +14,6 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Install ICU run: sudo apt-get install -y libicu-dev pkg-config - name: Install curl diff --git a/.github/workflows/ubuntu-sanitized.yml b/.github/workflows/ubuntu-sanitized.yml index 50849b385..a8545535b 100644 --- a/.github/workflows/ubuntu-sanitized.yml +++ b/.github/workflows/ubuntu-sanitized.yml @@ -19,8 +19,6 @@ jobs: shared: [ON, OFF] steps: - uses: actions/checkout@v3 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Install ICU run: sudo apt-get install -y libicu-dev pkg-config - name: Setup Ninja diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index bc63f49ea..bd4464da1 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -20,8 +20,6 @@ jobs: cxx: [g++-12, clang++-14] steps: - uses: actions/checkout@v3 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Install ICU run: sudo apt-get install -y libicu-dev pkg-config - name: Setup Ninja diff --git a/.github/workflows/ubuntu_install.yml b/.github/workflows/ubuntu_install.yml index 34cfcc15d..6e78ab1e0 100644 --- a/.github/workflows/ubuntu_install.yml +++ b/.github/workflows/ubuntu_install.yml @@ -16,8 +16,6 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Install ICU run: sudo apt-get install -y libicu-dev pkg-config - name: Setup Ninja diff --git a/.github/workflows/ubuntu_old.yml b/.github/workflows/ubuntu_old.yml index 4c169e47d..5330ff308 100644 --- a/.github/workflows/ubuntu_old.yml +++ b/.github/workflows/ubuntu_old.yml @@ -20,8 +20,6 @@ jobs: cxx: [g++-9, clang++-10] steps: - uses: actions/checkout@v3 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Clear the cache run: rm -r -f dependencies - name: Install ICU diff --git a/.github/workflows/ubuntu_pedantic.yml b/.github/workflows/ubuntu_pedantic.yml index 226f89999..ce9b28f35 100644 --- a/.github/workflows/ubuntu_pedantic.yml +++ b/.github/workflows/ubuntu_pedantic.yml @@ -19,8 +19,6 @@ jobs: shared: [ON, OFF] steps: - uses: actions/checkout@v3 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Install ICU run: sudo apt-get install -y libicu-dev pkg-config - name: Setup Ninja diff --git a/.github/workflows/visual_studio.yml b/.github/workflows/visual_studio.yml index 84e35a0bc..8b5d8454a 100644 --- a/.github/workflows/visual_studio.yml +++ b/.github/workflows/visual_studio.yml @@ -17,8 +17,6 @@ jobs: steps: - name: checkout uses: actions/checkout@v3 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Configure run: | cmake -G "${{matrix.gen}}" -A ${{matrix.arch}} -B build @@ -29,4 +27,4 @@ jobs: - name: Run Release tests run: | cd build - ctest -C Release --output-on-failure \ No newline at end of file + ctest -C Release --output-on-failure diff --git a/.github/workflows/visual_studio_clang.yml b/.github/workflows/visual_studio_clang.yml index f0a8444d6..48d434af0 100644 --- a/.github/workflows/visual_studio_clang.yml +++ b/.github/workflows/visual_studio_clang.yml @@ -17,8 +17,6 @@ jobs: steps: - name: checkout uses: actions/checkout@v3 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - name: Configure run: | cmake -G "${{matrix.gen}}" -A ${{matrix.arch}} -T ClangCL -B build diff --git a/.gitignore b/.gitignore index dfbdbea08..6912cf755 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,8 @@ __pycache__ cmake-build-debug .cache -docs +docs/html +docs/theme # Generated using only the Github workflow benchmark_result.json diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a4b05dda..24a012eab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,17 +3,17 @@ cmake_minimum_required(VERSION 3.16) project(ada DESCRIPTION "Fast spec-compliant URL parser" LANGUAGES C CXX - VERSION 0.1.0 + VERSION 1.0.0 ) +set(ADA_LIB_VERSION "1.0.0" CACHE STRING "ada library version") +set(ADA_LIB_SOVERSION "1" CACHE STRING "ada library soversion") + include(GNUInstallDirs) include(CTest) include(cmake/ada-flags.cmake) -set(ADA_LIB_VERSION "0.1.0" CACHE STRING "ada library version") -set(ADA_LIB_SOVERSION "1" CACHE STRING "ada library soversion") - set(ADA_SOURCE_DIR src) add_subdirectory(src) diff --git a/docs/RELEASE.md b/docs/RELEASE.md new file mode 100644 index 000000000..a51ccf8d7 --- /dev/null +++ b/docs/RELEASE.md @@ -0,0 +1,19 @@ +# Release Document + +## Preparation + +In order to release a new version of Ada, please update the +following documents: + +- [CmakeLists.txt](../CmakeLists.txt) +- [Doxygen](../doxygen) +- [ada-version.h](../include/ada/ada-version.h) + +## Release + +- Run amalgation script using `./singleheader/amalgamate.py` +- Create a Github release with following format: `v1.0.0` +- Upload the following documents to the release + - `./singleheader/ada.h` + - `./singleheader/ada.cpp` + - `./singleheader/singleheader.zip` diff --git a/docs/doxygen/header.html b/docs/doxygen/header.html new file mode 100644 index 000000000..88c4029e4 --- /dev/null +++ b/docs/doxygen/header.html @@ -0,0 +1,84 @@ + + + + + + + + +$projectname: $title +$title + + + + + + + + + + + + + +$treeview +$search +$mathjax +$darkmode + +$extrastylesheet + + + + +
+ + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
$projectname $projectnumber +
+
$projectbrief
+
+
$projectbrief
+
$searchbox
$searchbox
+
+ + diff --git a/doxygen b/doxygen index e44ecc232..117b5c6c7 100644 --- a/doxygen +++ b/doxygen @@ -48,7 +48,7 @@ PROJECT_NAME = "Ada" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "0.1.0" +PROJECT_NUMBER = "1.0.0" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -1017,7 +1017,7 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = benchmarks, tests, Testing, tools, build, docs, include/ada/expected.h, singleheader, include/ada/log.h +EXCLUDE = benchmarks, tests, Testing, tools, build, docs/html, docs/theme, include/ada/expected.h, singleheader, include/ada/log.h # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded @@ -1290,7 +1290,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +HTML_HEADER = docs/doxygen/header.html # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1341,7 +1341,11 @@ HTML_EXTRA_STYLESHEET = docs/theme/doxygen-awesome.css \ # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = docs/theme/doxygen-awesome-darkmode-toggle.js +HTML_EXTRA_FILES = docs/theme/doxygen-awesome-darkmode-toggle.js \ + docs/theme/doxygen-awesome-sidebar-only-darkmode-toggle.css \ + docs/theme/doxygen-awesome-fragment-copy-button.js \ + docs/theme/doxygen-awesome-paragraph-link.js \ + docs/theme/doxygen-awesome-interactive-toc.js # The HTML_COLORSTYLE tag can be used to specify if the generated HTML output # should be rendered with a dark or light theme. @@ -1894,7 +1898,7 @@ EXTRA_SEARCH_MAPPINGS = # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. # The default value is: YES. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of diff --git a/include/ada/ada_version.h b/include/ada/ada_version.h index 3d3251cc6..393ae2d55 100644 --- a/include/ada/ada_version.h +++ b/include/ada/ada_version.h @@ -5,13 +5,13 @@ #ifndef ADA_ADA_VERSION_H #define ADA_ADA_VERSION_H -#define ADA_VERSION "0.1.0" +#define ADA_VERSION "1.0.0" namespace ada { enum { - ADA_VERSION_MAJOR = 0, - ADA_VERSION_MINOR = 1, + ADA_VERSION_MAJOR = 1, + ADA_VERSION_MINOR = 0, ADA_VERSION_REVISION = 0, };