diff options
39 files changed, 789 insertions, 4 deletions
@@ -1,3 +1,4 @@ /.idea/workspace.xml out doc +target diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 217af471..1f71f978 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -17,7 +17,16 @@ <profile default="true" name="Default" enabled="false"> <processorPath useClasspath="true" /> </profile> + <profile default="false" name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <processorPath useClasspath="true" /> + <module name="maven-plugin" /> + </profile> </annotationProcessing> + <bytecodeTargetLevel> + <module name="maven-plugin" target="1.5" /> + </bytecodeTargetLevel> </component> -</project> - +</project>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_aether_provider_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_aether_provider_3_0_5.xml new file mode 100644 index 00000000..8045561c --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_aether_provider_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-aether-provider:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_5.xml new file mode 100644 index 00000000..0267be02 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-artifact:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_core_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_core_3_0_5.xml new file mode 100644 index 00000000..2fdaa3be --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_core_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-core:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-core/3.0.5/maven-core-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-core/3.0.5/maven-core-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_model_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_model_3_0_5.xml new file mode 100644 index 00000000..f22a2907 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_model_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-model:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model/3.0.5/maven-model-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model/3.0.5/maven-model-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_model_builder_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_model_builder_3_0_5.xml new file mode 100644 index 00000000..fffe6fc5 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_model_builder_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-model-builder:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_3_0_5.xml new file mode 100644 index 00000000..a3f5de62 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-plugin-api:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_3_0_5.xml new file mode 100644 index 00000000..e43a45cc --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-repository-metadata:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_settings_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_settings_3_0_5.xml new file mode 100644 index 00000000..bf513116 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_settings_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-settings:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_maven_settings_builder_3_0_5.xml b/.idea/libraries/Maven__org_apache_maven_maven_settings_builder_3_0_5.xml new file mode 100644 index 00000000..70e3a6dc --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_maven_settings_builder_3_0_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven:maven-settings-builder:3.0.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_maven_plugin_tools_maven_plugin_annotations_3_4.xml b/.idea/libraries/Maven__org_apache_maven_plugin_tools_maven_plugin_annotations_3_4.xml new file mode 100644 index 00000000..a4eaef16 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_maven_plugin_tools_maven_plugin_annotations_3_4.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.apache.maven.plugin-tools:maven-plugin-annotations:3.4"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/plugin-tools/maven-plugin-annotations/3.4/maven-plugin-annotations-3.4.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/plugin-tools/maven-plugin-annotations/3.4/maven-plugin-annotations-3.4-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/plugin-tools/maven-plugin-annotations/3.4/maven-plugin-annotations-3.4-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_plexus_plexus_classworlds_2_4.xml b/.idea/libraries/Maven__org_codehaus_plexus_plexus_classworlds_2_4.xml new file mode 100644 index 00000000..d7fbbc35 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_plexus_plexus_classworlds_2_4.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.codehaus.plexus:plexus-classworlds:2.4"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_plexus_plexus_component_annotations_1_5_5.xml b/.idea/libraries/Maven__org_codehaus_plexus_plexus_component_annotations_1_5_5.xml new file mode 100644 index 00000000..f479523d --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_plexus_plexus_component_annotations_1_5_5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.codehaus.plexus:plexus-component-annotations:1.5.5"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_14.xml b/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_14.xml new file mode 100644 index 00000000..c3fa79e6 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_14.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.codehaus.plexus:plexus-interpolation:1.14"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_3_0_22.xml b/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_3_0_22.xml new file mode 100644 index 00000000..40dd204d --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_3_0_22.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.codehaus.plexus:plexus-utils:3.0.22"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_fusesource_jansi_jansi_1_11.xml b/.idea/libraries/Maven__org_fusesource_jansi_jansi_1_11.xml new file mode 100644 index 00000000..5f1c2b5d --- /dev/null +++ b/.idea/libraries/Maven__org_fusesource_jansi_jansi_1_11.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.fusesource.jansi:jansi:1.11"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/fusesource/jansi/jansi/1.11/jansi-1.11.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/fusesource/jansi/jansi/1.11/jansi-1.11-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/fusesource/jansi/jansi/1.11/jansi-1.11-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_dokka_dokka_fatjar_1_0.xml b/.idea/libraries/Maven__org_jetbrains_dokka_dokka_fatjar_1_0.xml new file mode 100644 index 00000000..edbc7fea --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_dokka_dokka_fatjar_1_0.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.jetbrains.dokka:dokka-fatjar:1.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/dokka/dokka-fatjar/1.0/dokka-fatjar-1.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/dokka/dokka-fatjar/1.0/dokka-fatjar-1.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/dokka/dokka-fatjar/1.0/dokka-fatjar-1.0-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_aether_aether_api_1_13_1.xml b/.idea/libraries/Maven__org_sonatype_aether_aether_api_1_13_1.xml new file mode 100644 index 00000000..6920f594 --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_aether_aether_api_1_13_1.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.aether:aether-api:1.13.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_aether_aether_impl_1_13_1.xml b/.idea/libraries/Maven__org_sonatype_aether_aether_impl_1_13_1.xml new file mode 100644 index 00000000..b73975ee --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_aether_aether_impl_1_13_1.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.aether:aether-impl:1.13.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_aether_aether_spi_1_13_1.xml b/.idea/libraries/Maven__org_sonatype_aether_aether_spi_1_13_1.xml new file mode 100644 index 00000000..0e335343 --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_aether_aether_spi_1_13_1.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.aether:aether-spi:1.13.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_aether_aether_util_1_13_1.xml b/.idea/libraries/Maven__org_sonatype_aether_aether_util_1_13_1.xml new file mode 100644 index 00000000..b30cc9ed --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_aether_aether_util_1_13_1.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.aether:aether-util:1.13.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_plexus_plexus_cipher_1_4.xml b/.idea/libraries/Maven__org_sonatype_plexus_plexus_cipher_1_4.xml new file mode 100644 index 00000000..720a6556 --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_plexus_plexus_cipher_1_4.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.plexus:plexus-cipher:1.4"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_plexus_plexus_sec_dispatcher_1_3.xml b/.idea/libraries/Maven__org_sonatype_plexus_plexus_sec_dispatcher_1_3.xml new file mode 100644 index 00000000..b192388d --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_plexus_plexus_sec_dispatcher_1_3.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.plexus:plexus-sec-dispatcher:1.3"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_sisu_sisu_guava_0_9_9.xml b/.idea/libraries/Maven__org_sonatype_sisu_sisu_guava_0_9_9.xml new file mode 100644 index 00000000..0223ffa6 --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_sisu_sisu_guava_0_9_9.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.sisu:sisu-guava:0.9.9"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_sisu_sisu_guice_no_aop_3_1_0.xml b/.idea/libraries/Maven__org_sonatype_sisu_sisu_guice_no_aop_3_1_0.xml new file mode 100644 index 00000000..6f390b97 --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_sisu_sisu_guice_no_aop_3_1_0.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.sisu:sisu-guice:no_aop:3.1.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_bean_2_3_0.xml b/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_bean_2_3_0.xml new file mode 100644 index 00000000..1bd7c6d0 --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_bean_2_3_0.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.sisu:sisu-inject-bean:2.3.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_plexus_2_3_0.xml b/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_plexus_2_3_0.xml new file mode 100644 index 00000000..e9688bc0 --- /dev/null +++ b/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_plexus_2_3_0.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Maven: org.sonatype.sisu:sisu-inject-plexus:2.3.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 97320410..6208e987 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,8 +3,14 @@ <component name="EntryPointsManager"> <entry_points version="2.0" /> </component> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/maven-plugin/pom.xml" /> + </list> + </option> + </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/out" /> </component> -</project> - +</project>
\ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index bfcf8757..3cc41820 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,6 +4,7 @@ <modules> <module fileurl="file://$PROJECT_DIR$/ant/ant.iml" filepath="$PROJECT_DIR$/ant/ant.iml" /> <module fileurl="file://$PROJECT_DIR$/dokka.iml" filepath="$PROJECT_DIR$/dokka.iml" /> + <module fileurl="file://$PROJECT_DIR$/maven-plugin/maven-plugin.iml" filepath="$PROJECT_DIR$/maven-plugin/maven-plugin.iml" /> </modules> </component> </project>
\ No newline at end of file diff --git a/.idea/runConfigurations/Dokka.xml b/.idea/runConfigurations/Dokka.xml index bca49a60..b752422e 100644 --- a/.idea/runConfigurations/Dokka.xml +++ b/.idea/runConfigurations/Dokka.xml @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <component name="ProjectRunConfigurationManager"> <configuration default="false" name="Dokka" type="JetRunConfigurationType" factoryName="Kotlin" singleton="true"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> diff --git a/.idea/runConfigurations/Stdlib.xml b/.idea/runConfigurations/Stdlib.xml index 616414a8..7750c5df 100644 --- a/.idea/runConfigurations/Stdlib.xml +++ b/.idea/runConfigurations/Stdlib.xml @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <component name="ProjectRunConfigurationManager"> <configuration default="false" name="Stdlib" type="JetRunConfigurationType" factoryName="Kotlin"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> @@ -85,3 +85,72 @@ KDoc is a flavour of markdown with symbol processing extensions. * $name - link to `name` (Kotlin string interpolation style), or ${java.lang.String} for longer references * $name: - named section, optionally bound to symbol `name`, e.g. param doc * ${code reference} -- include content of a symbol denoted by reference, e.g. code example + +### Building + +Build only dokka + +```bash +ant fatjar +``` + +Build dokka and maven plugin + +```bash +ant install-fj +cd maven-plugin +mvn install +``` + +Build dokka and install maven plugin (do not require maven installed) +```bash +ant build-and-install +``` + +### Using Maven plugin + +Minimal maven configuration is + +```xml +<plugin> + <groupId>org.jetbrains.dokka</groupId> + <artifactId>dokka-maven-plugin</artifactId> + <version>${dokka.version}</version> + <executions> + <execution> + <phase>pre-site</phase> + <goals> + <goal>dokka</goal> + </goals> + </execution> + </executions> +</plugin> +``` + +by default files will be generated in `target/dokka` + +Configuring source links mapping + +```xml +<plugin> + <groupId>org.jetbrains.dokka</groupId> + <artifactId>dokka-maven-plugin</artifactId> + <version>${dokka.version}</version> + <executions> + <execution> + <phase>pre-site</phase> + <goals> + <goal>dokka</goal> + </goals> + </execution> + </executions> + <configuration> + <sourceLinks> + <link> + <dir>${project.basedir}/src/main/kotlin</dir> + <url>http://github.com/me/myrepo</url> + </link> + </sourceLinks> + </configuration> +</plugin> +```
\ No newline at end of file @@ -1,7 +1,14 @@ <project name="Dokka" default="build"> <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.compiler}/lib/kotlin-ant.jar"/> + <typedef resource="org/apache/maven/artifact/ant/antlib.xml" classpath="${basedir}/lib/maven-ant-tasks-2.1.3.jar"/> + <property name="kotlinc.repeat" value="1"/> + <target name="clean"> + <delete dir="out" /> + <delete dir="maven-plugin/target" /> + </target> + <target name="build"> <mkdir dir="out"/> @@ -29,4 +36,25 @@ </zipfileset> </jar> </target> + + <target name="install-fj" depends="fatjar"> + <pom id="stupidpom" + groupid="org.jetbrains.dokka" artifactid="dokka-fatjar" version="1.0" + name="Dokka fatjar" + packaging="jar" + /> + + <writepom pomrefid="stupidpom" file="out/dokka-fat.pom" /> + <pom id="mypom" file="out/dokka-fat.pom" /> + + <install file="out/dokka-fat.jar" pomrefid="mypom"> + <localrepository path="out/repo" /> + </install> + </target> + + <target name="build-and-install" depends="install-fj"> + <mvn mavenversion="3.0.5" dir="maven-plugin" pom="maven-plugin/pom.xml"> + <arg value="install" /> + </mvn> + </target> </project> diff --git a/lib/maven-ant-tasks-2.1.3.jar b/lib/maven-ant-tasks-2.1.3.jar Binary files differnew file mode 100644 index 00000000..bec446ff --- /dev/null +++ b/lib/maven-ant-tasks-2.1.3.jar diff --git a/maven-plugin/maven-plugin.iml b/maven-plugin/maven-plugin.iml new file mode 100644 index 00000000..52e48c92 --- /dev/null +++ b/maven-plugin/maven-plugin.iml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false"> + <output url="file://$MODULE_DIR$/target/classes" /> + <output-test url="file://$MODULE_DIR$/target/test-classes" /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/kotlin" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/plugin" isTestSource="false" generated="true" /> + <excludeFolder url="file://$MODULE_DIR$/target/archive-tmp" /> + <excludeFolder url="file://$MODULE_DIR$/target/classes" /> + <excludeFolder url="file://$MODULE_DIR$/target/lib" /> + <excludeFolder url="file://$MODULE_DIR$/target/maven-archiver" /> + <excludeFolder url="file://$MODULE_DIR$/target/maven-status" /> + <excludeFolder url="file://$MODULE_DIR$/target/surefire" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-core:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-settings:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-settings-builder:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-repository-metadata:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-artifact:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-model-builder:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-aether-provider:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.aether:aether-spi:1.13.1" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.aether:aether-impl:1.13.1" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.aether:aether-api:1.13.1" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.aether:aether-util:1.13.1" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-inject-plexus:2.3.0" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-inject-bean:2.3.0" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-guice:no_aop:3.1.0" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-guava:0.9.9" level="project" /> + <orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-interpolation:1.14" level="project" /> + <orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-classworlds:2.4" level="project" /> + <orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-component-annotations:1.5.5" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.plexus:plexus-sec-dispatcher:1.3" level="project" /> + <orderEntry type="library" name="Maven: org.sonatype.plexus:plexus-cipher:1.4" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-model:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven:maven-plugin-api:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-utils:3.0.22" level="project" /> + <orderEntry type="library" name="Maven: org.apache.maven.plugin-tools:maven-plugin-annotations:3.4" level="project" /> + <orderEntry type="library" name="Maven: org.fusesource.jansi:jansi:1.11" level="project" /> + <orderEntry type="library" name="Maven: org.jetbrains.dokka:dokka-fatjar:1.0" level="project" /> + </component> +</module>
\ No newline at end of file diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml new file mode 100644 index 00000000..ad2117a8 --- /dev/null +++ b/maven-plugin/pom.xml @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.jetbrains.dokka</groupId> + <artifactId>dokka-maven-plugin</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>maven-plugin</packaging> + + <properties> + <maven-plugin-anno.version>1.4.1</maven-plugin-anno.version> + <maven.version>3.0.5</maven.version> + <plexus.version>3.0.22</plexus.version> + <kotlin.version>0.1-SNAPSHOT</kotlin.version> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>${maven.version}</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-model</artifactId> + <version>${maven.version}</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>${maven.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-utils</artifactId> + <version>${plexus.version}</version> + </dependency> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>3.4</version> + </dependency> + + <dependency> + <groupId>org.fusesource.jansi</groupId> + <artifactId>jansi</artifactId> + <version>1.11</version> + </dependency> + + <dependency> + <groupId>org.jetbrains.dokka</groupId> + <artifactId>dokka-fatjar</artifactId> + <version>1.0</version> + <type>jar</type> + <scope>compile</scope> + </dependency> + </dependencies> + + <repositories> + <repository> + <id>my-local-repo</id> + <url>file://${basedir}/../out/repo</url> + </repository> + </repositories> + + <build> + <sourceDirectory>src/main/kotlin</sourceDirectory> + + <plugins> + <plugin> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-maven-plugin</artifactId> + <version>${kotlin.version}</version> + <executions> + <execution> + <id>compile</id> + <phase>compile</phase> + <goals> + <goal>compile</goal> + </goals> + </execution> + <execution> + <id>test-compile</id> + <phase>test-compile</phase> + <goals> + <goal>test-compile</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-plugin</artifactId> + <version>3.4</version> + + <executions> + <execution> + <id>default-descriptor</id> + <goals> + <goal>descriptor</goal> + </goals> + <phase>process-classes</phase> + </execution> + <execution> + <id>help-descriptor</id> + <goals> + <goal>helpmojo</goal> + </goals> + <phase>process-classes</phase> + </execution> + </executions> + + <configuration> + <goalPrefix>dokka</goalPrefix> + </configuration> + </plugin> + + <!-- disable default jar building: we use assembly-plugin instead --> + <plugin> + <artifactId>maven-jar-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>default-jar</id> + <phase>none</phase> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.5.5</version> + <configuration> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + <appendAssemblyId>false</appendAssemblyId> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <pluginRepositories> + <pluginRepository> + <id>sonatype.oss.snapshots</id> + <name>Sonatype OSS Snapshot Repository</name> + <url>http://oss.sonatype.org/content/repositories/snapshots</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </pluginRepository> + </pluginRepositories> +</project>
\ No newline at end of file diff --git a/maven-plugin/src/main/kotlin/DokkaMojo.kt b/maven-plugin/src/main/kotlin/DokkaMojo.kt new file mode 100644 index 00000000..80f00c42 --- /dev/null +++ b/maven-plugin/src/main/kotlin/DokkaMojo.kt @@ -0,0 +1,71 @@ +package org.jetbrains.dokka.maven + +import org.apache.maven.plugin.AbstractMojo +import org.apache.maven.plugins.annotations.LifecyclePhase +import org.apache.maven.plugins.annotations.Mojo +import org.apache.maven.plugins.annotations.Parameter +import org.apache.maven.plugins.annotations.ResolutionScope +import org.jetbrains.dokka.DokkaGenerator +import org.jetbrains.dokka.SourceLinkDefinition + +public class SourceLinkMapItem { + Parameter(name = "dir", required = true) + var dir: String = "" + + Parameter(name = "url", required = true) + var url: String = "" + + Parameter(name = "urlSuffix") + var urlSuffix: String? = null +} + +Mojo(name = "dokka", defaultPhase = LifecyclePhase.PRE_SITE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) +public class DokkaMojo : AbstractMojo() { + Parameter(required = true, defaultValue = "\${project.compileSourceRoots}") + var sourceDirectories: List<String> = emptyList() + + Parameter + var samplesDirs: List<String> = emptyList() + + Parameter + var includeDirs: List<String> = emptyList() + + Parameter(required = true, defaultValue = "\${project.compileClasspathElements}") + var classpath: List<String> = emptyList() + + Parameter(required = true, defaultValue = "\${project.basedir}/target/dokka") + var outputDir: String = "" + + Parameter(required = true, defaultValue = "html") + var outputFormat: String = "html" + + Parameter + var sourceLinks: Array<SourceLinkMapItem> = emptyArray() + + Parameter(required = true, defaultValue = "\${project.artifactId}") + var moduleName: String = "" + + Parameter(required = false, defaultValue = "false") + var skip: Boolean = false + + override fun execute() { + if (skip) { + getLog().info("Dokka skip parameter is true so no dokka output will be produced") + return + } + + val gen = DokkaGenerator( + MavenDokkaLogger(getLog()), + classpath, + sourceDirectories, + samplesDirs, + includeDirs, + moduleName, + outputDir, + outputFormat, + sourceLinks.map { SourceLinkDefinition(it.dir, it.url, it.urlSuffix) } + ) + + gen.generate() + } +} diff --git a/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt b/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt new file mode 100644 index 00000000..ebae823b --- /dev/null +++ b/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt @@ -0,0 +1,18 @@ +package org.jetbrains.dokka.maven + +import org.apache.maven.plugin.logging.Log +import org.jetbrains.dokka.DokkaLogger + +public class MavenDokkaLogger(val log: Log) : DokkaLogger { + override fun error(message: String) { + log.error(message) + } + + override fun info(message: String) { + log.info(message) + } + + override fun warn(message: String) { + log.warn(message) + } +}
\ No newline at end of file |