Commit Graph

1865 Commits

Author SHA1 Message Date
Sergey Igushkin 546a26a4cd Fix Kapt task depending on compileKotlin because of incorrect filtering
of compileJava dependencies

(cherry picked from commit 9a2c3b0)
2017-05-31 16:59:02 +03:00
Alexey Tsvetkov 95d3d3057a Update gradle wrapper permissions
It was not executable on linux
2017-05-31 16:59:02 +03:00
Sergey Igushkin a82c0c843e Use the Google Maven repository instead of local preview.
(cherry picked from commit 4279335)

(cherry picked from commit 0e8b850)
2017-05-31 16:59:02 +03:00
Sergey Igushkin edd22310c0 (minor) Fix missing dependency on JUnit
(cherry picked from commit 7ad5d04)
2017-05-31 16:59:02 +03:00
Sergey Igushkin 1bc0e8a276 Fix friend paths configuration with the new API for compile*Test tasks
Add lazy `friendClasspathEntries` to KotlinCompile
Set `friendClasspathEntries` in the Android25Pro
Change to AGP 3.0.0-alpha1;

(cherry picked from commit 1d6dd5c)

(cherry picked from commit 6cdf501)
2017-05-31 16:59:02 +03:00
Sergey Igushkin 7fae7c1d55 Fix registering the non-existent Kapt3 classes directory as bytecode if
Kapt3 is disabled.

(cherry picked from commit 692e23c)

(cherry picked from commit 1cbdb6c)
2017-05-31 16:59:02 +03:00
Sergey Igushkin 77031ab6f9 Change the legacy API threshold to 2.5.0
(cherry picked from commit fca2e23)

(cherry picked from commit 9394d15)
2017-05-31 16:59:02 +03:00
Sergey Igushkin d2a08c5fe4 Tasks wiring improvements & Kapt3 integration through variant wrapping 2017-05-31 16:59:02 +03:00
Sergey Igushkin b0c2c4eba9 Task wiring
* Generalized tasks wiring
* Moved the old implementation to LegacyAndroidAndroidProjectHandler.kt
* Added an implementation with the new AGP API

(cherry picked from commit 1b4592d)

(cherry picked from commit 50a75d4)
2017-05-31 16:59:02 +03:00
Sergey Igushkin eb71dee9cc Add prototype against the new AGP API
* Add a separate Gradle source set, that is compiled against the new
  versions of AGP and Gradle

* Separate the public AGP API usages from the old internal API usages
  in KotlinPlugin.kt -- see AbstractAndroidProjectHandler

* Implement Android25ProjectHandler with the new AGP API, wired it
  to KotlinAndroidPlugin through reflection

(cherry picked from commit e6dbf54)

(cherry picked from commit 88e3d4b)
2017-05-31 16:59:02 +03:00
Alexey Tsvetkov fd9e42a233 Do not print OUTPUT message as warning in Maven
Before the change Maven + IC had been reporting OUTPUT
messages as warnings since OUTPUT was removed
from CompilerMessageSeverity.VERBOSE
2017-05-26 15:16:41 +03:00
Ilya Chernikov f00149ad05 Reuse daemon launching logic for out-of-process compilation in gradle 2017-05-24 10:52:36 +02:00
Denis Zharkov 970dfd10d4 Update rendered public API for coroutines
suspendCoroutine is not public anymore as it's inline
and all inline suspend functions are treated as inline-only,
i.e. private in JVM
2017-05-23 18:45:33 +03:00
Yan Zhulanow 18e17a4400 Android Extensions: Remove obsolete migration warning in Gradle plugin 2017-05-23 16:45:24 +03:00
Denis Zharkov eedc35aefd Drop new coroutine-related API introduced in 1.1.4
See 49453ca705 for clarification

 #KT-17898 Fixed
2017-05-22 14:51:04 +03:00
Ilya Gorbunov fec8f4a48b preparePublication task requires project version to be set 2017-05-19 05:37:58 +03:00
baratynskiy 09e4ea55c7 kotlin-maven-plugin: add tools.jar dependency if -Xuse-javac is specified 2017-05-17 17:48:47 +03:00
Sergey Igushkin 74288ff8ae Fix main and test compilation tasks having different module name in
free compiler args.
2017-05-16 17:35:45 +03:00
Denis Zharkov 57cb556efd Update rendered public API in coroutines package
- suspendCoroutine is not public anymore, since all of the
inline functions are generated as private
- `label` is public to allow update it from the named functions
2017-05-16 11:38:59 +03:00
Sergey Mashkov fd0578b564 KT-10028 Support parallel builds in maven
Mark mojo's as thread safe as users confirmed that all related errors
seem to be fixed
2017-05-15 12:55:33 +03:00
Sergey Igushkin 7097246866 Unify build output with Maven
* Added manifest properties to `gradle-tools` projects.
* Add `-kotlin-module` to free compiler args to make the module names
  match the ones in Maven build
* Fixed path to the Groovy sources in `kotlin-gradle-plugin/pom.xml`
2017-05-10 20:15:08 +03:00
Sergey Igushkin 7030b89b7c Fix rootDir mis-use in commonConfiguration.gradle:
replace with `kotlin_root`, that is set in the projects
2017-05-10 20:03:26 +03:00
Sergey Igushkin c3ae37c6ce Gradle build fixes & improvements:
* Fix Java not compiled in kotlin-gradle-plugin Kotlin source set
* Fix the integration tests running under Java 6
* Fix kotlin-gradle-subplugin-example not being installed -- needed
  for a test
* Fix Android tests being always excluded
* Move versions out of `build.gradle` (x2) to a common `versions.gradle`
* Move JDK, dist and bootstrap to `commonConfiguration.gradle`
* Build `kotlin-gradle-plugin` with JDK_18
2017-05-10 20:03:26 +03:00
Sergey Igushkin 8e65b5f2c8 Gradle plugins migration to Gradle build
* Add gradle-tools subproject
* Add Gradle buildscripts to the related projects
* Remove the projects from the libraries pom.xml
* Move AndroidGradleWrapper.groovy to separate source root
* Changed artifact dependencies to project dependencies where needed
* Extract common configuration into commonConfiguration.gradle
* (convert functions to closures to be able to call them)
* Refactor DSL usage
* Replace `project.properties` with `findProperty`
* Unify Gradle wrapper between `libraries` and `gradle-tools`
(as a temporary solution, just made the wrapper files the same)
2017-05-10 20:03:26 +03:00
Ilya Gorbunov 720e6ecdb6 kotlin.language.version property no longer used in maven build 2017-05-05 21:56:56 +03:00
Alexey Tsvetkov e25060f8c9 Make closing artifact difference registry more robust
KT-16298
2017-05-05 18:42:33 +03:00
Alexey Tsvetkov b504f1eb45 Add test for KT-16298 2017-05-05 18:42:29 +03:00
Jonathan Leitschuh 0ed4b7f58a Avoid flushing cache removed by clean
#KT-16298 fixed
2017-05-05 18:42:24 +03:00
Ilya Gorbunov 180233b78e binary-compatibility-validator: use project version to disambiguate artifacts 2017-05-05 18:01:02 +03:00
Ilya Gorbunov 2792dbf988 Import for buildSequence in generated code for sequences 2017-05-05 18:01:02 +03:00
Alexey Tsvetkov 6b956b3746 Fix exception "Unknown CompilerMessageSeverity: OUTPUT"
`CompilerMessageSeverity.OUTPUT` was removed from the enum set
`CompilerMessageSeverity.VERBOSE` in the commit d8d3bafbe9,
so `GradleMessageCollector` started to throw the exception.

    #KT-17711 fixed
2017-05-04 23:03:16 +03:00
Anton Bannykh 2e9a59819a JS: support internal visibility from friend modules
Friend modules should be provided using the -Xfriend-modules flag
in the same format as -libraries. No manual configuration required for
JPS, Gradle and Maven plugins.

Friend modules could be switched off using the -Xfriend-modules-disabled
flag. Doing that will
  * prevent internal declarations from being exported,
  * values provided by -Xfriend-modules ignored,
  * raise a compilation error on attemps to use internal declarations from other modules

Fixes #KT-15135 and #KT-16568.
2017-05-04 21:44:17 +03:00
Alexey Tsvetkov f8b785fc31 Test that Kapt3 IC removes stubs for dirty source files 2017-05-04 19:59:29 +03:00
Yan Zhulanow 19c00abc62 Kapt3: Avoid annotation processing execution when possible (KT-17620)
Do not execute annotation processing if no stubs (and Java files) were changed since the previous execution.
2017-05-04 19:59:16 +03:00
Yan Zhulanow c8d7c339cf Kapt3: Modify kapt incremental tests in order to support kapt3 2017-05-04 19:00:43 +03:00
Yan Zhulanow c18bf5088d Kapt3: Support incremental compilation of Java stubs (KT-15151) 2017-05-04 19:00:42 +03:00
Yan Zhulanow eba5baa7ff Kapt3: Add Maven integration test 2017-05-04 18:46:41 +03:00
Ilya Gorbunov ef72371fd7 Add samples for contentToString and contentDeepToString array operations 2017-05-03 17:44:30 +03:00
Marek Langiewicz 934b0b8c38 Fix List.takeLast for lists without RandomAccess 2017-05-03 16:38:15 +02:00
Alexander Udalov 0624854d5a Fix compilation of kotlin-gradle-plugin
The "ClassReader(InputStream)" constructor is stripped from
kotlin-compiler by proguard, so use the "ClassReader(ByteArray)"
constructor instead
2017-04-29 18:43:58 +03:00
Alexander Udalov e79fdbe5e8 Gradle: print version loaded from environment's compiler jar
And not from the KotlinCompilerVersion class that is accessible in the
current version of kotlin-gradle-plugin, because the version of the
compiler might be different
2017-04-28 20:56:14 +03:00
Alexander Udalov fcf44af294 Change how kotlinc and tools display their version
- Display the Kotlin version in kotlin-gradle-plugin. This is needed
  because if "-version" is specified in compiler arguments, the "info"
  level of the message printed by the compiler in CLICompiler prevents
  it from being displayed by default (unless "--debug" is passed to
  Gradle).
- Display the version of JRE the compiler is running on. This will be
  helpful to diagnose Java 9 related issues in the future.
- In CLI, also display the executable name (kotlinc-jvm or kotlinc-js)
2017-04-28 20:49:54 +03:00
Alexander Udalov 5bd3716637 Fix compilation of kotlin-maven-plugin and kotlin-script-util 2017-04-28 16:31:11 +03:00
Ilya Gorbunov 8d0eb207e3 Do not hardcode kotlin version in one of maven integration tests 2017-04-27 23:35:18 +03:00
Ilya Gorbunov a50c2ff0a5 Upgrade kotlin gradle plugin used to build libraries to 1.1.2 2017-04-27 21:59:46 +03:00
Yan Zhulanow 20e362e363 Kapt3: Do not generate "options not recognized" for "kapt.kotlin.generated" option (KT-17418)
"kapt.kotlin.generated" AP option is always present (and it's the way to say the arbitrary processors about the target directory for generated Kotlin source files).
In this commit, the "fake" empty annotation processor is added to consume the option if no other processor does it.
2017-04-27 18:52:09 +03:00
Ilya Chernikov c91a3f8bf0 Add sam-with-receiver and source-sections compiler plugins to maven
rename source-sections compiler plugin jar in the dist (add kotlin- prefix),
according to the agreed naming scheme for the artefacts. (The renaming of the
other plugins should follow.)
in addition configure proguard to retain VirtualFile members, since they
are used in the source-sections plugin
2017-04-19 15:22:15 +02:00
Sergey Igushkin 2360d5f330 Changed to prepending annotation processor path instead of appending it
to classpath and existing annotation processors.
2017-04-19 16:06:55 +03:00
Ilya Gorbunov 37c3d8f204 Sort out warnings related to inline and library functions in stdlib-js 2017-04-18 18:51:20 +03:00
Ilya Gorbunov f22375601b Remove unneeded suppressions 2017-04-18 12:47:11 +03:00