From 769701f99a1aefbc9d385c1938c9c7d3a7b2e38e Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Tue, 1 Nov 2016 02:10:32 +0300 Subject: Total build refactoring, prepare for new development iteration Removed old and useless build helpers Remove old .xml's from .idea and add .idea/shelf to .gitignore build-docs.xml fixed, dokka_version set to 0.9.10 --- .gitignore | 92 +- .idea/ant.xml | 16 - .idea/compiler.xml | 23 + .idea/gradle.xml | 11 +- ...android_databinding_baseLibrary_2_0_0_beta7.xml | 11 - ...roid_databinding_compilerCommon_2_0_0_beta7.xml | 11 - ..._com_android_tools_annotations_25_0_0_beta7.xml | 11 - ...com_android_tools_build_builder_2_0_0_beta7.xml | 11 - ...droid_tools_build_builder_model_2_0_0_beta7.xml | 11 - ...id_tools_build_builder_test_api_2_0_0_beta7.xml | 11 - ..._com_android_tools_build_gradle_2_0_0_beta7.xml | 11 - ..._android_tools_build_gradle_api_2_0_0_beta7.xml | 11 - ...android_tools_build_gradle_core_2_0_0_beta7.xml | 11 - ...id_tools_build_manifest_merger_25_0_0_beta7.xml | 11 - ...adle__com_android_tools_common_25_0_0_beta7.xml | 11 - ..._com_android_tools_ddms_ddmlib_25_0_0_beta7.xml | 11 - ...radle__com_android_tools_dvlib_25_0_0_beta7.xml | 11 - ..._tools_layoutlib_layoutlib_api_25_0_0_beta7.xml | 11 - ...e__com_android_tools_lint_lint_25_0_0_beta7.xml | 11 - ...om_android_tools_lint_lint_api_25_0_0_beta7.xml | 11 - ...android_tools_lint_lint_checks_25_0_0_beta7.xml | 11 - ...__com_android_tools_repository_25_0_0_beta7.xml | 11 - ...__com_android_tools_sdk_common_25_0_0_beta7.xml | 11 - ...adle__com_android_tools_sdklib_25_0_0_beta7.xml | 11 - .../Gradle__com_google_guava_guava_16_0_1.xml | 11 - .../Gradle__com_google_guava_guava_17_0.xml | 11 - .../Gradle__com_google_inject_guice_4_0.xml | 11 - .idea/libraries/Gradle__junit_junit_4_11.xml | 11 - .idea/libraries/Gradle__junit_junit_4_12.xml | 1 - ...org_jetbrains_kotlin_kotlin_runtime_1_0_1_2.xml | 11 - ...e__org_jetbrains_kotlin_kotlin_test_1_0_1_2.xml | 11 - ..._jetbrains_kotlin_kotlin_test_junit_1_0_1_2.xml | 11 - ...rg_apache_maven_maven_aether_provider_3_0_5.xml | 14 - ...aven__org_apache_maven_maven_artifact_3_0_5.xml | 14 - .../Maven__org_apache_maven_maven_core_3_0_5.xml | 14 - .../Maven__org_apache_maven_maven_model_3_0_5.xml | 14 - ..._org_apache_maven_maven_model_builder_3_0_5.xml | 14 - ...en__org_apache_maven_maven_plugin_api_3_0_5.xml | 14 - ...pache_maven_maven_repository_metadata_3_0_5.xml | 14 - ...aven__org_apache_maven_maven_settings_3_0_5.xml | 14 - ...g_apache_maven_maven_settings_builder_3_0_5.xml | 14 - ...n_plugin_tools_maven_plugin_annotations_3_4.xml | 14 - ..._org_codehaus_plexus_plexus_classworlds_2_4.xml | 14 - ...s_plexus_plexus_component_annotations_1_5_5.xml | 14 - ...g_codehaus_plexus_plexus_interpolation_1_14.xml | 14 - ...en__org_codehaus_plexus_plexus_utils_3_0_22.xml | 14 - ...aven__org_sonatype_aether_aether_api_1_13_1.xml | 14 - ...ven__org_sonatype_aether_aether_impl_1_13_1.xml | 14 - ...aven__org_sonatype_aether_aether_spi_1_13_1.xml | 14 - ...ven__org_sonatype_aether_aether_util_1_13_1.xml | 14 - ...aven__org_sonatype_plexus_plexus_cipher_1_4.xml | 14 - ...g_sonatype_plexus_plexus_sec_dispatcher_1_3.xml | 14 - .../Maven__org_sonatype_sisu_sisu_guava_0_9_9.xml | 14 - ...__org_sonatype_sisu_sisu_guice_no_aop_3_1_0.xml | 14 - ...n__org_sonatype_sisu_sisu_inject_bean_2_3_0.xml | 14 - ..._org_sonatype_sisu_sisu_inject_plexus_2_3_0.xml | 14 - .idea/libraries/ant_1_9_4.xml | 9 - .idea/libraries/asm.xml | 9 - .idea/libraries/cli_parser.xml | 9 - .idea/libraries/com_google_inject_guice_4_0.xml | 16 - .idea/libraries/guava.xml | 9 - .idea/libraries/intellij_core_analysis.xml | 9 - .idea/libraries/jansi.xml | 9 - .idea/libraries/jdom.xml | 9 - .idea/libraries/jps_model.xml | 9 - .idea/libraries/jsoup.xml | 11 - .idea/libraries/junit_junit_4_11.xml | 19 - .idea/libraries/kotlin.xml | 12 - .idea/libraries/kotlin_for_upsource.xml | 47 - .idea/libraries/markdown.xml | 9 - .idea/misc.xml | 13 +- .idea/modules.xml | 28 +- .idea/modules/buildSrc.iml | 12 + .idea/modules/buildSrc_main.iml | 2013 +++++++++++++++++++ .idea/modules/buildSrc_test.iml | 2015 +++++++++++++++++++ .idea/modules/core/core.iml | 2 +- .idea/modules/core/core_main.iml | 139 +- .idea/modules/core/core_test.iml | 128 +- .../dokka-android-gradle-plugin.iml | 12 - .../dokka-android-gradle-plugin_main.iml | 2048 ------------------- .../dokka-android-gradle-plugin_test.iml | 2052 -------------------- .../dokka-gradle-plugin/dokka-gradle-plugin.iml | 12 - .../dokka-gradle-plugin_main.iml | 1994 ------------------- .../dokka-gradle-plugin_test.iml | 1998 ------------------- .idea/modules/dokka.iml | 2 +- .../android-gradle-plugin.iml | 12 + .../android-gradle-plugin_main.iml | 1643 ++++++++++++++++ .../android-gradle-plugin_test.iml | 1647 ++++++++++++++++ .idea/modules/runners/ant/ant.iml | 12 + .idea/modules/runners/ant/ant_main.iml | 116 ++ .idea/modules/runners/ant/ant_test.iml | 118 ++ .idea/modules/runners/cli/cli.iml | 12 + .idea/modules/runners/cli/cli_main.iml | 115 ++ .idea/modules/runners/cli/cli_test.iml | 117 ++ .idea/modules/runners/fatjar/fatjar.iml | 12 + .idea/modules/runners/fatjar/fatjar_main.iml | 117 ++ .idea/modules/runners/fatjar/fatjar_test.iml | 119 ++ .../runners/gradle-plugin/gradle-plugin.iml | 12 + .../runners/gradle-plugin/gradle-plugin_main.iml | 1588 +++++++++++++++ .../runners/gradle-plugin/gradle-plugin_test.iml | 1592 +++++++++++++++ .../modules/runners/maven-plugin/maven-plugin.iml | 12 + .../runners/maven-plugin/maven-plugin_main.iml | 152 ++ .../runners/maven-plugin/maven-plugin_test.iml | 151 ++ .idea/modules/runners/runners.iml | 12 + build-docs.xml | 3 +- build.gradle | 84 +- build.xml | 132 -- buildSrc/build.gradle | 14 + .../org/jetbrains/PluginXmlTransformer.groovy | 63 + core/build.gradle | 165 +- core/gradlew | 164 -- core/gradlew.bat | 90 - core/settings.gradle | 1 - core/src/main/kotlin/Generation/DokkaGenerator.kt | 158 ++ core/src/main/kotlin/Utilities/DokkaLogging.kt | 27 + core/src/main/kotlin/ant/dokka.kt | 101 - core/src/main/kotlin/main.kt | 271 --- dokka-android-gradle-plugin/build.gradle | 71 - dokka-android-gradle-plugin/settings.gradle | 2 - .../src/main/kotlin/main.kt | 76 - .../org.jetbrains.dokka-android.properties | 1 - dokka-gradle-plugin/build.gradle | 68 - dokka-gradle-plugin/settings.gradle | 2 - dokka-gradle-plugin/src/main/kotlin/logger.kt | 18 - dokka-gradle-plugin/src/main/kotlin/main.kt | 190 -- .../gradle-plugins/org.jetbrains.dokka.properties | 1 - dokka.pro | 100 - gradle.properties | 15 +- lib/javax.inject-1.jar | Bin 2497 -> 0 bytes maven-plugin/dokka-maven-plugin.iml | 46 - maven-plugin/pom.xml | 181 -- maven-plugin/src/main/kotlin/DokkaMojo.kt | 179 -- maven-plugin/src/main/kotlin/MavenDokkaLogger.kt | 18 - runners/android-gradle-plugin/build.gradle | 57 + .../android-gradle-plugin/src/main/kotlin/main.kt | 76 + .../org.jetbrains.dokka-android.properties | 1 + runners/ant/build.gradle | 16 + runners/ant/src/main/kotlin/ant/dokka.kt | 101 + runners/build.gradle | 9 + runners/cli/build.gradle | 6 + runners/cli/src/main/kotlin/cli/main.kt | 92 + runners/fatjar/build.gradle | 62 + runners/gradle-plugin/build.gradle | 58 + runners/gradle-plugin/src/main/kotlin/logger.kt | 18 + runners/gradle-plugin/src/main/kotlin/main.kt | 190 ++ .../gradle-plugins/org.jetbrains.dokka.properties | 1 + runners/maven-plugin/build.gradle | 80 + runners/maven-plugin/pom.tpl.xml | 26 + runners/maven-plugin/src/main/kotlin/DokkaMojo.kt | 179 ++ .../src/main/kotlin/MavenDokkaLogger.kt | 18 + settings.gradle | 2 +- 151 files changed, 13099 insertions(+), 11123 deletions(-) delete mode 100755 .idea/ant.xml delete mode 100644 .idea/libraries/Gradle__com_android_databinding_baseLibrary_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_databinding_compilerCommon_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_annotations_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_build_builder_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_build_builder_model_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_build_builder_test_api_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_build_gradle_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_build_gradle_api_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_build_gradle_core_2_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_build_manifest_merger_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_common_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_ddms_ddmlib_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_dvlib_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_layoutlib_layoutlib_api_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_lint_lint_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_lint_lint_api_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_lint_lint_checks_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_repository_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_sdk_common_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_android_tools_sdklib_25_0_0_beta7.xml delete mode 100644 .idea/libraries/Gradle__com_google_guava_guava_16_0_1.xml delete mode 100644 .idea/libraries/Gradle__com_google_guava_guava_17_0.xml delete mode 100644 .idea/libraries/Gradle__com_google_inject_guice_4_0.xml delete mode 100644 .idea/libraries/Gradle__junit_junit_4_11.xml delete mode 100644 .idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_1_2.xml delete mode 100644 .idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_1_0_1_2.xml delete mode 100644 .idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_junit_1_0_1_2.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_aether_provider_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_core_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_model_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_model_builder_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_plugin_api_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_repository_metadata_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_settings_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_maven_settings_builder_3_0_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_maven_plugin_tools_maven_plugin_annotations_3_4.xml delete mode 100644 .idea/libraries/Maven__org_codehaus_plexus_plexus_classworlds_2_4.xml delete mode 100644 .idea/libraries/Maven__org_codehaus_plexus_plexus_component_annotations_1_5_5.xml delete mode 100644 .idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_14.xml delete mode 100644 .idea/libraries/Maven__org_codehaus_plexus_plexus_utils_3_0_22.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_aether_aether_api_1_13_1.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_aether_aether_impl_1_13_1.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_aether_aether_spi_1_13_1.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_aether_aether_util_1_13_1.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_plexus_plexus_cipher_1_4.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_plexus_plexus_sec_dispatcher_1_3.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_sisu_sisu_guava_0_9_9.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_sisu_sisu_guice_no_aop_3_1_0.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_sisu_sisu_inject_bean_2_3_0.xml delete mode 100644 .idea/libraries/Maven__org_sonatype_sisu_sisu_inject_plexus_2_3_0.xml delete mode 100644 .idea/libraries/ant_1_9_4.xml delete mode 100644 .idea/libraries/asm.xml delete mode 100644 .idea/libraries/cli_parser.xml delete mode 100644 .idea/libraries/com_google_inject_guice_4_0.xml delete mode 100644 .idea/libraries/guava.xml delete mode 100644 .idea/libraries/intellij_core_analysis.xml delete mode 100644 .idea/libraries/jansi.xml delete mode 100644 .idea/libraries/jdom.xml delete mode 100644 .idea/libraries/jps_model.xml delete mode 100644 .idea/libraries/jsoup.xml delete mode 100644 .idea/libraries/junit_junit_4_11.xml delete mode 100644 .idea/libraries/kotlin.xml delete mode 100644 .idea/libraries/kotlin_for_upsource.xml delete mode 100644 .idea/libraries/markdown.xml create mode 100644 .idea/modules/buildSrc.iml create mode 100644 .idea/modules/buildSrc_main.iml create mode 100644 .idea/modules/buildSrc_test.iml delete mode 100644 .idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin.iml delete mode 100644 .idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_main.iml delete mode 100644 .idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_test.iml delete mode 100644 .idea/modules/dokka-gradle-plugin/dokka-gradle-plugin.iml delete mode 100644 .idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_main.iml delete mode 100644 .idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_test.iml create mode 100644 .idea/modules/runners/android-gradle-plugin/android-gradle-plugin.iml create mode 100644 .idea/modules/runners/android-gradle-plugin/android-gradle-plugin_main.iml create mode 100644 .idea/modules/runners/android-gradle-plugin/android-gradle-plugin_test.iml create mode 100644 .idea/modules/runners/ant/ant.iml create mode 100644 .idea/modules/runners/ant/ant_main.iml create mode 100644 .idea/modules/runners/ant/ant_test.iml create mode 100644 .idea/modules/runners/cli/cli.iml create mode 100644 .idea/modules/runners/cli/cli_main.iml create mode 100644 .idea/modules/runners/cli/cli_test.iml create mode 100644 .idea/modules/runners/fatjar/fatjar.iml create mode 100644 .idea/modules/runners/fatjar/fatjar_main.iml create mode 100644 .idea/modules/runners/fatjar/fatjar_test.iml create mode 100644 .idea/modules/runners/gradle-plugin/gradle-plugin.iml create mode 100644 .idea/modules/runners/gradle-plugin/gradle-plugin_main.iml create mode 100644 .idea/modules/runners/gradle-plugin/gradle-plugin_test.iml create mode 100644 .idea/modules/runners/maven-plugin/maven-plugin.iml create mode 100644 .idea/modules/runners/maven-plugin/maven-plugin_main.iml create mode 100644 .idea/modules/runners/maven-plugin/maven-plugin_test.iml create mode 100644 .idea/modules/runners/runners.iml delete mode 100644 build.xml create mode 100644 buildSrc/build.gradle create mode 100644 buildSrc/src/main/groovy/org/jetbrains/PluginXmlTransformer.groovy delete mode 100755 core/gradlew delete mode 100644 core/gradlew.bat create mode 100644 core/src/main/kotlin/Generation/DokkaGenerator.kt create mode 100644 core/src/main/kotlin/Utilities/DokkaLogging.kt delete mode 100644 core/src/main/kotlin/ant/dokka.kt delete mode 100644 core/src/main/kotlin/main.kt delete mode 100644 dokka-android-gradle-plugin/build.gradle delete mode 100644 dokka-android-gradle-plugin/settings.gradle delete mode 100644 dokka-android-gradle-plugin/src/main/kotlin/main.kt delete mode 100644 dokka-android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties delete mode 100644 dokka-gradle-plugin/build.gradle delete mode 100644 dokka-gradle-plugin/settings.gradle delete mode 100644 dokka-gradle-plugin/src/main/kotlin/logger.kt delete mode 100644 dokka-gradle-plugin/src/main/kotlin/main.kt delete mode 100644 dokka-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties delete mode 100644 dokka.pro delete mode 100644 lib/javax.inject-1.jar delete mode 100644 maven-plugin/dokka-maven-plugin.iml delete mode 100644 maven-plugin/pom.xml delete mode 100644 maven-plugin/src/main/kotlin/DokkaMojo.kt delete mode 100644 maven-plugin/src/main/kotlin/MavenDokkaLogger.kt create mode 100644 runners/android-gradle-plugin/build.gradle create mode 100644 runners/android-gradle-plugin/src/main/kotlin/main.kt create mode 100644 runners/android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties create mode 100644 runners/ant/build.gradle create mode 100644 runners/ant/src/main/kotlin/ant/dokka.kt create mode 100644 runners/build.gradle create mode 100644 runners/cli/build.gradle create mode 100644 runners/cli/src/main/kotlin/cli/main.kt create mode 100644 runners/fatjar/build.gradle create mode 100644 runners/gradle-plugin/build.gradle create mode 100644 runners/gradle-plugin/src/main/kotlin/logger.kt create mode 100644 runners/gradle-plugin/src/main/kotlin/main.kt create mode 100644 runners/gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties create mode 100644 runners/maven-plugin/build.gradle create mode 100644 runners/maven-plugin/pom.tpl.xml create mode 100644 runners/maven-plugin/src/main/kotlin/DokkaMojo.kt create mode 100644 runners/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt diff --git a/.gitignore b/.gitignore index ecd04811..b57931b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,88 @@ -/.idea/workspace.xml -out + doc -target -build -.gradle \ No newline at end of file +### Maven template +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +### Java template +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml +.idea/dictionaries +.idea/vcs.xml +.idea/shelf +.idea/jsLibraryMappings.xml + +# Sensitive or high-churn files: +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties +### Gradle template +.gradle +build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 +# gradle/wrapper/gradle-wrapper.properties + +!lib/*.jar \ No newline at end of file diff --git a/.idea/ant.xml b/.idea/ant.xml deleted file mode 100755 index 4e95ddbe..00000000 --- a/.idea/ant.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 1e9211e0..de9f413f 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -22,9 +22,22 @@ + + + + + + + + + + + + + @@ -32,7 +45,17 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 2e481f64..4ab91dab 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -9,12 +9,17 @@ - diff --git a/.idea/libraries/Gradle__com_android_databinding_baseLibrary_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_databinding_baseLibrary_2_0_0_beta7.xml deleted file mode 100644 index 5481d5a2..00000000 --- a/.idea/libraries/Gradle__com_android_databinding_baseLibrary_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_databinding_compilerCommon_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_databinding_compilerCommon_2_0_0_beta7.xml deleted file mode 100644 index 49f396f4..00000000 --- a/.idea/libraries/Gradle__com_android_databinding_compilerCommon_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_annotations_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_annotations_25_0_0_beta7.xml deleted file mode 100644 index 18733c33..00000000 --- a/.idea/libraries/Gradle__com_android_tools_annotations_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_build_builder_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_build_builder_2_0_0_beta7.xml deleted file mode 100644 index 9f404f1c..00000000 --- a/.idea/libraries/Gradle__com_android_tools_build_builder_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_build_builder_model_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_build_builder_model_2_0_0_beta7.xml deleted file mode 100644 index ead74841..00000000 --- a/.idea/libraries/Gradle__com_android_tools_build_builder_model_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_build_builder_test_api_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_build_builder_test_api_2_0_0_beta7.xml deleted file mode 100644 index 3a56673e..00000000 --- a/.idea/libraries/Gradle__com_android_tools_build_builder_test_api_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_build_gradle_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_build_gradle_2_0_0_beta7.xml deleted file mode 100644 index f1f9c0e2..00000000 --- a/.idea/libraries/Gradle__com_android_tools_build_gradle_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_build_gradle_api_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_build_gradle_api_2_0_0_beta7.xml deleted file mode 100644 index 972a6ef7..00000000 --- a/.idea/libraries/Gradle__com_android_tools_build_gradle_api_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_build_gradle_core_2_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_build_gradle_core_2_0_0_beta7.xml deleted file mode 100644 index a51eb9e8..00000000 --- a/.idea/libraries/Gradle__com_android_tools_build_gradle_core_2_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_build_manifest_merger_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_build_manifest_merger_25_0_0_beta7.xml deleted file mode 100644 index c14022f3..00000000 --- a/.idea/libraries/Gradle__com_android_tools_build_manifest_merger_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_common_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_common_25_0_0_beta7.xml deleted file mode 100644 index 2a268a7d..00000000 --- a/.idea/libraries/Gradle__com_android_tools_common_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_ddms_ddmlib_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_ddms_ddmlib_25_0_0_beta7.xml deleted file mode 100644 index 6dcf3622..00000000 --- a/.idea/libraries/Gradle__com_android_tools_ddms_ddmlib_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_dvlib_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_dvlib_25_0_0_beta7.xml deleted file mode 100644 index e1a23524..00000000 --- a/.idea/libraries/Gradle__com_android_tools_dvlib_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_layoutlib_layoutlib_api_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_layoutlib_layoutlib_api_25_0_0_beta7.xml deleted file mode 100644 index 48e9be30..00000000 --- a/.idea/libraries/Gradle__com_android_tools_layoutlib_layoutlib_api_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_lint_lint_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_lint_lint_25_0_0_beta7.xml deleted file mode 100644 index 34fa06ef..00000000 --- a/.idea/libraries/Gradle__com_android_tools_lint_lint_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_lint_lint_api_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_lint_lint_api_25_0_0_beta7.xml deleted file mode 100644 index 858461ae..00000000 --- a/.idea/libraries/Gradle__com_android_tools_lint_lint_api_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_lint_lint_checks_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_lint_lint_checks_25_0_0_beta7.xml deleted file mode 100644 index 117f5c68..00000000 --- a/.idea/libraries/Gradle__com_android_tools_lint_lint_checks_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_repository_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_repository_25_0_0_beta7.xml deleted file mode 100644 index d99ff508..00000000 --- a/.idea/libraries/Gradle__com_android_tools_repository_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_sdk_common_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_sdk_common_25_0_0_beta7.xml deleted file mode 100644 index ea6a6cea..00000000 --- a/.idea/libraries/Gradle__com_android_tools_sdk_common_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_android_tools_sdklib_25_0_0_beta7.xml b/.idea/libraries/Gradle__com_android_tools_sdklib_25_0_0_beta7.xml deleted file mode 100644 index ec5e63f5..00000000 --- a/.idea/libraries/Gradle__com_android_tools_sdklib_25_0_0_beta7.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_google_guava_guava_16_0_1.xml b/.idea/libraries/Gradle__com_google_guava_guava_16_0_1.xml deleted file mode 100644 index 53ca37d2..00000000 --- a/.idea/libraries/Gradle__com_google_guava_guava_16_0_1.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_google_guava_guava_17_0.xml b/.idea/libraries/Gradle__com_google_guava_guava_17_0.xml deleted file mode 100644 index 0ecc15e1..00000000 --- a/.idea/libraries/Gradle__com_google_guava_guava_17_0.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_google_inject_guice_4_0.xml b/.idea/libraries/Gradle__com_google_inject_guice_4_0.xml deleted file mode 100644 index 87bea56e..00000000 --- a/.idea/libraries/Gradle__com_google_inject_guice_4_0.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__junit_junit_4_11.xml b/.idea/libraries/Gradle__junit_junit_4_11.xml deleted file mode 100644 index dc26b345..00000000 --- a/.idea/libraries/Gradle__junit_junit_4_11.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__junit_junit_4_12.xml b/.idea/libraries/Gradle__junit_junit_4_12.xml index 0978f847..04c10dd5 100644 --- a/.idea/libraries/Gradle__junit_junit_4_12.xml +++ b/.idea/libraries/Gradle__junit_junit_4_12.xml @@ -5,7 +5,6 @@ - diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_1_2.xml deleted file mode 100644 index 6e1b47c4..00000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_1_0_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_1_0_1_2.xml deleted file mode 100644 index ef564f5f..00000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_1_0_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_junit_1_0_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_junit_1_0_1_2.xml deleted file mode 100644 index d07770b3..00000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_junit_1_0_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ 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 deleted file mode 100644 index 8045561c..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_aether_provider_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 0267be02..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 2fdaa3be..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_core_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index f22a2907..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_model_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index fffe6fc5..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_model_builder_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index a3f5de62..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index e43a45cc..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index bf513116..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_settings_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 70e3a6dc..00000000 --- a/.idea/libraries/Maven__org_apache_maven_maven_settings_builder_3_0_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index a4eaef16..00000000 --- a/.idea/libraries/Maven__org_apache_maven_plugin_tools_maven_plugin_annotations_3_4.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index d7fbbc35..00000000 --- a/.idea/libraries/Maven__org_codehaus_plexus_plexus_classworlds_2_4.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index f479523d..00000000 --- a/.idea/libraries/Maven__org_codehaus_plexus_plexus_component_annotations_1_5_5.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index c3fa79e6..00000000 --- a/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_14.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 40dd204d..00000000 --- a/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_3_0_22.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 6920f594..00000000 --- a/.idea/libraries/Maven__org_sonatype_aether_aether_api_1_13_1.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index b73975ee..00000000 --- a/.idea/libraries/Maven__org_sonatype_aether_aether_impl_1_13_1.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 0e335343..00000000 --- a/.idea/libraries/Maven__org_sonatype_aether_aether_spi_1_13_1.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index b30cc9ed..00000000 --- a/.idea/libraries/Maven__org_sonatype_aether_aether_util_1_13_1.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 720a6556..00000000 --- a/.idea/libraries/Maven__org_sonatype_plexus_plexus_cipher_1_4.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index b192388d..00000000 --- a/.idea/libraries/Maven__org_sonatype_plexus_plexus_sec_dispatcher_1_3.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 0223ffa6..00000000 --- a/.idea/libraries/Maven__org_sonatype_sisu_sisu_guava_0_9_9.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 6f390b97..00000000 --- a/.idea/libraries/Maven__org_sonatype_sisu_sisu_guice_no_aop_3_1_0.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index 1bd7c6d0..00000000 --- a/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_bean_2_3_0.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ 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 deleted file mode 100644 index e9688bc0..00000000 --- a/.idea/libraries/Maven__org_sonatype_sisu_sisu_inject_plexus_2_3_0.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/ant_1_9_4.xml b/.idea/libraries/ant_1_9_4.xml deleted file mode 100644 index f68d9a6b..00000000 --- a/.idea/libraries/ant_1_9_4.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/asm.xml b/.idea/libraries/asm.xml deleted file mode 100644 index 7e0c23e6..00000000 --- a/.idea/libraries/asm.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/cli_parser.xml b/.idea/libraries/cli_parser.xml deleted file mode 100644 index 5eda5d0e..00000000 --- a/.idea/libraries/cli_parser.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/com_google_inject_guice_4_0.xml b/.idea/libraries/com_google_inject_guice_4_0.xml deleted file mode 100644 index 75541478..00000000 --- a/.idea/libraries/com_google_inject_guice_4_0.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/guava.xml b/.idea/libraries/guava.xml deleted file mode 100644 index f5469d35..00000000 --- a/.idea/libraries/guava.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/intellij_core_analysis.xml b/.idea/libraries/intellij_core_analysis.xml deleted file mode 100644 index 84a9f5ee..00000000 --- a/.idea/libraries/intellij_core_analysis.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/jansi.xml b/.idea/libraries/jansi.xml deleted file mode 100644 index f191460f..00000000 --- a/.idea/libraries/jansi.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/jdom.xml b/.idea/libraries/jdom.xml deleted file mode 100644 index 54b3420d..00000000 --- a/.idea/libraries/jdom.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/jps_model.xml b/.idea/libraries/jps_model.xml deleted file mode 100644 index d2cacdd6..00000000 --- a/.idea/libraries/jps_model.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/jsoup.xml b/.idea/libraries/jsoup.xml deleted file mode 100644 index 9e4803f4..00000000 --- a/.idea/libraries/jsoup.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/junit_junit_4_11.xml b/.idea/libraries/junit_junit_4_11.xml deleted file mode 100644 index e9bebbd2..00000000 --- a/.idea/libraries/junit_junit_4_11.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/kotlin.xml b/.idea/libraries/kotlin.xml deleted file mode 100644 index 7d59a672..00000000 --- a/.idea/libraries/kotlin.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/kotlin_for_upsource.xml b/.idea/libraries/kotlin_for_upsource.xml deleted file mode 100644 index 3ddcc140..00000000 --- a/.idea/libraries/kotlin_for_upsource.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/markdown.xml b/.idea/libraries/markdown.xml deleted file mode 100644 index 822b5e65..00000000 --- a/.idea/libraries/markdown.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 2a5a8914..9ec5f45a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,9 @@ + + + + @@ -12,7 +16,14 @@ - + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 9541b387..302c4f27 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,17 +2,33 @@ + + + + + + + + + + + + - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/buildSrc.iml b/.idea/modules/buildSrc.iml new file mode 100644 index 00000000..896ba1f9 --- /dev/null +++ b/.idea/modules/buildSrc.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/buildSrc_main.iml b/.idea/modules/buildSrc_main.iml new file mode 100644 index 00000000..06e93d5e --- /dev/null +++ b/.idea/modules/buildSrc_main.iml @@ -0,0 +1,2013 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/buildSrc_test.iml b/.idea/modules/buildSrc_test.iml new file mode 100644 index 00000000..53b9b740 --- /dev/null +++ b/.idea/modules/buildSrc_test.iml @@ -0,0 +1,2015 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/core/core.iml b/.idea/modules/core/core.iml index 5c473483..804c9982 100644 --- a/.idea/modules/core/core.iml +++ b/.idea/modules/core/core.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/core/core_main.iml b/.idea/modules/core/core_main.iml index 0bc2339a..f2924824 100644 --- a/.idea/modules/core/core_main.iml +++ b/.idea/modules/core/core_main.iml @@ -1,5 +1,5 @@ - + @@ -22,97 +22,16 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -121,16 +40,16 @@ - + - + - + @@ -139,7 +58,7 @@ - + @@ -148,16 +67,7 @@ - - - - - - - - - - + @@ -175,47 +85,38 @@ - - - - - - - - - - - + - + - + + + - + + + + + - + - - - - - \ No newline at end of file diff --git a/.idea/modules/core/core_test.iml b/.idea/modules/core/core_test.iml index 77127a12..ad90830d 100644 --- a/.idea/modules/core/core_test.iml +++ b/.idea/modules/core/core_test.iml @@ -1,5 +1,5 @@ - + @@ -14,7 +14,7 @@ - + @@ -23,106 +23,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -131,7 +32,7 @@ - + @@ -140,7 +41,7 @@ - + @@ -164,9 +65,9 @@ - - - + + + @@ -176,6 +77,7 @@ + @@ -185,8 +87,7 @@ - - + @@ -196,7 +97,7 @@ - + @@ -206,6 +107,7 @@ + @@ -217,12 +119,10 @@ - - + + - - \ No newline at end of file diff --git a/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin.iml b/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin.iml deleted file mode 100644 index 87185fba..00000000 --- a/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_main.iml b/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_main.iml deleted file mode 100644 index cb61f7da..00000000 --- a/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_main.iml +++ /dev/null @@ -1,2048 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_test.iml b/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_test.iml deleted file mode 100644 index 1497a50c..00000000 --- a/.idea/modules/dokka-android-gradle-plugin/dokka-android-gradle-plugin_test.iml +++ /dev/null @@ -1,2052 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin.iml b/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin.iml deleted file mode 100644 index e0601c85..00000000 --- a/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_main.iml b/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_main.iml deleted file mode 100644 index a9840386..00000000 --- a/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_main.iml +++ /dev/null @@ -1,1994 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_test.iml b/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_test.iml deleted file mode 100644 index 32152286..00000000 --- a/.idea/modules/dokka-gradle-plugin/dokka-gradle-plugin_test.iml +++ /dev/null @@ -1,1998 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/dokka.iml b/.idea/modules/dokka.iml index 858ff442..273ecd54 100644 --- a/.idea/modules/dokka.iml +++ b/.idea/modules/dokka.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin.iml b/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin.iml new file mode 100644 index 00000000..ad78b48a --- /dev/null +++ b/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin_main.iml b/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin_main.iml new file mode 100644 index 00000000..d6d1f9fe --- /dev/null +++ b/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin_main.iml @@ -0,0 +1,1643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin_test.iml b/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin_test.iml new file mode 100644 index 00000000..f0a0f770 --- /dev/null +++ b/.idea/modules/runners/android-gradle-plugin/android-gradle-plugin_test.iml @@ -0,0 +1,1647 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/ant/ant.iml b/.idea/modules/runners/ant/ant.iml new file mode 100644 index 00000000..27286b07 --- /dev/null +++ b/.idea/modules/runners/ant/ant.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/ant/ant_main.iml b/.idea/modules/runners/ant/ant_main.iml new file mode 100644 index 00000000..40bcf0ae --- /dev/null +++ b/.idea/modules/runners/ant/ant_main.iml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/ant/ant_test.iml b/.idea/modules/runners/ant/ant_test.iml new file mode 100644 index 00000000..27e6bf1a --- /dev/null +++ b/.idea/modules/runners/ant/ant_test.iml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/cli/cli.iml b/.idea/modules/runners/cli/cli.iml new file mode 100644 index 00000000..9f9c81f2 --- /dev/null +++ b/.idea/modules/runners/cli/cli.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/cli/cli_main.iml b/.idea/modules/runners/cli/cli_main.iml new file mode 100644 index 00000000..e92eb66e --- /dev/null +++ b/.idea/modules/runners/cli/cli_main.iml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/cli/cli_test.iml b/.idea/modules/runners/cli/cli_test.iml new file mode 100644 index 00000000..1c0939dd --- /dev/null +++ b/.idea/modules/runners/cli/cli_test.iml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/fatjar/fatjar.iml b/.idea/modules/runners/fatjar/fatjar.iml new file mode 100644 index 00000000..1bbd5f62 --- /dev/null +++ b/.idea/modules/runners/fatjar/fatjar.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/fatjar/fatjar_main.iml b/.idea/modules/runners/fatjar/fatjar_main.iml new file mode 100644 index 00000000..f2631464 --- /dev/null +++ b/.idea/modules/runners/fatjar/fatjar_main.iml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/fatjar/fatjar_test.iml b/.idea/modules/runners/fatjar/fatjar_test.iml new file mode 100644 index 00000000..3c391164 --- /dev/null +++ b/.idea/modules/runners/fatjar/fatjar_test.iml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/gradle-plugin/gradle-plugin.iml b/.idea/modules/runners/gradle-plugin/gradle-plugin.iml new file mode 100644 index 00000000..8113f593 --- /dev/null +++ b/.idea/modules/runners/gradle-plugin/gradle-plugin.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/gradle-plugin/gradle-plugin_main.iml b/.idea/modules/runners/gradle-plugin/gradle-plugin_main.iml new file mode 100644 index 00000000..e68840a0 --- /dev/null +++ b/.idea/modules/runners/gradle-plugin/gradle-plugin_main.iml @@ -0,0 +1,1588 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/gradle-plugin/gradle-plugin_test.iml b/.idea/modules/runners/gradle-plugin/gradle-plugin_test.iml new file mode 100644 index 00000000..6be528be --- /dev/null +++ b/.idea/modules/runners/gradle-plugin/gradle-plugin_test.iml @@ -0,0 +1,1592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/maven-plugin/maven-plugin.iml b/.idea/modules/runners/maven-plugin/maven-plugin.iml new file mode 100644 index 00000000..f833624b --- /dev/null +++ b/.idea/modules/runners/maven-plugin/maven-plugin.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/maven-plugin/maven-plugin_main.iml b/.idea/modules/runners/maven-plugin/maven-plugin_main.iml new file mode 100644 index 00000000..d372191b --- /dev/null +++ b/.idea/modules/runners/maven-plugin/maven-plugin_main.iml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/maven-plugin/maven-plugin_test.iml b/.idea/modules/runners/maven-plugin/maven-plugin_test.iml new file mode 100644 index 00000000..449ebc87 --- /dev/null +++ b/.idea/modules/runners/maven-plugin/maven-plugin_test.iml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/runners/runners.iml b/.idea/modules/runners/runners.iml new file mode 100644 index 00000000..efc4ccd6 --- /dev/null +++ b/.idea/modules/runners/runners.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/build-docs.xml b/build-docs.xml index c2d51bcf..b46353b0 100644 --- a/build-docs.xml +++ b/build-docs.xml @@ -3,12 +3,13 @@ - + + diff --git a/build.gradle b/build.gradle index bcf2ba7d..45ccfe4d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,7 @@ -plugins { - id "com.jfrog.bintray" version "1.4" -} - allprojects { + group 'org.jetbrains.dokka' + version dokka_version + buildscript { repositories { mavenCentral() @@ -14,10 +13,15 @@ allprojects { url "https://dl.bintray.com/kotlin/kotlin-dev" } } + dependencies { + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7' + classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' + } } repositories { mavenCentral() + mavenLocal() maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } @@ -27,56 +31,28 @@ allprojects { } } -apply plugin: 'maven-publish' - -task updatePom << { - def parser = new XmlParser() - def pomFile = new File("maven-plugin/pom.xml") - def pom = parser.parse(pomFile) - pom.version[0].setValue(dokka_version) - pom.properties.kotlinVersion[0].setValue(kotlin_version) - pomFile.setText(groovy.xml.XmlUtil.serialize(pom)) -} - -task buildMavenPlugin << { - def process = "mvn clean package".execute(null, new File("maven-plugin")) - process.waitFor() - def mvnOutput = process.text - def exitValue = process.exitValue() - if (exitValue != 0) { - throw new IOException("Failed to run Maven command: exit value $exitValue, output $mvnOutput") - } -} -task prepareMavenPluginUpload << { - def uploadDir = new File("maven-plugin/upload") - uploadDir.delete() - uploadDir.mkdirs() - def releaseFileName = "dokka-maven-plugin-${dokka_version}" - new File("maven-plugin/target/${releaseFileName}.jar").renameTo(new File(uploadDir, "${releaseFileName}.jar")) - new File(uploadDir, "${releaseFileName}.pom").bytes = new File("maven-plugin/pom.xml").bytes -} - -buildMavenPlugin.dependsOn(updatePom) - -bintray { - user = System.getenv('BINTRAY_USER') - key = System.getenv('BINTRAY_KEY') +def bintrayPublication(project, List _publications) { + configure(project, { + apply plugin: 'com.jfrog.bintray' + + bintray { + user = System.getenv('BINTRAY_USER') + key = System.getenv('BINTRAY_KEY') + + pkg { + repo = dokka_eap.toBoolean() ? 'kotlin-eap' : 'dokka' + name = 'dokka' + userOrg = 'kotlin' + desc = 'Dokka, the Kotlin documentation tool' + vcsUrl = 'https://github.com/kotlin/dokka.git' + licenses = ['Apache-2.0'] + version { + name = dokka_version + } + } - pkg { - repo = dokka_eap.toBoolean() ? 'kotlin-eap' : 'dokka' - name = 'dokka' - userOrg = 'kotlin' - desc = 'Dokka, the Kotlin documentation tool' - vcsUrl = 'https://github.com/kotlin/dokka.git' - licenses = ['Apache-2.0'] - version { - name = dokka_version + publications = _publications } - } - - filesSpec { - from 'maven-plugin/upload' - into "org/jetbrains/dokka/dokka-maven-plugin/${dokka_version}" - } -} + }) +} \ No newline at end of file diff --git a/build.xml b/build.xml deleted file mode 100644 index 9629623c..00000000 --- a/build.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle new file mode 100644 index 00000000..34bbf762 --- /dev/null +++ b/buildSrc/build.gradle @@ -0,0 +1,14 @@ +apply plugin: 'groovy' +repositories { + mavenCentral() + jcenter() + maven { + url "https://dl.bintray.com/kotlin/kotlin-eap" + } + maven { + url "https://dl.bintray.com/kotlin/kotlin-dev" + } +} +dependencies { + compile 'com.github.jengelman.gradle.plugins:shadow:1.2.3' +} \ No newline at end of file diff --git a/buildSrc/src/main/groovy/org/jetbrains/PluginXmlTransformer.groovy b/buildSrc/src/main/groovy/org/jetbrains/PluginXmlTransformer.groovy new file mode 100644 index 00000000..db84fdc0 --- /dev/null +++ b/buildSrc/src/main/groovy/org/jetbrains/PluginXmlTransformer.groovy @@ -0,0 +1,63 @@ +package org.jetbrains + +import com.github.jengelman.gradle.plugins.shadow.relocation.Relocator +import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer +import groovy.xml.XmlUtil +import org.apache.tools.zip.ZipEntry +import org.apache.tools.zip.ZipOutputStream +import org.gradle.api.file.FileTreeElement + +public class PluginXmlTransformer implements Transformer { + private Map transformedPluginXmlFiles = new HashMap<>(); + + @Override + boolean canTransformResource(FileTreeElement fileTreeElement) { + return fileTreeElement.relativePath.segments.contains("META-INF") && fileTreeElement.name.endsWith(".xml") + } + + @Override + void transform(String path, InputStream inputStream, List relocators) { + System.out.println(path) + Node node = new XmlParser().parse(inputStream) + relocateXml(node, relocators) + transformedPluginXmlFiles.put(path, node) + } + + @Override + boolean hasTransformedResource() { + return !transformedPluginXmlFiles.isEmpty() + } + + @Override + void modifyOutputStream(ZipOutputStream zipOutputStream) { + for (Map.Entry entry : transformedPluginXmlFiles.entrySet()) { + zipOutputStream.putNextEntry(new ZipEntry(entry.key)) + XmlUtil.serialize(entry.value, zipOutputStream) + } + } + + private static void relocateXml(Node node, List relocators) { + Map attributes = node.attributes() + for (Map.Entry entry : attributes.entrySet()) { + entry.setValue(relocateClassName((String) entry.getValue(), relocators)) + } + List localText = node.localText() + if (localText.size() == 1) { + node.setValue(relocateClassName(localText[0], relocators)) + } + node.children().each { + if (it instanceof Node) { + relocateXml((Node) it, relocators) + } + } + } + + private static String relocateClassName(String className, List relocators) { + for (Relocator relocator : relocators) { + if (relocator.canRelocateClass(className)) { + return relocator.relocateClass(className) + } + } + return className + } +} \ No newline at end of file diff --git a/core/build.gradle b/core/build.gradle index c66fc5a1..f5822725 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,26 +1,12 @@ -import com.github.jengelman.gradle.plugins.shadow.relocation.Relocator -import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer -import groovy.xml.XmlUtil -import org.apache.tools.zip.ZipEntry -import org.apache.tools.zip.ZipOutputStream - import javax.tools.ToolProvider -group 'org.jetbrains.dokka' -version dokka_version - buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' } } -apply plugin: 'java' apply plugin: 'kotlin' -apply plugin: 'com.github.johnrengelman.shadow' -apply plugin: 'maven-publish' -apply plugin: 'com.jfrog.bintray' sourceCompatibility = 1.5 @@ -28,23 +14,27 @@ configurations { provided } -dependencies { - compile "com.google.inject:guice:4.1.0" - compile "com.github.spullara.cli-parser:cli-parser:1.1.1" - compile "org.jsoup:jsoup:1.8.3" - compile "org.apache.ant:ant:1.9.6" +tasks.withType(AbstractCompile) { + classpath += configurations.provided +} +tasks.withType(Test) { + classpath += configurations.provided +} + +dependencies { compile group: 'org.jetbrains.kotlin', name: 'kotlin-runtime', version: kotlin_version compile group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: kotlin_version + compile "com.google.inject:guice:4.1.0" + compile "org.jsoup:jsoup:1.8.3" + compile files("../lib/intellij-core-analysis.jar") compile files("../lib/kotlin-compiler.jar") compile files("../lib/kotlin-ide-common.jar") compile files("../lib/markdown.jar") compile files("../lib/picocontainer.jar") - provided files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs().findAll { it.path.endsWith("jar") }) - runtime "org.fusesource.jansi:jansi:1.11" runtime files("../lib/trove4j.jar") @@ -53,137 +43,10 @@ dependencies { runtime files("../lib/asm-all.jar") runtime files("../lib/jps-model.jar") + //tools.jar + provided files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs().findAll { it.path.endsWith("jar") }) + testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'org.jetbrains.kotlin', name: 'kotlin-test-junit', version: kotlin_version } -tasks.withType(AbstractCompile) { - classpath += configurations.provided -} - -tasks.withType(Test) { - classpath += configurations.provided -} - -jar { - manifest { - attributes "Implementation-Title": "Dokka Kotlin Documentation tool" - attributes "Implementation-Version": version - attributes "Main-Class": "org.jetbrains.dokka.MainKt" - } -} - -class PluginXmlTransformer implements com.github.jengelman.gradle.plugins.shadow.transformers.Transformer { - private Map transformedPluginXmlFiles = new HashMap<>(); - - @Override - boolean canTransformResource(FileTreeElement fileTreeElement) { - return fileTreeElement.relativePath.segments.contains("META-INF") && fileTreeElement.name.endsWith(".xml") - } - - @Override - void transform(String path, InputStream inputStream, List relocators) { - Node node = new XmlParser().parse(inputStream) - relocateXml(node, relocators) - transformedPluginXmlFiles.put(path, node) - } - - @Override - boolean hasTransformedResource() { - return !transformedPluginXmlFiles.isEmpty() - } - - @Override - void modifyOutputStream(ZipOutputStream zipOutputStream) { - for (Map.Entry entry : transformedPluginXmlFiles.entrySet()) { - zipOutputStream.putNextEntry(new ZipEntry(entry.key)) - XmlUtil.serialize(entry.value, zipOutputStream) - } - } - - private static void relocateXml(Node node, List relocators) { - Map attributes = node.attributes() - for (Map.Entry entry : attributes.entrySet()) { - entry.setValue(relocateClassName((String) entry.getValue(), relocators)) - } - List localText = node.localText() - if (localText.size() == 1) { - node.setValue(relocateClassName(localText[0], relocators)) - } - node.children().each { - if (it instanceof Node) { - relocateXml((Node) it, relocators) - } - } - } - - private static String relocateClassName(String className, List relocators) { - for (Relocator relocator : relocators) { - if (relocator.canRelocateClass(className)) { - return relocator.relocateClass(className) - } - } - return className - } -} - -shadowJar { - baseName = 'dokka-fatjar' - classifier = '' - - dependencies { - exclude(dependency('org.apache.ant:ant:1.9.6')) - exclude(dependency('org.apache.ant:ant-launcher:1.9.6')) - } - - relocate('com.', 'dokkacom.') { - exclude 'com.sun.**' - } - - relocate('org.', 'dokkaorg.') { - exclude 'org.jetbrains.dokka.**' - exclude 'org.xml.**' - exclude 'org.w3c.**' - exclude 'org.jaxen.**' - exclude 'org.apache.xerces.**' - exclude 'org.apache.xml.**' - exclude 'org.fusesource.jansi.**' - exclude 'org.apache.tools.ant.**' - } - - transform(ServiceFileTransformer) - transform(PluginXmlTransformer) - - exclude 'colorScheme/**' - exclude 'fileTemplates/**' - exclude 'inspectionDescriptions/**' - exclude 'intentionDescriptions/**' -} - -publishing { - publications { - shadow(MavenPublication) { - from components.shadow - artifactId = 'dokka-fatjar' - } - } -} - -bintray { - user = System.getenv('BINTRAY_USER') - key = System.getenv('BINTRAY_KEY') - - pkg { - repo = dokka_eap.toBoolean() ? 'kotlin-eap' : 'dokka' - name = 'dokka' - userOrg = 'kotlin' - desc = 'Dokka, the Kotlin documentation tool' - vcsUrl = 'https://github.com/kotlin/dokka.git' - licenses = ['Apache-2.0'] - version { - name = dokka_version - } - } - - publications = ['shadow'] -} diff --git a/core/gradlew b/core/gradlew deleted file mode 100755 index 91a7e269..00000000 --- a/core/gradlew +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/core/gradlew.bat b/core/gradlew.bat deleted file mode 100644 index 8a0b282a..00000000 --- a/core/gradlew.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/core/settings.gradle b/core/settings.gradle index 17bdad4c..8b137891 100644 --- a/core/settings.gradle +++ b/core/settings.gradle @@ -1,2 +1 @@ -rootProject.name = 'core' diff --git a/core/src/main/kotlin/Generation/DokkaGenerator.kt b/core/src/main/kotlin/Generation/DokkaGenerator.kt new file mode 100644 index 00000000..8d846904 --- /dev/null +++ b/core/src/main/kotlin/Generation/DokkaGenerator.kt @@ -0,0 +1,158 @@ +package org.jetbrains.dokka + +import com.google.inject.Guice +import com.google.inject.Injector +import com.intellij.openapi.util.Disposer +import com.intellij.openapi.vfs.VirtualFileManager +import com.intellij.psi.PsiFile +import com.intellij.psi.PsiJavaFile +import com.intellij.psi.PsiManager +import org.jetbrains.dokka.* +import org.jetbrains.dokka.Utilities.DokkaModule +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.MessageCollector +import org.jetbrains.kotlin.cli.common.messages.MessageRenderer +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment +import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot +import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzerForTopLevel +import org.jetbrains.kotlin.resolve.TopDownAnalysisMode +import org.jetbrains.kotlin.utils.PathUtil +import java.io.File +import kotlin.system.measureTimeMillis + +class DokkaGenerator(val logger: DokkaLogger, + val classpath: List, + val sources: List, + val samples: List, + val includes: List, + val moduleName: String, + val options: DocumentationOptions) { + fun generate() { + val environment = createAnalysisEnvironment() + + logger.info("Module: $moduleName") + logger.info("Output: ${File(options.outputDir)}") + logger.info("Sources: ${environment.sources.joinToString()}") + logger.info("Classpath: ${environment.classpath.joinToString()}") + + logger.info("Analysing sources and libraries... ") + val startAnalyse = System.currentTimeMillis() + + val injector = Guice.createInjector(DokkaModule(environment, options, logger)) + + val documentation = buildDocumentationModule(injector, moduleName, { isSample(it) }, includes) + + val timeAnalyse = System.currentTimeMillis() - startAnalyse + logger.info("done in ${timeAnalyse / 1000} secs") + + val timeBuild = measureTimeMillis { + logger.info("Generating pages... ") + injector.getInstance(Generator::class.java).buildAll(documentation) + } + logger.info("done in ${timeBuild / 1000} secs") + + Disposer.dispose(environment) + } + + fun createAnalysisEnvironment(): AnalysisEnvironment { + val environment = AnalysisEnvironment(DokkaMessageCollector(logger)) + + environment.apply { + addClasspath(PathUtil.getJdkClassesRoots()) + // addClasspath(PathUtil.getKotlinPathsForCompiler().getRuntimePath()) + for (element in this@DokkaGenerator.classpath) { + addClasspath(File(element)) + } + + addSources(this@DokkaGenerator.sources) + addSources(this@DokkaGenerator.samples) + } + + return environment + } + + fun isSample(file: PsiFile): Boolean { + val sourceFile = File(file.virtualFile!!.path) + return samples.none { sample -> + val canonicalSample = File(sample).canonicalPath + val canonicalSource = sourceFile.canonicalPath + canonicalSource.startsWith(canonicalSample) + } + } +} + +class DokkaMessageCollector(val logger: DokkaLogger): MessageCollector { + private var seenErrors = false + + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation) { + if (severity == CompilerMessageSeverity.ERROR) { + seenErrors = true + } + logger.error(MessageRenderer.PLAIN_FULL_PATHS.render(severity, message, location)) + } + + override fun hasErrors() = seenErrors +} + +fun buildDocumentationModule(injector: Injector, + moduleName: String, + filesToDocumentFilter: (PsiFile) -> Boolean = { file -> true }, + includes: List = listOf()): DocumentationModule { + + val coreEnvironment = injector.getInstance(KotlinCoreEnvironment::class.java) + val fragmentFiles = coreEnvironment.getSourceFiles().filter(filesToDocumentFilter) + + val resolutionFacade = injector.getInstance(DokkaResolutionFacade::class.java) + val analyzer = resolutionFacade.getFrontendService(LazyTopDownAnalyzerForTopLevel::class.java) + analyzer.analyzeDeclarations(TopDownAnalysisMode.TopLevelDeclarations, fragmentFiles) + + val fragments = fragmentFiles + .map { resolutionFacade.resolveSession.getPackageFragment(it.packageFqName) } + .filterNotNull() + .distinct() + + val packageDocs = injector.getInstance(PackageDocs::class.java) + for (include in includes) { + packageDocs.parse(include, fragments.firstOrNull()) + } + val documentationModule = DocumentationModule(moduleName, packageDocs.moduleContent) + + with(injector.getInstance(DocumentationBuilder::class.java)) { + documentationModule.appendFragments(fragments, packageDocs.packageContent, + injector.getInstance(PackageDocumentationBuilder::class.java)) + } + + val javaFiles = coreEnvironment.getJavaSourceFiles().filter(filesToDocumentFilter) + with(injector.getInstance(JavaDocumentationBuilder::class.java)) { + javaFiles.map { appendFile(it, documentationModule, packageDocs.packageContent) } + } + + injector.getInstance(NodeReferenceGraph::class.java).resolveReferences() + + return documentationModule +} + + +fun KotlinCoreEnvironment.getJavaSourceFiles(): List { + val sourceRoots = configuration.get(JVMConfigurationKeys.CONTENT_ROOTS) + ?.filterIsInstance() + ?.map { it.file } + ?: listOf() + + val result = arrayListOf() + val localFileSystem = VirtualFileManager.getInstance().getFileSystem("file") + sourceRoots.forEach { sourceRoot -> + sourceRoot.absoluteFile.walkTopDown().forEach { + val vFile = localFileSystem.findFileByPath(it.path) + if (vFile != null) { + val psiFile = PsiManager.getInstance(project).findFile(vFile) + if (psiFile is PsiJavaFile) { + result.add(psiFile) + } + } + } + } + return result +} diff --git a/core/src/main/kotlin/Utilities/DokkaLogging.kt b/core/src/main/kotlin/Utilities/DokkaLogging.kt new file mode 100644 index 00000000..1ef52837 --- /dev/null +++ b/core/src/main/kotlin/Utilities/DokkaLogging.kt @@ -0,0 +1,27 @@ +package org.jetbrains.dokka + +interface DokkaLogger { + fun info(message: String) + fun warn(message: String) + fun error(message: String) +} + +object DokkaConsoleLogger : DokkaLogger { + var warningCount: Int = 0 + + override fun info(message: String) = println(message) + override fun warn(message: String) { + println("WARN: $message") + warningCount++ + } + + override fun error(message: String) = println("ERROR: $message") + + fun report() { + if (warningCount > 0) { + println("generation completed with $warningCount warnings") + } else { + println("generation completed successfully") + } + } +} diff --git a/core/src/main/kotlin/ant/dokka.kt b/core/src/main/kotlin/ant/dokka.kt deleted file mode 100644 index 38dc543b..00000000 --- a/core/src/main/kotlin/ant/dokka.kt +++ /dev/null @@ -1,101 +0,0 @@ -package org.jetbrains.dokka.ant - -import org.apache.tools.ant.BuildException -import org.apache.tools.ant.Project -import org.apache.tools.ant.Task -import org.apache.tools.ant.types.Path -import org.apache.tools.ant.types.Reference -import org.jetbrains.dokka.DocumentationOptions -import org.jetbrains.dokka.DokkaGenerator -import org.jetbrains.dokka.DokkaLogger -import org.jetbrains.dokka.SourceLinkDefinition -import java.io.File - -class AntLogger(val task: Task): DokkaLogger { - override fun info(message: String) = task.log(message, Project.MSG_INFO) - override fun warn(message: String) = task.log(message, Project.MSG_WARN) - override fun error(message: String) = task.log(message, Project.MSG_ERR) -} - -class AntSourceLinkDefinition(var path: String? = null, var url: String? = null, var lineSuffix: String? = null) - -class DokkaAntTask(): Task() { - var moduleName: String? = null - var outputDir: String? = null - var outputFormat: String = "html" - var jdkVersion: Int = 6 - - var skipDeprecated: Boolean = false - - val compileClasspath: Path by lazy { Path(getProject()) } - val sourcePath: Path by lazy { Path(getProject()) } - val samplesPath: Path by lazy { Path(getProject()) } - val includesPath: Path by lazy { Path(getProject()) } - - val antSourceLinks: MutableList = arrayListOf() - - fun setClasspath(classpath: Path) { - compileClasspath.append(classpath) - } - - fun setClasspathRef(ref: Reference) { - compileClasspath.createPath().refid = ref - } - - fun setSrc(src: Path) { - sourcePath.append(src) - } - - fun setSrcRef(ref: Reference) { - sourcePath.createPath().refid = ref - } - - fun setSamples(samples: Path) { - samplesPath.append(samples) - } - - fun setSamplesRef(ref: Reference) { - samplesPath.createPath().refid = ref - } - - fun setInclude(include: Path) { - includesPath.append(include) - } - - fun createSourceLink(): AntSourceLinkDefinition { - val def = AntSourceLinkDefinition() - antSourceLinks.add(def) - return def - } - - override fun execute() { - if (sourcePath.list().size == 0) { - throw BuildException("At least one source path needs to be specified") - } - if (moduleName == null) { - throw BuildException("Module name needs to be specified") - } - if (outputDir == null) { - throw BuildException("Output directory needs to be specified") - } - val sourceLinks = antSourceLinks.map { - val path = it.path ?: throw BuildException("'path' attribute of a element is required") - val url = it.url ?: throw BuildException("'url' attribute of a element is required") - SourceLinkDefinition(File(path).canonicalFile.absolutePath, url, it.lineSuffix) - } - - val generator = DokkaGenerator( - AntLogger(this), - compileClasspath.list().toList(), - sourcePath.list().toList(), - samplesPath.list().toList(), - includesPath.list().toList(), - moduleName!!, - DocumentationOptions(outputDir!!, outputFormat, - skipDeprecated = skipDeprecated, - sourceLinks = sourceLinks, - jdkVersion = jdkVersion) - ) - generator.generate() - } -} \ No newline at end of file diff --git a/core/src/main/kotlin/main.kt b/core/src/main/kotlin/main.kt deleted file mode 100644 index 22859187..00000000 --- a/core/src/main/kotlin/main.kt +++ /dev/null @@ -1,271 +0,0 @@ -package org.jetbrains.dokka - -import com.google.inject.Guice -import com.google.inject.Injector -import com.intellij.openapi.util.Disposer -import com.intellij.openapi.vfs.VirtualFileManager -import com.intellij.psi.PsiFile -import com.intellij.psi.PsiJavaFile -import com.intellij.psi.PsiManager -import com.sampullara.cli.Args -import com.sampullara.cli.Argument -import org.jetbrains.dokka.Utilities.DokkaModule -import org.jetbrains.kotlin.cli.common.arguments.ValueDescription -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity -import org.jetbrains.kotlin.cli.common.messages.MessageCollector -import org.jetbrains.kotlin.cli.common.messages.MessageRenderer -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment -import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot -import org.jetbrains.kotlin.config.JVMConfigurationKeys -import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzerForTopLevel -import org.jetbrains.kotlin.resolve.TopDownAnalysisMode -import org.jetbrains.kotlin.utils.PathUtil -import java.io.File -import kotlin.system.measureTimeMillis - -class DokkaArguments { - @set:Argument(value = "src", description = "Source file or directory (allows many paths separated by the system path separator)") - @ValueDescription("") - var src: String = "" - - @set:Argument(value = "srcLink", description = "Mapping between a source directory and a Web site for browsing the code") - @ValueDescription("=[#lineSuffix]") - var srcLink: String = "" - - @set:Argument(value = "include", description = "Markdown files to load (allows many paths separated by the system path separator)") - @ValueDescription("") - var include: String = "" - - @set:Argument(value = "samples", description = "Source root for samples") - @ValueDescription("") - var samples: String = "" - - @set:Argument(value = "output", description = "Output directory path") - @ValueDescription("") - var outputDir: String = "out/doc/" - - @set:Argument(value = "format", description = "Output format (text, html, markdown, jekyll, kotlin-website)") - @ValueDescription("") - var outputFormat: String = "html" - - @set:Argument(value = "module", description = "Name of the documentation module") - @ValueDescription("") - var moduleName: String = "" - - @set:Argument(value = "classpath", description = "Classpath for symbol resolution") - @ValueDescription("") - var classpath: String = "" - - @set:Argument(value = "nodeprecated", description = "Exclude deprecated members from documentation") - var nodeprecated: Boolean = false - - @set:Argument(value = "jdkVersion", description = "Version of JDK to use for linking to JDK JavaDoc") - var jdkVersion: Int = 6 -} - -private fun parseSourceLinkDefinition(srcLink: String): SourceLinkDefinition { - val (path, urlAndLine) = srcLink.split('=') - return SourceLinkDefinition(File(path).absolutePath, - urlAndLine.substringBefore("#"), - urlAndLine.substringAfter("#", "").let { if (it.isEmpty()) null else "#" + it }) -} - -fun main(args: Array) { - val arguments = DokkaArguments() - val freeArgs: List = Args.parse(arguments, args, false) ?: listOf() - val sources = if (arguments.src.isNotEmpty()) arguments.src.split(File.pathSeparatorChar).toList() + freeArgs else freeArgs - val samples = if (arguments.samples.isNotEmpty()) arguments.samples.split(File.pathSeparatorChar).toList() else listOf() - val includes = if (arguments.include.isNotEmpty()) arguments.include.split(File.pathSeparatorChar).toList() else listOf() - - val sourceLinks = if (arguments.srcLink.isNotEmpty() && arguments.srcLink.contains("=")) - listOf(parseSourceLinkDefinition(arguments.srcLink)) - else { - if (arguments.srcLink.isNotEmpty()) { - println("Warning: Invalid -srcLink syntax. Expected: =[#lineSuffix]. No source links will be generated.") - } - listOf() - } - - val classPath = arguments.classpath.split(File.pathSeparatorChar).toList() - - val documentationOptions = DocumentationOptions( - arguments.outputDir.let { if (it.endsWith('/')) it else it + '/' }, - arguments.outputFormat, - skipDeprecated = arguments.nodeprecated, - sourceLinks = sourceLinks - ) - - val generator = DokkaGenerator( - DokkaConsoleLogger, - classPath, - sources, - samples, - includes, - arguments.moduleName, - documentationOptions) - - generator.generate() - DokkaConsoleLogger.report() -} - -interface DokkaLogger { - fun info(message: String) - fun warn(message: String) - fun error(message: String) -} - -object DokkaConsoleLogger: DokkaLogger { - var warningCount: Int = 0 - - override fun info(message: String) = println(message) - override fun warn(message: String) { - println("WARN: $message") - warningCount++ - } - - override fun error(message: String) = println("ERROR: $message") - - fun report() { - if (warningCount > 0) { - println("generation completed with $warningCount warnings") - } else { - println("generation completed successfully") - } - } -} - -class DokkaMessageCollector(val logger: DokkaLogger): MessageCollector { - private var seenErrors = false - - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation) { - if (severity == CompilerMessageSeverity.ERROR) { - seenErrors = true - } - logger.error(MessageRenderer.PLAIN_FULL_PATHS.render(severity, message, location)) - } - - override fun hasErrors() = seenErrors -} - -class DokkaGenerator(val logger: DokkaLogger, - val classpath: List, - val sources: List, - val samples: List, - val includes: List, - val moduleName: String, - val options: DocumentationOptions) { - fun generate() { - val environment = createAnalysisEnvironment() - - logger.info("Module: $moduleName") - logger.info("Output: ${File(options.outputDir)}") - logger.info("Sources: ${environment.sources.joinToString()}") - logger.info("Classpath: ${environment.classpath.joinToString()}") - - logger.info("Analysing sources and libraries... ") - val startAnalyse = System.currentTimeMillis() - - val injector = Guice.createInjector(DokkaModule(environment, options, logger)) - - val documentation = buildDocumentationModule(injector, moduleName, { isSample(it) }, includes) - - val timeAnalyse = System.currentTimeMillis() - startAnalyse - logger.info("done in ${timeAnalyse / 1000} secs") - - val timeBuild = measureTimeMillis { - logger.info("Generating pages... ") - injector.getInstance(Generator::class.java).buildAll(documentation) - } - logger.info("done in ${timeBuild / 1000} secs") - - Disposer.dispose(environment) - } - - fun createAnalysisEnvironment(): AnalysisEnvironment { - val environment = AnalysisEnvironment(DokkaMessageCollector(logger)) - - environment.apply { - addClasspath(PathUtil.getJdkClassesRoots()) - // addClasspath(PathUtil.getKotlinPathsForCompiler().getRuntimePath()) - for (element in this@DokkaGenerator.classpath) { - addClasspath(File(element)) - } - - addSources(this@DokkaGenerator.sources) - addSources(this@DokkaGenerator.samples) - } - - return environment - } - - fun isSample(file: PsiFile): Boolean { - val sourceFile = File(file.virtualFile!!.path) - return samples.none { sample -> - val canonicalSample = File(sample).canonicalPath - val canonicalSource = sourceFile.canonicalPath - canonicalSource.startsWith(canonicalSample) - } - } -} - -fun buildDocumentationModule(injector: Injector, - moduleName: String, - filesToDocumentFilter: (PsiFile) -> Boolean = { file -> true }, - includes: List = listOf()): DocumentationModule { - - val coreEnvironment = injector.getInstance(KotlinCoreEnvironment::class.java) - val fragmentFiles = coreEnvironment.getSourceFiles().filter(filesToDocumentFilter) - - val resolutionFacade = injector.getInstance(DokkaResolutionFacade::class.java) - val analyzer = resolutionFacade.getFrontendService(LazyTopDownAnalyzerForTopLevel::class.java) - analyzer.analyzeDeclarations(TopDownAnalysisMode.TopLevelDeclarations, fragmentFiles) - - val fragments = fragmentFiles - .map { resolutionFacade.resolveSession.getPackageFragment(it.packageFqName) } - .filterNotNull() - .distinct() - - val packageDocs = injector.getInstance(PackageDocs::class.java) - for (include in includes) { - packageDocs.parse(include, fragments.firstOrNull()) - } - val documentationModule = DocumentationModule(moduleName, packageDocs.moduleContent) - - with(injector.getInstance(DocumentationBuilder::class.java)) { - documentationModule.appendFragments(fragments, packageDocs.packageContent, - injector.getInstance(PackageDocumentationBuilder::class.java)) - } - - val javaFiles = coreEnvironment.getJavaSourceFiles().filter(filesToDocumentFilter) - with(injector.getInstance(JavaDocumentationBuilder::class.java)) { - javaFiles.map { appendFile(it, documentationModule, packageDocs.packageContent) } - } - - injector.getInstance(NodeReferenceGraph::class.java).resolveReferences() - - return documentationModule -} - - -fun KotlinCoreEnvironment.getJavaSourceFiles(): List { - val sourceRoots = configuration.get(JVMConfigurationKeys.CONTENT_ROOTS) - ?.filterIsInstance() - ?.map { it.file } - ?: listOf() - - val result = arrayListOf() - val localFileSystem = VirtualFileManager.getInstance().getFileSystem("file") - sourceRoots.forEach { sourceRoot -> - sourceRoot.absoluteFile.walkTopDown().forEach { - val vFile = localFileSystem.findFileByPath(it.path) - if (vFile != null) { - val psiFile = PsiManager.getInstance(project).findFile(vFile) - if (psiFile is PsiJavaFile) { - result.add(psiFile) - } - } - } - } - return result -} diff --git a/dokka-android-gradle-plugin/build.gradle b/dokka-android-gradle-plugin/build.gradle deleted file mode 100644 index fa5303a0..00000000 --- a/dokka-android-gradle-plugin/build.gradle +++ /dev/null @@ -1,71 +0,0 @@ -group 'org.jetbrains.dokka' -version dokka_version - -buildscript { - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4' - } -} - -apply plugin: 'java' -apply plugin: 'kotlin' -apply plugin: 'maven-publish' -apply plugin: 'com.jfrog.bintray' - -sourceCompatibility = 1.6 - -dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' - compile project(':core') - compile project(':dokka-gradle-plugin') - - compile gradleApi() - compile localGroovy() - - compile 'com.android.tools.build:gradle:2.0.0' -} - -sourceSets { - main.java.srcDirs += 'src/main/kotlin' -} - -task sourceJar(type: Jar) { - from sourceSets.main.allSource -} - -task wrapper(type: Wrapper) { - gradleVersion = '2.5' - distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" -} - -publishing { - publications { - mavenJava(MavenPublication) { - from components.java - - artifact sourceJar { - classifier "sources" - } - } - } -} - -bintray { - user = System.getenv('BINTRAY_USER') - key = System.getenv('BINTRAY_KEY') - - pkg { - repo = dokka_eap.toBoolean() ? 'kotlin-eap' : 'dokka' - name = 'dokka' - userOrg = 'kotlin' - desc = 'Dokka, the Kotlin documentation tool' - vcsUrl = 'https://github.com/kotlin/dokka.git' - licenses = ['Apache-2.0'] - version { - name = dokka_version - } - } - - publications = ['mavenJava'] -} diff --git a/dokka-android-gradle-plugin/settings.gradle b/dokka-android-gradle-plugin/settings.gradle deleted file mode 100644 index 08876dc5..00000000 --- a/dokka-android-gradle-plugin/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'dokka-android-gradle-plugin' - diff --git a/dokka-android-gradle-plugin/src/main/kotlin/main.kt b/dokka-android-gradle-plugin/src/main/kotlin/main.kt deleted file mode 100644 index 054ed358..00000000 --- a/dokka-android-gradle-plugin/src/main/kotlin/main.kt +++ /dev/null @@ -1,76 +0,0 @@ -package org.jetbrains.dokka.gradle - -import com.android.build.gradle.AppExtension -import com.android.build.gradle.LibraryExtension -import com.android.build.gradle.api.BaseVariant -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.tasks.SourceSet -import java.io.File - -open class DokkaAndroidPlugin : Plugin { - val allVariantsClassPath = mutableSetOf() - - override fun apply(project: Project) { - project.tasks.create("dokka", DokkaAndroidTask::class.java).apply { - moduleName = project.name - outputDirectory = File(project.buildDir, "dokka").absolutePath - } - - if (project.hasAndroidPlugin()) { - project.afterEvaluate { - collectClasspath(project) - } - } - else { - project.plugins.whenPluginAdded { - if (project.hasAndroidPlugin()) { - collectClasspath(project) - } - } - } - } - - private fun collectClasspath(project: Project) { - val variants = project.collectAllVariants() - variants.flatMapTo(allVariantsClassPath) { it.javaCompiler.classpath.files } - } -} - -open class DokkaAndroidTask : DokkaTask() { - override val sdkProvider: SdkProvider? = AndroidSdkProvider(project) -} - -private fun Project.hasAndroidPlugin() = plugins.hasPlugin("com.android.library") || plugins.hasPlugin("com.android.application") - -private fun Project.findDokkaAndroidPlugin() = plugins.findPlugin(DokkaAndroidPlugin::class.java) - -private fun Project.collectAllVariants(): Collection { - extensions.findByType(LibraryExtension::class.java)?.let { - return it.libraryVariants - } - extensions.findByType(AppExtension::class.java)?.let { - return it.applicationVariants - } - return emptyList() -} - -private class AndroidSdkProvider(private val project: Project) : SdkProvider { - private val ext by lazy { - project.extensions.findByType(LibraryExtension::class.java) ?: project.extensions.findByType(AppExtension::class.java) - } - - override val name: String = "android" - - override val isValid: Boolean - get() = project.hasAndroidPlugin() - - override val classpath: List - get() = ext.bootClasspath + (project.findDokkaAndroidPlugin()?.allVariantsClassPath ?: emptyList()) - - override val sourceDirs: Set? - get() { - val sourceSet = ext?.sourceSets?.findByName(SourceSet.MAIN_SOURCE_SET_NAME) - return sourceSet?.java?.srcDirs - } -} diff --git a/dokka-android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties b/dokka-android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties deleted file mode 100644 index 03b28d93..00000000 --- a/dokka-android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.dokka.gradle.DokkaAndroidPlugin \ No newline at end of file diff --git a/dokka-gradle-plugin/build.gradle b/dokka-gradle-plugin/build.gradle deleted file mode 100644 index 76bf4e4d..00000000 --- a/dokka-gradle-plugin/build.gradle +++ /dev/null @@ -1,68 +0,0 @@ -group 'org.jetbrains.dokka' -version dokka_version - -buildscript { - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4' - } -} - -apply plugin: 'java' -apply plugin: 'kotlin' -apply plugin: 'maven-publish' -apply plugin: 'com.jfrog.bintray' - -sourceCompatibility = 1.6 - -dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' - compile project(':core') - - compile gradleApi() - compile localGroovy() -} - -sourceSets { - main.java.srcDirs += 'src/main/kotlin' -} - -task sourceJar(type: Jar) { - from sourceSets.main.allSource -} - -task wrapper(type: Wrapper) { - gradleVersion = '2.5' - distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" -} - -publishing { - publications { - mavenJava(MavenPublication) { - from components.java - - artifact sourceJar { - classifier "sources" - } - } - } -} - -bintray { - user = System.getenv('BINTRAY_USER') - key = System.getenv('BINTRAY_KEY') - - pkg { - repo = dokka_eap.toBoolean() ? 'kotlin-eap' : 'dokka' - name = 'dokka' - userOrg = 'kotlin' - desc = 'Dokka, the Kotlin documentation tool' - vcsUrl = 'https://github.com/kotlin/dokka.git' - licenses = ['Apache-2.0'] - version { - name = dokka_version - } - } - - publications = ['mavenJava'] -} diff --git a/dokka-gradle-plugin/settings.gradle b/dokka-gradle-plugin/settings.gradle deleted file mode 100644 index 1faee6f7..00000000 --- a/dokka-gradle-plugin/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'dokka-gradle-plugin' - diff --git a/dokka-gradle-plugin/src/main/kotlin/logger.kt b/dokka-gradle-plugin/src/main/kotlin/logger.kt deleted file mode 100644 index 715c1f04..00000000 --- a/dokka-gradle-plugin/src/main/kotlin/logger.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.jetbrains.dokka.gradle - -import org.gradle.api.logging.Logger -import org.jetbrains.dokka.DokkaLogger - -class DokkaGradleLogger(val logger: Logger) : DokkaLogger { - override fun error(message: String) { - logger.error(message) - } - - override fun info(message: String) { - logger.info(message) - } - - override fun warn(message: String) { - logger.warn(message) - } -} \ No newline at end of file diff --git a/dokka-gradle-plugin/src/main/kotlin/main.kt b/dokka-gradle-plugin/src/main/kotlin/main.kt deleted file mode 100644 index 49c3b8ba..00000000 --- a/dokka-gradle-plugin/src/main/kotlin/main.kt +++ /dev/null @@ -1,190 +0,0 @@ -package org.jetbrains.dokka.gradle - -import groovy.lang.Closure -import org.gradle.api.DefaultTask -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.file.FileCollection -import org.gradle.api.plugins.JavaBasePlugin -import org.gradle.api.plugins.JavaPluginConvention -import org.gradle.api.tasks.* -import org.jetbrains.dokka.DocumentationOptions -import org.jetbrains.dokka.DokkaGenerator -import org.jetbrains.dokka.SourceLinkDefinition -import java.io.File -import java.io.Serializable -import java.util.* - -open class DokkaPlugin : Plugin { - override fun apply(project: Project) { - project.tasks.create("dokka", DokkaTask::class.java).apply { - moduleName = project.name - outputDirectory = File(project.buildDir, "dokka").absolutePath - } - } -} - -open class DokkaTask : DefaultTask() { - init { - group = JavaBasePlugin.DOCUMENTATION_GROUP - description = "Generates dokka documentation for Kotlin" - } - - @Input - var moduleName: String = "" - @Input - var outputFormat: String = "html" - var outputDirectory: String = "" - @Input - var processConfigurations: List = arrayListOf("compile") - @Input - var includes: List = arrayListOf() - @Input - var linkMappings: ArrayList = arrayListOf() - @Input - var samples: List = arrayListOf() - @Input - var jdkVersion: Int = 6 - @Input - var sourceDirs: Iterable = emptyList() - - protected open val sdkProvider: SdkProvider? = null - - fun linkMapping(closure: Closure) { - val mapping = LinkMapping() - closure.delegate = mapping - closure.call() - - if (mapping.dir.isEmpty()) { - throw IllegalArgumentException("Link mapping should have dir") - } - if (mapping.url.isEmpty()) { - throw IllegalArgumentException("Link mapping should have url") - } - - linkMappings.add(mapping) - } - - @TaskAction - fun generate() { - val project = project - val sdkProvider = sdkProvider - val sourceDirectories = getSourceDirectories() - val allConfigurations = project.configurations - - val classpath = - if (sdkProvider != null && sdkProvider.isValid) sdkProvider.classpath else emptyList() + - processConfigurations - .map { allConfigurations?.getByName(it.toString()) ?: throw IllegalArgumentException("No configuration $it found") } - .flatMap { it } - - if (sourceDirectories.isEmpty()) { - logger.warn("No source directories found: skipping dokka generation") - return - } - - DokkaGenerator( - DokkaGradleLogger(logger), - classpath.map { it.absolutePath }, - sourceDirectories.map { it.absolutePath }, - samples.filterNotNull().map { project.file(it).absolutePath }, - includes.filterNotNull().map { project.file(it).absolutePath }, - moduleName, - DocumentationOptions(outputDirectory, outputFormat, - sourceLinks = linkMappings.map { SourceLinkDefinition(project.file(it.dir).absolutePath, it.url, it.suffix) }, - jdkVersion = jdkVersion) - ).generate() - } - - fun getSourceDirectories(): Collection { - val provider = sdkProvider - val sourceDirs = if (sourceDirs.any()) { - logger.info("Dokka: Taking source directories provided by the user") - sourceDirs.toSet() - } else if (provider != null && provider.isValid) { - logger.info("Dokka: Taking source directories from ${provider.name} sdk provider") - provider.sourceDirs - } else { - logger.info("Dokka: Taking source directories from default java plugin") - val javaPluginConvention = project.convention.getPlugin(JavaPluginConvention::class.java) - val sourceSets = javaPluginConvention.sourceSets?.findByName(SourceSet.MAIN_SOURCE_SET_NAME) - sourceSets?.allSource?.srcDirs - } - - return sourceDirs?.filter { it.exists() } ?: emptyList() - } - - @InputFiles - @SkipWhenEmpty - fun getInputFiles(): FileCollection = - project.files(getSourceDirectories().map { project.fileTree(it) }) + - project.files(includes) + - project.files(samples.map { project.fileTree(it) }) - - @OutputDirectory - fun getOutputDirectoryAsFile(): File = project.file(outputDirectory) -} - -open class LinkMapping : Serializable { - var dir: String = "" - var url: String = "" - var suffix: String? = null - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other?.javaClass != javaClass) return false - - other as LinkMapping - - if (dir != other.dir) return false - if (url != other.url) return false - if (suffix != other.suffix) return false - - return true - } - - override fun hashCode(): Int { - var result = dir.hashCode() - result = 31 * result + url.hashCode() - result = 31 * result + (suffix?.hashCode() ?: 0) - return result - } - - companion object { - const val serialVersionUID: Long = -8133501684312445981L - } -} - -/** - * A provider for SDKs that can be used if a project uses classes that live outside the JDK or uses a - * different method to determine the source directories. - * - * For example an Android library project configures its sources through the Android extension instead - * of the basic java convention. Also it has its custom classes located in the SDK installation directory. - */ -interface SdkProvider { - /** - * The name of this provider. Only used for logging purposes. - */ - val name: String - - /** - * Checks whether this provider has everything it needs to provide the source directories. - */ - val isValid: Boolean - - /** - * Provides additional classpath files where Dokka should search for external classes. - * The file list is injected **after** JDK Jars and **before** project dependencies. - * - * This is only called if [isValid] returns `true`. - */ - val classpath: List - - /** - * Provides a list of directories where Dokka should search for source files. - * - * This is only called if [isValid] returns `true`. - */ - val sourceDirs: Set? -} diff --git a/dokka-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties b/dokka-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties deleted file mode 100644 index b42cfe9f..00000000 --- a/dokka-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.dokka.gradle.DokkaPlugin \ No newline at end of file diff --git a/dokka.pro b/dokka.pro deleted file mode 100644 index 97eae693..00000000 --- a/dokka.pro +++ /dev/null @@ -1,100 +0,0 @@ -# Include java runtime classes --libraryjars /lib/rt.jar - -# Keep filenames and line numbers --keepattributes SourceFile, LineNumberTable - --target 1.6 --dontoptimize --dontobfuscate - --ignorewarnings -# -keepdirectories - --dontwarn org.jetbrains.annotations.** --dontwarn org.apache.commons.httpclient.** --dontwarn org.apache.tools.ant.** --dontwarn org.codehaus.plexus.** --dontwarn hidden.org.codehaus.plexus.** --dontwarn org.fusesource.** --dontwarn org.jaxen.jdom.** - --keep class org.jetbrains.dokka.** { *; } --keep class org.fusesource.** { *; } --keep class org.jdom.input.JAXPParserFactory { *; } - --keep class org.jetbrains.annotations.** { - public protected *; -} - --keep class javax.inject.** { - public protected *; -} - --keep class org.jetbrains.kotlin.** { - public protected *; -} - --keep class org.jetbrains.kotlin.compiler.plugin.** { - public protected *; -} - --keep class org.jetbrains.kotlin.extensions.** { - public protected *; -} - --keep class org.jetbrains.org.objectweb.asm.Opcodes { *; } - --keep class org.jetbrains.kotlin.codegen.extensions.** { - public protected *; -} - --keepclassmembers class com.intellij.openapi.vfs.VirtualFile { - public InputStream getInputStream(); -} - --keep class jet.** { - public protected *; -} - --keep class com.intellij.psi.** { - public protected *; -} - -# for kdoc & dokka --keep class com.intellij.openapi.util.TextRange { *; } --keep class com.intellij.lang.impl.PsiBuilderImpl* { - public protected *; -} --keep class com.intellij.openapi.util.text.StringHash { *; } - -# for gradle plugin and other server tools --keep class com.intellij.openapi.util.io.ZipFileCache { public *; } - -# for j2k --keep class com.intellij.codeInsight.NullableNotNullManager { public protected *; } - --keepclassmembers enum * { - public static **[] values(); - public static ** valueOf(java.lang.String); -} - --keepclassmembers class * { - ** toString(); - ** hashCode(); - void start(); - void stop(); - void dispose(); -} - --keepclassmembers class org.jetbrains.org.objectweb.asm.Opcodes { - *** ASM5; -} - --keepclassmembers class org.jetbrains.org.objectweb.asm.ClassReader { - *** SKIP_CODE; - *** SKIP_DEBUG; - *** SKIP_FRAMES; -} - - diff --git a/gradle.properties b/gradle.properties index dd8df46d..12256f0b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,14 @@ -kotlin_version=1.0.3 -dokka_version=0.9.9 +dokka_version=0.9.10 dokka_eap=false + +#Kotlin compiler and plugin +kotlin_version=1.0.4 + +ant_version=1.9.6 + +#Maven plugin dependencies +maven_version=3.0.5 +maven_archiver_version=2.5 +plexus_utils_version=3.0.22 +plexus_archiver_version=3.4 +maven_plugin_tools_version=3.4 \ No newline at end of file diff --git a/lib/javax.inject-1.jar b/lib/javax.inject-1.jar deleted file mode 100644 index b2a9d0bf..00000000 Binary files a/lib/javax.inject-1.jar and /dev/null differ diff --git a/maven-plugin/dokka-maven-plugin.iml b/maven-plugin/dokka-maven-plugin.iml deleted file mode 100644 index 1c05c571..00000000 --- a/maven-plugin/dokka-maven-plugin.iml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml deleted file mode 100644 index 59b8d5c1..00000000 --- a/maven-plugin/pom.xml +++ /dev/null @@ -1,181 +0,0 @@ - - 4.0.0 - org.jetbrains.dokka - dokka-maven-plugin - 0.9.9 - maven-plugin - - 1.4.1 - 3.0.5 - 3.0.22 - 1.0.3 - - - - org.apache.maven - maven-core - ${maven.version} - - - org.apache.maven - maven-model - ${maven.version} - - - org.apache.maven - maven-plugin-api - ${maven.version} - - - org.apache.maven - maven-archiver - 2.5 - - - org.codehaus.plexus - plexus-utils - ${plexus.version} - - - org.codehaus.plexus - plexus-archiver - 2.5 - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.4 - - - org.jetbrains.dokka - dokka-fatjar - ${version} - jar - compile - - - com.sun - tools - 1.8.0 - system - ${toolsjar} - - - - src/main/kotlin - - - org.jetbrains.kotlin - kotlin-maven-plugin - ${kotlinVersion} - - - compile - compile - - compile - - - - test-compile - test-compile - - test-compile - - - - - - org.apache.maven.plugins - maven-plugin-plugin - 3.4 - - - default-descriptor - - descriptor - - process-classes - - - help-descriptor - - helpmojo - - process-classes - - - - dokka - - - - maven-source-plugin - 2.4 - - - attach-sources - verify - - jar-no-fork - - - - - - maven-jar-plugin - 2.6 - - - - - - sonatype.oss.snapshots - Sonatype OSS Snapshot Repository - http://oss.sonatype.org/content/repositories/snapshots - - false - - - true - - - - kotlin.eap - Kotlin EAP - https://dl.bintray.com/kotlin/kotlin-eap - - true - - - false - - - - - - default-profile - - true - - ${java.home}/../lib/tools.jar - - - - ${java.home}/../lib/tools.jar - - - - mac-profile - - false - - ${java.home}/../Classes/classes.jar - - - - ${java.home}/../Classes/classes.jar - - - - diff --git a/maven-plugin/src/main/kotlin/DokkaMojo.kt b/maven-plugin/src/main/kotlin/DokkaMojo.kt deleted file mode 100644 index 899d2dde..00000000 --- a/maven-plugin/src/main/kotlin/DokkaMojo.kt +++ /dev/null @@ -1,179 +0,0 @@ -package org.jetbrains.dokka.maven - -import org.apache.maven.archiver.MavenArchiveConfiguration -import org.apache.maven.archiver.MavenArchiver -import org.apache.maven.execution.MavenSession -import org.apache.maven.plugin.AbstractMojo -import org.apache.maven.plugins.annotations.* -import org.apache.maven.project.MavenProject -import org.apache.maven.project.MavenProjectHelper -import org.jetbrains.dokka.DokkaGenerator -import org.jetbrains.dokka.SourceLinkDefinition -import org.jetbrains.dokka.DocumentationOptions -import org.codehaus.plexus.archiver.Archiver -import org.codehaus.plexus.archiver.jar.JarArchiver -import java.io.File - -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 -} - -abstract class AbstractDokkaMojo : AbstractMojo() { - @Parameter(required = true, defaultValue = "\${project.compileSourceRoots}") - var sourceDirectories: List = emptyList() - - @Parameter - var samplesDirs: List = emptyList() - - @Parameter - @Deprecated("Use instead") - var includeDirs: List = emptyList() - - @Parameter - var includes: List = emptyList() - - @Parameter(required = true, defaultValue = "\${project.compileClasspathElements}") - var classpath: List = emptyList() - - @Parameter - var sourceLinks: Array = emptyArray() - - @Parameter(required = true, defaultValue = "\${project.artifactId}") - var moduleName: String = "" - - @Parameter(required = false, defaultValue = "false") - var skip: Boolean = false - - @Parameter(required = false, defaultValue = "6") - var jdkVersion: Int = 6 - - protected abstract fun getOutDir(): String - protected abstract fun getOutFormat(): String - - override fun execute() { - if (skip) { - log.info("Dokka skip parameter is true so no dokka output will be produced") - return - } - - val gen = DokkaGenerator( - MavenDokkaLogger(log), - classpath, - sourceDirectories, - samplesDirs, - includeDirs + includes, - moduleName, - DocumentationOptions(getOutDir(), getOutFormat(), - sourceLinks = sourceLinks.map { SourceLinkDefinition(it.dir, it.url, it.urlSuffix) }, - jdkVersion = jdkVersion - ) - ) - - gen.generate() - } -} - -@Mojo(name = "dokka", defaultPhase = LifecyclePhase.PRE_SITE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) -class DokkaMojo : AbstractDokkaMojo() { - @Parameter(required = true, defaultValue = "html") - var outputFormat: String = "html" - - @Parameter(required = true, defaultValue = "\${project.basedir}/target/dokka") - var outputDir: String = "" - - override fun getOutFormat() = outputFormat - override fun getOutDir() = outputDir -} - -@Mojo(name = "javadoc", defaultPhase = LifecyclePhase.PRE_SITE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) -class DokkaJavadocMojo : AbstractDokkaMojo() { - @Parameter(required = true, defaultValue = "\${project.basedir}/target/dokkaJavadoc") - var outputDir: String = "" - - override fun getOutFormat() = "javadoc" - override fun getOutDir() = outputDir -} - -@Mojo(name = "javadocJar", defaultPhase = LifecyclePhase.PRE_SITE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) -class DokkaJavadocJarMojo : AbstractDokkaMojo() { - @Parameter(required = true, defaultValue = "\${project.basedir}/target/dokkaJavadocJar") - var outputDir: String = "" - - /** - * Specifies the directory where the generated jar file will be put. - */ - @Parameter(property = "project.build.directory") - private var jarOutputDirectory: String? = null - - /** - * Specifies the filename that will be used for the generated jar file. Please note that `-javadoc` - * or `-test-javadoc` will be appended to the file name. - */ - @Parameter(property = "project.build.finalName") - private var finalName: String? = null - - /** - * Specifies whether to attach the generated artifact to the project helper. - */ - @Parameter(property = "attach", defaultValue = "true") - private val attach: Boolean = false - - /** - * The archive configuration to use. - * See [Maven Archiver Reference](http://maven.apache.org/shared/maven-archiver/index.html) - */ - @Parameter - private val archive = MavenArchiveConfiguration() - - @Parameter(property = "maven.javadoc.classifier", defaultValue = "javadoc", required = true) - private var classifier: String? = null - - @Parameter(defaultValue = "\${session}", readonly = true, required = true) - protected var session: MavenSession? = null - - @Parameter(defaultValue = "\${project}", readonly = true, required = true) - protected var project: MavenProject? = null - - @Component - private var projectHelper: MavenProjectHelper? = null - - @Component(role = Archiver::class, hint = "jar") - private var jarArchiver: JarArchiver? = null - - override fun getOutFormat() = "javadoc" - override fun getOutDir() = outputDir - - override fun execute() { - super.execute() - if(!File(outputDir).exists()) { - log.warn("No javadoc generated so no javadoc jar will be generated") - return - } - val outputFile = generateArchive("$finalName-$classifier.jar") - if (attach) { - projectHelper?.attachArtifact(project, "javadoc", classifier, outputFile) - } - } - - private fun generateArchive(jarFileName: String): File { - val javadocJar = File(jarOutputDirectory, jarFileName) - - val archiver = MavenArchiver() - archiver.setArchiver(jarArchiver) - archiver.setOutputFile(javadocJar) - archiver.archiver.addDirectory(File(outputDir), arrayOf("**/**"), arrayOf()) - - archive.setAddMavenDescriptor(false) - archiver.createArchive(session, project, archive) - - return javadocJar - } -} - diff --git a/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt b/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt deleted file mode 100644 index a535c807..00000000 --- a/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.jetbrains.dokka.maven - -import org.apache.maven.plugin.logging.Log -import org.jetbrains.dokka.DokkaLogger - -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 diff --git a/runners/android-gradle-plugin/build.gradle b/runners/android-gradle-plugin/build.gradle new file mode 100644 index 00000000..dd6f2e3d --- /dev/null +++ b/runners/android-gradle-plugin/build.gradle @@ -0,0 +1,57 @@ +apply plugin: 'java' + +sourceCompatibility = 1.6 + +task wrapper(type: Wrapper) { + gradleVersion = '2.5' + distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" +} + +apply plugin: 'com.github.johnrengelman.shadow' + +configurations { + provided +} + +tasks.withType(AbstractCompile) { + classpath += configurations.provided + classpath += configurations.shadow +} + +dependencies { + testCompile group: 'junit', name: 'junit', version: '4.12' + shadow project(':runners:fatjar') + shadow project(':runners:gradle-plugin') + + provided gradleApi() + provided localGroovy() + + shadow 'com.android.tools.build:gradle:2.0.0' +} + +task sourceJar(type: Jar) { + from sourceSets.main.allSource +} + +shadowJar { + baseName = 'dokka-android-gradle-plugin' + classifier = '' + relocate('kotlin.', 'dokkakotlin.') +} + +apply plugin: 'maven-publish' + +publishing { + publications { + dokkaAndroidGradlePlugin(MavenPublication) { + from components.shadow + artifactId = 'dokka-android-gradle-plugin' + + artifact sourceJar { + classifier "sources" + } + } + } +} + +bintrayPublication(project, ['dokkaAndroidGradlePlugin']) \ No newline at end of file diff --git a/runners/android-gradle-plugin/src/main/kotlin/main.kt b/runners/android-gradle-plugin/src/main/kotlin/main.kt new file mode 100644 index 00000000..054ed358 --- /dev/null +++ b/runners/android-gradle-plugin/src/main/kotlin/main.kt @@ -0,0 +1,76 @@ +package org.jetbrains.dokka.gradle + +import com.android.build.gradle.AppExtension +import com.android.build.gradle.LibraryExtension +import com.android.build.gradle.api.BaseVariant +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.tasks.SourceSet +import java.io.File + +open class DokkaAndroidPlugin : Plugin { + val allVariantsClassPath = mutableSetOf() + + override fun apply(project: Project) { + project.tasks.create("dokka", DokkaAndroidTask::class.java).apply { + moduleName = project.name + outputDirectory = File(project.buildDir, "dokka").absolutePath + } + + if (project.hasAndroidPlugin()) { + project.afterEvaluate { + collectClasspath(project) + } + } + else { + project.plugins.whenPluginAdded { + if (project.hasAndroidPlugin()) { + collectClasspath(project) + } + } + } + } + + private fun collectClasspath(project: Project) { + val variants = project.collectAllVariants() + variants.flatMapTo(allVariantsClassPath) { it.javaCompiler.classpath.files } + } +} + +open class DokkaAndroidTask : DokkaTask() { + override val sdkProvider: SdkProvider? = AndroidSdkProvider(project) +} + +private fun Project.hasAndroidPlugin() = plugins.hasPlugin("com.android.library") || plugins.hasPlugin("com.android.application") + +private fun Project.findDokkaAndroidPlugin() = plugins.findPlugin(DokkaAndroidPlugin::class.java) + +private fun Project.collectAllVariants(): Collection { + extensions.findByType(LibraryExtension::class.java)?.let { + return it.libraryVariants + } + extensions.findByType(AppExtension::class.java)?.let { + return it.applicationVariants + } + return emptyList() +} + +private class AndroidSdkProvider(private val project: Project) : SdkProvider { + private val ext by lazy { + project.extensions.findByType(LibraryExtension::class.java) ?: project.extensions.findByType(AppExtension::class.java) + } + + override val name: String = "android" + + override val isValid: Boolean + get() = project.hasAndroidPlugin() + + override val classpath: List + get() = ext.bootClasspath + (project.findDokkaAndroidPlugin()?.allVariantsClassPath ?: emptyList()) + + override val sourceDirs: Set? + get() { + val sourceSet = ext?.sourceSets?.findByName(SourceSet.MAIN_SOURCE_SET_NAME) + return sourceSet?.java?.srcDirs + } +} diff --git a/runners/android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties b/runners/android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties new file mode 100644 index 00000000..03b28d93 --- /dev/null +++ b/runners/android-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties @@ -0,0 +1 @@ +implementation-class=org.jetbrains.dokka.gradle.DokkaAndroidPlugin \ No newline at end of file diff --git a/runners/ant/build.gradle b/runners/ant/build.gradle new file mode 100644 index 00000000..3c4d4ddb --- /dev/null +++ b/runners/ant/build.gradle @@ -0,0 +1,16 @@ +sourceCompatibility = 1.5 + +configurations { + provided +} + +tasks.withType(AbstractCompile) { + classpath += configurations.provided +} + + +dependencies { + compile project(":core") + provided group: 'org.apache.ant', name: 'ant', version: ant_version +} + diff --git a/runners/ant/src/main/kotlin/ant/dokka.kt b/runners/ant/src/main/kotlin/ant/dokka.kt new file mode 100644 index 00000000..38dc543b --- /dev/null +++ b/runners/ant/src/main/kotlin/ant/dokka.kt @@ -0,0 +1,101 @@ +package org.jetbrains.dokka.ant + +import org.apache.tools.ant.BuildException +import org.apache.tools.ant.Project +import org.apache.tools.ant.Task +import org.apache.tools.ant.types.Path +import org.apache.tools.ant.types.Reference +import org.jetbrains.dokka.DocumentationOptions +import org.jetbrains.dokka.DokkaGenerator +import org.jetbrains.dokka.DokkaLogger +import org.jetbrains.dokka.SourceLinkDefinition +import java.io.File + +class AntLogger(val task: Task): DokkaLogger { + override fun info(message: String) = task.log(message, Project.MSG_INFO) + override fun warn(message: String) = task.log(message, Project.MSG_WARN) + override fun error(message: String) = task.log(message, Project.MSG_ERR) +} + +class AntSourceLinkDefinition(var path: String? = null, var url: String? = null, var lineSuffix: String? = null) + +class DokkaAntTask(): Task() { + var moduleName: String? = null + var outputDir: String? = null + var outputFormat: String = "html" + var jdkVersion: Int = 6 + + var skipDeprecated: Boolean = false + + val compileClasspath: Path by lazy { Path(getProject()) } + val sourcePath: Path by lazy { Path(getProject()) } + val samplesPath: Path by lazy { Path(getProject()) } + val includesPath: Path by lazy { Path(getProject()) } + + val antSourceLinks: MutableList = arrayListOf() + + fun setClasspath(classpath: Path) { + compileClasspath.append(classpath) + } + + fun setClasspathRef(ref: Reference) { + compileClasspath.createPath().refid = ref + } + + fun setSrc(src: Path) { + sourcePath.append(src) + } + + fun setSrcRef(ref: Reference) { + sourcePath.createPath().refid = ref + } + + fun setSamples(samples: Path) { + samplesPath.append(samples) + } + + fun setSamplesRef(ref: Reference) { + samplesPath.createPath().refid = ref + } + + fun setInclude(include: Path) { + includesPath.append(include) + } + + fun createSourceLink(): AntSourceLinkDefinition { + val def = AntSourceLinkDefinition() + antSourceLinks.add(def) + return def + } + + override fun execute() { + if (sourcePath.list().size == 0) { + throw BuildException("At least one source path needs to be specified") + } + if (moduleName == null) { + throw BuildException("Module name needs to be specified") + } + if (outputDir == null) { + throw BuildException("Output directory needs to be specified") + } + val sourceLinks = antSourceLinks.map { + val path = it.path ?: throw BuildException("'path' attribute of a element is required") + val url = it.url ?: throw BuildException("'url' attribute of a element is required") + SourceLinkDefinition(File(path).canonicalFile.absolutePath, url, it.lineSuffix) + } + + val generator = DokkaGenerator( + AntLogger(this), + compileClasspath.list().toList(), + sourcePath.list().toList(), + samplesPath.list().toList(), + includesPath.list().toList(), + moduleName!!, + DocumentationOptions(outputDir!!, outputFormat, + skipDeprecated = skipDeprecated, + sourceLinks = sourceLinks, + jdkVersion = jdkVersion) + ) + generator.generate() + } +} \ No newline at end of file diff --git a/runners/build.gradle b/runners/build.gradle new file mode 100644 index 00000000..574f5ac7 --- /dev/null +++ b/runners/build.gradle @@ -0,0 +1,9 @@ +buildscript { + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +subprojects { + apply plugin: 'kotlin' +} diff --git a/runners/cli/build.gradle b/runners/cli/build.gradle new file mode 100644 index 00000000..2dbaa793 --- /dev/null +++ b/runners/cli/build.gradle @@ -0,0 +1,6 @@ +sourceCompatibility = 1.5 + +dependencies { + compile project(":core") + compile "com.github.spullara.cli-parser:cli-parser:1.1.1" +} diff --git a/runners/cli/src/main/kotlin/cli/main.kt b/runners/cli/src/main/kotlin/cli/main.kt new file mode 100644 index 00000000..f4e81241 --- /dev/null +++ b/runners/cli/src/main/kotlin/cli/main.kt @@ -0,0 +1,92 @@ +package org.jetbrains.dokka + +import com.sampullara.cli.Args +import com.sampullara.cli.Argument +import org.jetbrains.kotlin.cli.common.arguments.ValueDescription +import java.io.File + +class DokkaArguments { + @set:Argument(value = "src", description = "Source file or directory (allows many paths separated by the system path separator)") + @ValueDescription("") + var src: String = "" + + @set:Argument(value = "srcLink", description = "Mapping between a source directory and a Web site for browsing the code") + @ValueDescription("=[#lineSuffix]") + var srcLink: String = "" + + @set:Argument(value = "include", description = "Markdown files to load (allows many paths separated by the system path separator)") + @ValueDescription("") + var include: String = "" + + @set:Argument(value = "samples", description = "Source root for samples") + @ValueDescription("") + var samples: String = "" + + @set:Argument(value = "output", description = "Output directory path") + @ValueDescription("") + var outputDir: String = "out/doc/" + + @set:Argument(value = "format", description = "Output format (text, html, markdown, jekyll, kotlin-website)") + @ValueDescription("") + var outputFormat: String = "html" + + @set:Argument(value = "module", description = "Name of the documentation module") + @ValueDescription("") + var moduleName: String = "" + + @set:Argument(value = "classpath", description = "Classpath for symbol resolution") + @ValueDescription("") + var classpath: String = "" + + @set:Argument(value = "nodeprecated", description = "Exclude deprecated members from documentation") + var nodeprecated: Boolean = false + + @set:Argument(value = "jdkVersion", description = "Version of JDK to use for linking to JDK JavaDoc") + var jdkVersion: Int = 6 +} + +private fun parseSourceLinkDefinition(srcLink: String): SourceLinkDefinition { + val (path, urlAndLine) = srcLink.split('=') + return SourceLinkDefinition(File(path).absolutePath, + urlAndLine.substringBefore("#"), + urlAndLine.substringAfter("#", "").let { if (it.isEmpty()) null else "#" + it }) +} + +fun main(args: Array) { + val arguments = DokkaArguments() + val freeArgs: List = Args.parse(arguments, args) ?: listOf() + val sources = if (arguments.src.isNotEmpty()) arguments.src.split(File.pathSeparatorChar).toList() + freeArgs else freeArgs + val samples = if (arguments.samples.isNotEmpty()) arguments.samples.split(File.pathSeparatorChar).toList() else listOf() + val includes = if (arguments.include.isNotEmpty()) arguments.include.split(File.pathSeparatorChar).toList() else listOf() + + val sourceLinks = if (arguments.srcLink.isNotEmpty() && arguments.srcLink.contains("=")) + listOf(parseSourceLinkDefinition(arguments.srcLink)) + else { + if (arguments.srcLink.isNotEmpty()) { + println("Warning: Invalid -srcLink syntax. Expected: =[#lineSuffix]. No source links will be generated.") + } + listOf() + } + + val classPath = arguments.classpath.split(File.pathSeparatorChar).toList() + + val documentationOptions = DocumentationOptions( + arguments.outputDir.let { if (it.endsWith('/')) it else it + '/' }, + arguments.outputFormat, + skipDeprecated = arguments.nodeprecated, + sourceLinks = sourceLinks + ) + + val generator = DokkaGenerator( + DokkaConsoleLogger, + classPath, + sources, + samples, + includes, + arguments.moduleName, + documentationOptions) + + generator.generate() + DokkaConsoleLogger.report() +} + diff --git a/runners/fatjar/build.gradle b/runners/fatjar/build.gradle new file mode 100644 index 00000000..df20c9b9 --- /dev/null +++ b/runners/fatjar/build.gradle @@ -0,0 +1,62 @@ +import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer +import org.jetbrains.PluginXmlTransformer + +apply plugin: 'com.github.johnrengelman.shadow' + +dependencies { + compile project(":runners:cli") + compile project(":runners:ant") +} + +shadowJar { + baseName = 'dokka-fatjar' + classifier = '' + + configurations { + exclude provided + } + + relocate('com.', 'dokkacom.') { + exclude 'com.sun.**' + } + + relocate('org.', 'dokkaorg.') { + exclude 'org.jetbrains.dokka.**' + exclude 'org.xml.**' + exclude 'org.w3c.**' + exclude 'org.jaxen.**' + exclude 'org.apache.xerces.**' + exclude 'org.apache.xml.**' + exclude 'org.fusesource.jansi.**' + exclude 'org.apache.tools.ant.**' + } + + + relocate('kotlin.', 'dokkakotlin.') { + exclude '**.*kotlin_builtins' //For kotlin_builtins, still not sure that we should relocate kotlin stdlib + exclude 'kotlin.reflect' /* WAT? Ok, ok. Relocate works as Ctrl + Shift + R for ALL class files, so, + if you have string "kotlin.reflect", it will be rewritten to not relevant "dokkakotlin.reflect" and you will got + builtins crash in runtime, cause could not find dokkakotlin/reflect/reflect.kotlin_builtins */ + } + + transform(ServiceFileTransformer) + transform(PluginXmlTransformer) + + exclude 'colorScheme/**' + exclude 'fileTemplates/**' + exclude 'inspectionDescriptions/**' + exclude 'intentionDescriptions/**' +} + +apply plugin: 'maven-publish' + +publishing { + publications { + dokkaFatJar(MavenPublication) { + from components.shadow + artifactId = 'dokka-fatjar' + } + } +} + +bintrayPublication(project, ["dokkaFatJar"]) \ No newline at end of file diff --git a/runners/gradle-plugin/build.gradle b/runners/gradle-plugin/build.gradle new file mode 100644 index 00000000..50997889 --- /dev/null +++ b/runners/gradle-plugin/build.gradle @@ -0,0 +1,58 @@ +apply plugin: 'java' + +sourceCompatibility = 1.6 + +apply plugin: 'com.github.johnrengelman.shadow' + +configurations { + provided +} + +tasks.withType(AbstractCompile) { + classpath += configurations.provided + classpath += configurations.shadow +} + +dependencies { + + shadow project(':runners:fatjar') + testCompile group: 'junit', name: 'junit', version: '4.12' + + provided group: 'org.jetbrains.kotlin', name: 'kotlin-runtime', version: kotlin_version + provided group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: kotlin_version + provided gradleApi() + provided localGroovy() +} + +task sourceJar(type: Jar) { + from sourceSets.main.allSource +} + +task wrapper(type: Wrapper) { + gradleVersion = '2.5' + distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" +} + +shadowJar { + baseName = 'dokka-gradle-plugin' + classifier = '' + relocate('kotlin.', 'dokkakotlin.') +} + +apply plugin: 'maven-publish' + +publishing { + publications { + dokkaGradlePlugin(MavenPublication) { + from components.shadow + artifactId = 'dokka-gradle-plugin' + + artifact sourceJar { + classifier "sources" + } + } + } +} + +bintrayPublication(project, ['dokkaGradlePlugin']) + diff --git a/runners/gradle-plugin/src/main/kotlin/logger.kt b/runners/gradle-plugin/src/main/kotlin/logger.kt new file mode 100644 index 00000000..715c1f04 --- /dev/null +++ b/runners/gradle-plugin/src/main/kotlin/logger.kt @@ -0,0 +1,18 @@ +package org.jetbrains.dokka.gradle + +import org.gradle.api.logging.Logger +import org.jetbrains.dokka.DokkaLogger + +class DokkaGradleLogger(val logger: Logger) : DokkaLogger { + override fun error(message: String) { + logger.error(message) + } + + override fun info(message: String) { + logger.info(message) + } + + override fun warn(message: String) { + logger.warn(message) + } +} \ No newline at end of file diff --git a/runners/gradle-plugin/src/main/kotlin/main.kt b/runners/gradle-plugin/src/main/kotlin/main.kt new file mode 100644 index 00000000..49c3b8ba --- /dev/null +++ b/runners/gradle-plugin/src/main/kotlin/main.kt @@ -0,0 +1,190 @@ +package org.jetbrains.dokka.gradle + +import groovy.lang.Closure +import org.gradle.api.DefaultTask +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.file.FileCollection +import org.gradle.api.plugins.JavaBasePlugin +import org.gradle.api.plugins.JavaPluginConvention +import org.gradle.api.tasks.* +import org.jetbrains.dokka.DocumentationOptions +import org.jetbrains.dokka.DokkaGenerator +import org.jetbrains.dokka.SourceLinkDefinition +import java.io.File +import java.io.Serializable +import java.util.* + +open class DokkaPlugin : Plugin { + override fun apply(project: Project) { + project.tasks.create("dokka", DokkaTask::class.java).apply { + moduleName = project.name + outputDirectory = File(project.buildDir, "dokka").absolutePath + } + } +} + +open class DokkaTask : DefaultTask() { + init { + group = JavaBasePlugin.DOCUMENTATION_GROUP + description = "Generates dokka documentation for Kotlin" + } + + @Input + var moduleName: String = "" + @Input + var outputFormat: String = "html" + var outputDirectory: String = "" + @Input + var processConfigurations: List = arrayListOf("compile") + @Input + var includes: List = arrayListOf() + @Input + var linkMappings: ArrayList = arrayListOf() + @Input + var samples: List = arrayListOf() + @Input + var jdkVersion: Int = 6 + @Input + var sourceDirs: Iterable = emptyList() + + protected open val sdkProvider: SdkProvider? = null + + fun linkMapping(closure: Closure) { + val mapping = LinkMapping() + closure.delegate = mapping + closure.call() + + if (mapping.dir.isEmpty()) { + throw IllegalArgumentException("Link mapping should have dir") + } + if (mapping.url.isEmpty()) { + throw IllegalArgumentException("Link mapping should have url") + } + + linkMappings.add(mapping) + } + + @TaskAction + fun generate() { + val project = project + val sdkProvider = sdkProvider + val sourceDirectories = getSourceDirectories() + val allConfigurations = project.configurations + + val classpath = + if (sdkProvider != null && sdkProvider.isValid) sdkProvider.classpath else emptyList() + + processConfigurations + .map { allConfigurations?.getByName(it.toString()) ?: throw IllegalArgumentException("No configuration $it found") } + .flatMap { it } + + if (sourceDirectories.isEmpty()) { + logger.warn("No source directories found: skipping dokka generation") + return + } + + DokkaGenerator( + DokkaGradleLogger(logger), + classpath.map { it.absolutePath }, + sourceDirectories.map { it.absolutePath }, + samples.filterNotNull().map { project.file(it).absolutePath }, + includes.filterNotNull().map { project.file(it).absolutePath }, + moduleName, + DocumentationOptions(outputDirectory, outputFormat, + sourceLinks = linkMappings.map { SourceLinkDefinition(project.file(it.dir).absolutePath, it.url, it.suffix) }, + jdkVersion = jdkVersion) + ).generate() + } + + fun getSourceDirectories(): Collection { + val provider = sdkProvider + val sourceDirs = if (sourceDirs.any()) { + logger.info("Dokka: Taking source directories provided by the user") + sourceDirs.toSet() + } else if (provider != null && provider.isValid) { + logger.info("Dokka: Taking source directories from ${provider.name} sdk provider") + provider.sourceDirs + } else { + logger.info("Dokka: Taking source directories from default java plugin") + val javaPluginConvention = project.convention.getPlugin(JavaPluginConvention::class.java) + val sourceSets = javaPluginConvention.sourceSets?.findByName(SourceSet.MAIN_SOURCE_SET_NAME) + sourceSets?.allSource?.srcDirs + } + + return sourceDirs?.filter { it.exists() } ?: emptyList() + } + + @InputFiles + @SkipWhenEmpty + fun getInputFiles(): FileCollection = + project.files(getSourceDirectories().map { project.fileTree(it) }) + + project.files(includes) + + project.files(samples.map { project.fileTree(it) }) + + @OutputDirectory + fun getOutputDirectoryAsFile(): File = project.file(outputDirectory) +} + +open class LinkMapping : Serializable { + var dir: String = "" + var url: String = "" + var suffix: String? = null + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other?.javaClass != javaClass) return false + + other as LinkMapping + + if (dir != other.dir) return false + if (url != other.url) return false + if (suffix != other.suffix) return false + + return true + } + + override fun hashCode(): Int { + var result = dir.hashCode() + result = 31 * result + url.hashCode() + result = 31 * result + (suffix?.hashCode() ?: 0) + return result + } + + companion object { + const val serialVersionUID: Long = -8133501684312445981L + } +} + +/** + * A provider for SDKs that can be used if a project uses classes that live outside the JDK or uses a + * different method to determine the source directories. + * + * For example an Android library project configures its sources through the Android extension instead + * of the basic java convention. Also it has its custom classes located in the SDK installation directory. + */ +interface SdkProvider { + /** + * The name of this provider. Only used for logging purposes. + */ + val name: String + + /** + * Checks whether this provider has everything it needs to provide the source directories. + */ + val isValid: Boolean + + /** + * Provides additional classpath files where Dokka should search for external classes. + * The file list is injected **after** JDK Jars and **before** project dependencies. + * + * This is only called if [isValid] returns `true`. + */ + val classpath: List + + /** + * Provides a list of directories where Dokka should search for source files. + * + * This is only called if [isValid] returns `true`. + */ + val sourceDirs: Set? +} diff --git a/runners/gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties b/runners/gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties new file mode 100644 index 00000000..b42cfe9f --- /dev/null +++ b/runners/gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties @@ -0,0 +1 @@ +implementation-class=org.jetbrains.dokka.gradle.DokkaPlugin \ No newline at end of file diff --git a/runners/maven-plugin/build.gradle b/runners/maven-plugin/build.gradle new file mode 100644 index 00000000..c0b9df2e --- /dev/null +++ b/runners/maven-plugin/build.gradle @@ -0,0 +1,80 @@ + +apply plugin: 'kotlin' +apply plugin: 'com.github.johnrengelman.shadow' + + +configurations { + provided +} + +tasks.withType(AbstractCompile) { + classpath += configurations.provided + classpath += configurations.shadow +} + +dependencies { + shadow project(":runners:fatjar") + shadow "org.apache.maven:maven-core:$maven_version" + shadow "org.apache.maven:maven-model:$maven_version" + shadow "org.apache.maven:maven-plugin-api:$maven_version" + shadow "org.apache.maven:maven-archiver:$maven_archiver_version" + shadow "org.codehaus.plexus:plexus-utils:$plexus_utils_version" + shadow "org.codehaus.plexus:plexus-archiver:$plexus_archiver_version" + shadow "org.apache.maven.plugin-tools:maven-plugin-annotations:$maven_plugin_tools_version" +} + +task generatePom << { + final pomTemplate = new File(projectDir, "pom.tpl.xml") + final pom = new File(buildDir, "pom.xml") + pom.text = pomTemplate.text.replace("dokka_version", "$dokka_version") + .replace("", "$maven_version") + .replace("maven-plugin-plugin", "$maven_plugin_tools_version") +} + +task pluginDescriptor(type: Exec) { + workingDir buildDir + commandLine 'mvn', '-e', '-B', 'org.apache.maven.plugins:maven-plugin-plugin:descriptor' +} + +task helpMojo(type: Exec) { + workingDir buildDir + commandLine 'mvn', '-e', '-B', 'org.apache.maven.plugins:maven-plugin-plugin:helpmojo' +} + + +helpMojo.dependsOn generatePom +sourceSets.main.java.srcDir("$buildDir/generated-sources/plugin") +compileJava.dependsOn helpMojo + +pluginDescriptor.dependsOn generatePom + +shadowJar { + baseName = 'dokka-maven-plugin' + classifier = '' + + relocate('kotlin.', 'dokkakotlin.') +} + +shadowJar.dependsOn pluginDescriptor + + +task sourceJar(type: Jar) { + from sourceSets.main.allSource +} + +apply plugin: 'maven-publish' + +publishing { + publications { + dokkaMavenPlugin(MavenPublication) { + from components.shadow + artifactId = 'dokka-maven-plugin' + + artifact sourceJar { + classifier "sources" + } + } + } +} + +bintrayPublication(project, ['dokkaMavenPlugin']) \ No newline at end of file diff --git a/runners/maven-plugin/pom.tpl.xml b/runners/maven-plugin/pom.tpl.xml new file mode 100644 index 00000000..3b5afd74 --- /dev/null +++ b/runners/maven-plugin/pom.tpl.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + org.jetbrains.dokka + dokka-maven-plugin + dokka_version + maven-plugin + + + + + + + org.apache.maven.plugins + maven-plugin-plugin + maven-plugin-plugin + + org.jetbrains.dokka.maven + + + + ./ + classes/main + + diff --git a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt new file mode 100644 index 00000000..899d2dde --- /dev/null +++ b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt @@ -0,0 +1,179 @@ +package org.jetbrains.dokka.maven + +import org.apache.maven.archiver.MavenArchiveConfiguration +import org.apache.maven.archiver.MavenArchiver +import org.apache.maven.execution.MavenSession +import org.apache.maven.plugin.AbstractMojo +import org.apache.maven.plugins.annotations.* +import org.apache.maven.project.MavenProject +import org.apache.maven.project.MavenProjectHelper +import org.jetbrains.dokka.DokkaGenerator +import org.jetbrains.dokka.SourceLinkDefinition +import org.jetbrains.dokka.DocumentationOptions +import org.codehaus.plexus.archiver.Archiver +import org.codehaus.plexus.archiver.jar.JarArchiver +import java.io.File + +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 +} + +abstract class AbstractDokkaMojo : AbstractMojo() { + @Parameter(required = true, defaultValue = "\${project.compileSourceRoots}") + var sourceDirectories: List = emptyList() + + @Parameter + var samplesDirs: List = emptyList() + + @Parameter + @Deprecated("Use instead") + var includeDirs: List = emptyList() + + @Parameter + var includes: List = emptyList() + + @Parameter(required = true, defaultValue = "\${project.compileClasspathElements}") + var classpath: List = emptyList() + + @Parameter + var sourceLinks: Array = emptyArray() + + @Parameter(required = true, defaultValue = "\${project.artifactId}") + var moduleName: String = "" + + @Parameter(required = false, defaultValue = "false") + var skip: Boolean = false + + @Parameter(required = false, defaultValue = "6") + var jdkVersion: Int = 6 + + protected abstract fun getOutDir(): String + protected abstract fun getOutFormat(): String + + override fun execute() { + if (skip) { + log.info("Dokka skip parameter is true so no dokka output will be produced") + return + } + + val gen = DokkaGenerator( + MavenDokkaLogger(log), + classpath, + sourceDirectories, + samplesDirs, + includeDirs + includes, + moduleName, + DocumentationOptions(getOutDir(), getOutFormat(), + sourceLinks = sourceLinks.map { SourceLinkDefinition(it.dir, it.url, it.urlSuffix) }, + jdkVersion = jdkVersion + ) + ) + + gen.generate() + } +} + +@Mojo(name = "dokka", defaultPhase = LifecyclePhase.PRE_SITE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) +class DokkaMojo : AbstractDokkaMojo() { + @Parameter(required = true, defaultValue = "html") + var outputFormat: String = "html" + + @Parameter(required = true, defaultValue = "\${project.basedir}/target/dokka") + var outputDir: String = "" + + override fun getOutFormat() = outputFormat + override fun getOutDir() = outputDir +} + +@Mojo(name = "javadoc", defaultPhase = LifecyclePhase.PRE_SITE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) +class DokkaJavadocMojo : AbstractDokkaMojo() { + @Parameter(required = true, defaultValue = "\${project.basedir}/target/dokkaJavadoc") + var outputDir: String = "" + + override fun getOutFormat() = "javadoc" + override fun getOutDir() = outputDir +} + +@Mojo(name = "javadocJar", defaultPhase = LifecyclePhase.PRE_SITE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) +class DokkaJavadocJarMojo : AbstractDokkaMojo() { + @Parameter(required = true, defaultValue = "\${project.basedir}/target/dokkaJavadocJar") + var outputDir: String = "" + + /** + * Specifies the directory where the generated jar file will be put. + */ + @Parameter(property = "project.build.directory") + private var jarOutputDirectory: String? = null + + /** + * Specifies the filename that will be used for the generated jar file. Please note that `-javadoc` + * or `-test-javadoc` will be appended to the file name. + */ + @Parameter(property = "project.build.finalName") + private var finalName: String? = null + + /** + * Specifies whether to attach the generated artifact to the project helper. + */ + @Parameter(property = "attach", defaultValue = "true") + private val attach: Boolean = false + + /** + * The archive configuration to use. + * See [Maven Archiver Reference](http://maven.apache.org/shared/maven-archiver/index.html) + */ + @Parameter + private val archive = MavenArchiveConfiguration() + + @Parameter(property = "maven.javadoc.classifier", defaultValue = "javadoc", required = true) + private var classifier: String? = null + + @Parameter(defaultValue = "\${session}", readonly = true, required = true) + protected var session: MavenSession? = null + + @Parameter(defaultValue = "\${project}", readonly = true, required = true) + protected var project: MavenProject? = null + + @Component + private var projectHelper: MavenProjectHelper? = null + + @Component(role = Archiver::class, hint = "jar") + private var jarArchiver: JarArchiver? = null + + override fun getOutFormat() = "javadoc" + override fun getOutDir() = outputDir + + override fun execute() { + super.execute() + if(!File(outputDir).exists()) { + log.warn("No javadoc generated so no javadoc jar will be generated") + return + } + val outputFile = generateArchive("$finalName-$classifier.jar") + if (attach) { + projectHelper?.attachArtifact(project, "javadoc", classifier, outputFile) + } + } + + private fun generateArchive(jarFileName: String): File { + val javadocJar = File(jarOutputDirectory, jarFileName) + + val archiver = MavenArchiver() + archiver.setArchiver(jarArchiver) + archiver.setOutputFile(javadocJar) + archiver.archiver.addDirectory(File(outputDir), arrayOf("**/**"), arrayOf()) + + archive.setAddMavenDescriptor(false) + archiver.createArchive(session, project, archive) + + return javadocJar + } +} + diff --git a/runners/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt b/runners/maven-plugin/src/main/kotlin/MavenDokkaLogger.kt new file mode 100644 index 00000000..a535c807 --- /dev/null +++ b/runners/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 + +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 diff --git a/settings.gradle b/settings.gradle index 5f59e822..4ffd0211 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include 'core', 'dokka-gradle-plugin', 'dokka-android-gradle-plugin' +include 'core', 'runners:fatjar', 'runners:ant', 'runners:cli', 'runners:maven-plugin', 'runners:gradle-plugin', 'runners:android-gradle-plugin' -- cgit