Make jars with JDK/Android SDK annotations empty
- Compiler use them only for getting parameter names and we are OK to drop it - IDE plugin can use jdkAnnotations from ideaSDK
This commit is contained in:
@@ -600,11 +600,27 @@
|
|||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="jdk-annotations">
|
<target name="jdk-annotations">
|
||||||
<copy file="dependencies/annotations/kotlin-jdk-annotations.jar" todir="${kotlin-home}/lib"/>
|
<jar destfile="${kotlin-home}/lib/kotlin-jdk-annotations.jar">
|
||||||
|
<manifest>
|
||||||
|
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
|
||||||
|
|
||||||
|
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
|
||||||
|
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.jdk.annotations}"/>
|
||||||
|
<attribute name="Implementation-Version" value="${build.number}"/>
|
||||||
|
</manifest>
|
||||||
|
</jar>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="android-sdk-annotations">
|
<target name="android-sdk-annotations">
|
||||||
<copy file="dependencies/annotations/kotlin-android-sdk-annotations.jar" todir="${kotlin-home}/lib"/>
|
<jar destfile="${kotlin-home}/lib/kotlin-android-sdk-annotations.jar">
|
||||||
|
<manifest>
|
||||||
|
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
|
||||||
|
|
||||||
|
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
|
||||||
|
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.android.sdk.annotations}"/>
|
||||||
|
<attribute name="Implementation-Version" value="${build.number}"/>
|
||||||
|
</manifest>
|
||||||
|
</jar>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<macrodef name="new-kotlinc">
|
<macrodef name="new-kotlinc">
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class JdkAnnotationsValidityTest extends AbstractSdkAnnotationsValidityTe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<FqName> getClassesToValidate() throws IOException {
|
protected List<FqName> getClassesToValidate() throws IOException {
|
||||||
return getAffectedClasses("jar://dependencies/annotations/kotlin-jdk-annotations.jar!/");
|
return getAffectedClasses("jar://dist/kotlinc/lib/kotlin-jdk-annotations.jar!/");
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<FqName> getAffectedClasses(String rootUrl) {
|
static List<FqName> getAffectedClasses(String rootUrl) {
|
||||||
|
|||||||
@@ -327,7 +327,7 @@ public class JetTestUtils {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static File getJdkAnnotationsJar() {
|
public static File getJdkAnnotationsJar() {
|
||||||
File jdkAnnotations = new File(getHomeDirectory(), "dependencies/annotations/kotlin-jdk-annotations.jar");
|
File jdkAnnotations = new File(getHomeDirectory(), "dist/kotlinc/lib/kotlin-jdk-annotations.jar");
|
||||||
if (!jdkAnnotations.exists()) {
|
if (!jdkAnnotations.exists()) {
|
||||||
throw new RuntimeException("Kotlin JDK annotations jar not found; please run 'ant dist' to build it");
|
throw new RuntimeException("Kotlin JDK annotations jar not found; please run 'ant dist' to build it");
|
||||||
}
|
}
|
||||||
@@ -336,7 +336,7 @@ public class JetTestUtils {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static File getAndroidSdkAnnotationsJar() {
|
public static File getAndroidSdkAnnotationsJar() {
|
||||||
File androidSdkAnnotations = new File(getHomeDirectory(), "dependencies/annotations/kotlin-android-sdk-annotations.jar");
|
File androidSdkAnnotations = new File(getHomeDirectory(), "dist/kotlinc/lib/kotlin-android-sdk-annotations.jar");
|
||||||
if (!androidSdkAnnotations.exists()) {
|
if (!androidSdkAnnotations.exists()) {
|
||||||
throw new RuntimeException("Kotlin Android SDK annotations jar not found; please run 'ant dist' to build it");
|
throw new RuntimeException("Kotlin Android SDK annotations jar not found; please run 'ant dist' to build it");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,3 +15,6 @@ manifest.impl.title.kotlin.javascript.stdlib=Kotlin JavaScript StdLib
|
|||||||
manifest.spec.title.kotlin.javascript.lib=Kotlin JavaScript Lib
|
manifest.spec.title.kotlin.javascript.lib=Kotlin JavaScript Lib
|
||||||
|
|
||||||
manifest.impl.title.kotlin.preloader=Kotlin Preloader
|
manifest.impl.title.kotlin.preloader=Kotlin Preloader
|
||||||
|
|
||||||
|
manifest.impl.title.kotlin.jdk.annotations=Kotlin Compiler JDK Annotations
|
||||||
|
manifest.impl.title.kotlin.android.sdk.annotations=Kotlin Compiler Android SDK Annotations
|
||||||
|
|||||||
@@ -859,15 +859,13 @@
|
|||||||
</sequential>
|
</sequential>
|
||||||
</macrodef>
|
</macrodef>
|
||||||
|
|
||||||
<target name="fetch-annotations">
|
<!--
|
||||||
<mkdir dir="dependencies/annotations"/>
|
Currently we use empty annotations.
|
||||||
<get
|
Future options are:
|
||||||
src="https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_KAnnotator_InferJdkAnnotations/shipWithKotlin.tcbuildtag/kotlin-jdk-annotations.jar"
|
- Drop the target when will be sure that custom annotations are unneeded
|
||||||
dest="dependencies/annotations/kotlin-jdk-annotations.jar" usetimestamp="true"/>
|
- Fill the target with downloading correct annotations
|
||||||
<get
|
-->
|
||||||
src="https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_KAnnotator_InferJdkAnnotations/shipWithKotlin.tcbuildtag/kotlin-android-sdk-annotations.jar"
|
<target name="fetch-annotations"/>
|
||||||
dest="dependencies/annotations/kotlin-android-sdk-annotations.jar" usetimestamp="true"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="get_android_studio">
|
<target name="get_android_studio">
|
||||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${basedir}/dependencies/ant-contrib.jar"/>
|
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${basedir}/dependencies/ant-contrib.jar"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user