When you refer to a file using plugins like tries to find the file in following locations: directory with the markup file that refers documentation root directory locations enumerated inside file :include-file: my-file.cpp Znai my-file.cpp <doc-root>/lookup-paths ../examples ../module/src/main/java
Use CLI parameter to add additional paths to lookup files. --lookup-paths znai --lookup-paths /extra/path-one /extra/path-two
When Znai encounters zip or jar file listed inside it will unpack the archives into a temporary location and will use those locations to resolve files lookup-paths ../sources.zip ../module/archive.jar :include-file: dir/inside-zip-b.txt inside zip B
If files you want to include are not part of your project, you can add an HTTP base URL to . If the file is not found using local locations, it will be fetched from the provided urls. lookup-paths ../examples ../module/src/main/java https://raw.githubusercontent.com/testingisdocumenting/webtau/master :include-file: .travis.yml language: java jdk: - openjdk8 - openjdk11 cache: directories: - $HOME/.m2 - $HOME/.npm - node_modules dist: xenial services: - xvfb addons: chrome: stable firefox: latest apt: packages: - graphviz # disables the default install step which is mvn install skipping tests install: true script: mvn -B verify -P code-coverage
Znai is written using Java and can access resources from the classpath. Using class path lookup you can include snippets from projects deployed to, for example, Maven Central. <plugin> <groupId>org.testingisdocumenting.znai</groupId> <artifactId>znai-maven-plugin</artifactId> <version>${project.version}</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <classifier>sources</classifier> </dependency> </dependencies> </plugin> :include-java: org/junit/Assert.java {entry: "fail(String)"} public static void fail(String message) { if (message == null) { throw new AssertionError(); } throw new AssertionError(message); }