Project Layout
The project is structured as a multimodule Gradle build.
The root folder is the root project and there are several subproject folders, each prefixed with asciidoctorj-. Each subproject produces a primary artifact (e.g., jar or zip) and its supporting artifacts (e.g., javadoc, sources, etc).
The subprojects are as follows:
- asciidoctorj-api
-
The common API for AsciidoctorJ. Other implementations for different platforms than JRuby may reuse and implement this API. Produces the asciidoctorj-api.jar
- asciidoctorj
-
The main Java bindings for the Asciidoctor RubyGem (asciidoctor) running on JRuby. Also bundles optional RubyGems needed at runtime, such as coderay, tilt, haml and slim. Produces the asciidoctorj jar.
- asciidoctorj-distribution
-
Produces the distribution zip that provides the standalone
asciidoctorjcommand. - asciidoctorj-documentation
-
Contains code examples used for documentation that are run and tested during builds.
When tests are modified the gradle task copyAllExamplesToDocsmust be executed to update documentation required files in under/docs. - asciidoctorj-arquillian-extension
-
Bundles an Arquillian extension that allows to inject an Asciidoctor instance or other instances commonly used by Asciidoctor tests into a test case.
- asciidoctorj-test-support
-
Contains some common test classes that are used by multiple other subprojects and the Arquillian extension.
- asciidoctorj-wildfly-integration-test
-
WildFly integration tests.
- asciidoctorj-springboot-integration-test
-
Spring Boot example app and integration tests.
The Gradle build is partitioned into the following files:
build.gradle
gradle.properties
settings.gradle
gradle/
wrapper/
...
deploy.gradle
deploySnapshot.gradle
eclipse.gradle
providedConfiguration.gradle
publish.gradle
sign.gradle
asciidoctorj-arquillian-extension/
build.gradle
asciidoctorj-api/
build.gradle
asciidoctorj-core/
build.gradle
asciidoctorj-distribution/
build.gradle
asciidoctorj-documentation/
build.gradle
asciidoctorj-test-support/
build.gradle
asciidoctorj-wildfly-integration-test
build.gradle
This will publish the all artifacts that have a snapshot version number to oss.jfrog.org.