Support kotlin-android-sdk-annotations in gradle plugin
This commit is contained in:
+28
-25
@@ -1,29 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root>
|
||||
<item name="org.gradle.api.NamedDomainObjectCollection T getByName(java.lang.String)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Plugin void apply(T)">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun apply(p0 : T) : Unit"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.file.ConfigurableFileCollection files(java.lang.Object...)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.initialization.dsl.ScriptHandler getBuildscript()">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun getBuildscript() : ScriptHandler"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.logging.Logger getLogger()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.plugins.Convention getConvention()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.plugins.PluginContainer getPlugins()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.NamedDomainObjectCollection T getByName(java.lang.String)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Plugin void apply(T)">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun apply(p0 : T) : Unit"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.file.ConfigurableFileCollection files(java.lang.Object...)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.initialization.dsl.ScriptHandler getBuildscript()">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun getBuildscript() : ScriptHandler"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.logging.Logger getLogger()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.plugins.Convention getConvention()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name='org.gradle.api.Project org.gradle.api.plugins.ExtensionContainer getExtensions()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.plugins.PluginContainer getPlugins()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
</root>
|
||||
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
<root>
|
||||
<item name='org.gradle.api.artifacts.Configuration org.gradle.api.artifacts.ResolvedConfiguration getResolvedConfiguration()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='org.gradle.api.artifacts.ConfigurationContainer org.gradle.api.artifacts.Configuration detachedConfiguration(org.gradle.api.artifacts.Dependency...)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
</root>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<root>
|
||||
<item name='org.gradle.api.artifacts.dsl.DependencyHandler org.gradle.api.artifacts.Dependency create(java.lang.Object)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
</root>
|
||||
+3
@@ -4,4 +4,7 @@
|
||||
<val name="value" val=""fun getConfigurations() : ConfigurationContainer""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='org.gradle.api.initialization.dsl.ScriptHandler org.gradle.api.artifacts.dsl.DependencyHandler getDependencies()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
</root>
|
||||
+29
@@ -33,6 +33,10 @@ import com.android.builder.model.BuildType
|
||||
import com.android.builder.BuilderConstants
|
||||
import com.android.build.gradle.api.TestVariant
|
||||
import org.gradle.api.plugins.JavaPlugin
|
||||
import org.gradle.api.artifacts.dsl.DependencyHandler
|
||||
import org.gradle.api.artifacts.ConfigurationContainer
|
||||
import org.gradle.api.artifacts.Dependency
|
||||
import java.util.HashSet
|
||||
|
||||
open class KotlinPlugin: Plugin<Project> {
|
||||
|
||||
@@ -44,6 +48,9 @@ open class KotlinPlugin: Plugin<Project> {
|
||||
|
||||
configureSourceSetDefaults(project as ProjectInternal, javaBasePlugin, javaPluginConvention)
|
||||
configureKDoc(project, javaPluginConvention)
|
||||
|
||||
val version = project.getProperties()!!.get("kotlin.gradle.plugin.version") as String
|
||||
project.getExtensions().add(KotlinCompile.DEFAULT_ANNOTATIONS, GradleUtils.resolveDependencies(project, "org.jetbrains.kotlin:kotlin-jdk-annotations:$version"))
|
||||
}
|
||||
|
||||
|
||||
@@ -159,6 +166,9 @@ open class KotlinAndroidPlugin: Plugin<Project> {
|
||||
}
|
||||
|
||||
})
|
||||
val version = project.getProperties()!!.get("kotlin.gradle.plugin.version") as String
|
||||
project.getExtensions().add(KotlinCompile.DEFAULT_ANNOTATIONS, GradleUtils.resolveDependencies(project, "org.jetbrains.kotlin:kotlin-jdk-annotations:$version",
|
||||
"org.jetbrains.kotlin:kotlin-android-sdk-annotations:$version"));
|
||||
}
|
||||
|
||||
private fun processVariants(variants: DefaultDomainObjectSet<out BaseVariant>, project: Project, androidExt: BaseExtension): Unit {
|
||||
@@ -258,3 +268,22 @@ open class KSpec<T: Any?>(val predicate: (T) -> Boolean): Spec<T> {
|
||||
return p0 != null && predicate(p0)
|
||||
}
|
||||
}
|
||||
|
||||
open class GradleUtils() {
|
||||
class object {
|
||||
public fun resolveDependencies(project: Project, vararg coordinates: String): Collection<File> {
|
||||
val dependencyHandler : DependencyHandler = project.getBuildscript().getDependencies()
|
||||
val configurationsContainer : ConfigurationContainer = project.getBuildscript().getConfigurations()
|
||||
|
||||
val deps = HashSet<Dependency>()
|
||||
for (coordinate in coordinates) {
|
||||
deps.add(dependencyHandler.create(coordinate))
|
||||
}
|
||||
val array : Array<Dependency?> = deps.toArray(Array<Dependency?>(deps.size(),{null}))
|
||||
val configuration = configurationsContainer.detachedConfiguration(*array)
|
||||
|
||||
return configuration.getResolvedConfiguration().getFiles(KSpec({ dep -> true }))!!
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+11
-12
@@ -27,6 +27,10 @@ import org.apache.commons.io.FileUtils
|
||||
|
||||
public open class KotlinCompile(): AbstractCompile() {
|
||||
|
||||
class object {
|
||||
val DEFAULT_ANNOTATIONS = "org.jebrains.kotlin.gradle.defaultAnnotations"
|
||||
}
|
||||
|
||||
val srcDirsRoots = HashSet<File>()
|
||||
val compiler = K2JVMCompiler()
|
||||
val logger = Logging.getLogger(getClass())
|
||||
@@ -105,7 +109,7 @@ public open class KotlinCompile(): AbstractCompile() {
|
||||
|
||||
val embeddedAnnotations = getAnnotations()
|
||||
val userAnnotations = (kotlinOptions.annotations ?: "").split(File.pathSeparatorChar).toList()
|
||||
val allAnnotations = if (kotlinOptions.noJdkAnnotations) userAnnotations else userAnnotations.plus(embeddedAnnotations.getPath())
|
||||
val allAnnotations = if (kotlinOptions.noJdkAnnotations) userAnnotations else userAnnotations.plus(embeddedAnnotations.map {it.getPath()})
|
||||
args.annotations = allAnnotations.makeString(File.pathSeparator)
|
||||
|
||||
args.noStdlib = true
|
||||
@@ -124,19 +128,14 @@ public open class KotlinCompile(): AbstractCompile() {
|
||||
FileUtils.copyDirectory(kotlinDestinationDir, getDestinationDir())
|
||||
}
|
||||
|
||||
fun getAnnotations(): File {
|
||||
val configuration = getProject()
|
||||
.getBuildscript()
|
||||
.getConfigurations()
|
||||
.getByName(ScriptHandler.CLASSPATH_CONFIGURATION)!!
|
||||
fun getAnnotations(): Collection<File> {
|
||||
val annotations = getProject().getExtensions().getByName(DEFAULT_ANNOTATIONS) as Collection<File>
|
||||
|
||||
val jdkAnnotationsFromClasspath = configuration.find { it.name.startsWith("kotlin-jdk-annotations") }
|
||||
|
||||
if (jdkAnnotationsFromClasspath != null) {
|
||||
logger.info("using jdk annontations from [${jdkAnnotationsFromClasspath.getAbsolutePath()}]")
|
||||
return jdkAnnotationsFromClasspath
|
||||
if (!annotations.isEmpty()) {
|
||||
logger.info("using default annontations from [${annotations.map {it.getPath()}}]")
|
||||
return annotations
|
||||
} else {
|
||||
throw GradleException("kotlin-jdk-annotations not found in Kotlin gradle plugin classpath")
|
||||
throw GradleException("Default annotations not found in Kotlin gradle plugin classpath")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-3
@@ -30,11 +30,12 @@ class BasicKotlinGradleIT {
|
||||
Test fun testSimpleCompile() {
|
||||
val projectDir = File(workingDir, "alfa")
|
||||
|
||||
val pathToKotlinPlugin = "-PpathToKotlinPlugin=" + File("local-repo").getAbsolutePath()
|
||||
val pathToKotlinPlugin = "-PpathToKotlinPlugin=${File("local-repo").getAbsolutePath()}"
|
||||
val version = "-Pkotlin.gradle.plugin.version=0.1-SNAPSHOT"
|
||||
val cmd = if (SystemInfo.isWindows)
|
||||
listOf("cmd", "/C", "gradlew.bat", "compileDeployKotlin", "build", pathToKotlinPlugin, "--no-daemon", "--debug")
|
||||
listOf("cmd", "/C", "gradlew.bat", "compileDeployKotlin", "build", pathToKotlinPlugin, version, "--no-daemon", "--debug")
|
||||
else
|
||||
listOf("/bin/bash", "./gradlew", "compileDeployKotlin", "build", pathToKotlinPlugin, "--no-daemon", "--debug")
|
||||
listOf("/bin/bash", "./gradlew", "compileDeployKotlin", "build", pathToKotlinPlugin, version, "--no-daemon", "--debug")
|
||||
|
||||
val builder = ProcessBuilder(cmd)
|
||||
builder.directory(projectDir)
|
||||
|
||||
+27
-13
@@ -1,18 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root>
|
||||
<item name='org.gradle.api.Plugin void apply(T)'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun apply(p0 : T) : Unit""/>
|
||||
</annotation>
|
||||
<item name="org.gradle.api.NamedDomainObjectCollection T getByName(java.lang.String)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name='org.gradle.api.Project org.gradle.api.plugins.PluginContainer getPlugins()'>
|
||||
<item name="org.gradle.api.Plugin void apply(T)">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun apply(p0 : T) : Unit"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.file.ConfigurableFileCollection files(java.lang.Object...)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.initialization.dsl.ScriptHandler getBuildscript()">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun getBuildscript() : ScriptHandler"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.logging.Logger getLogger()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.Project org.gradle.api.plugins.Convention getConvention()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name='org.gradle.api.Project org.gradle.api.plugins.ExtensionContainer getExtensions()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='org.gradle.api.Project org.gradle.api.plugins.Convention getConvention()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<item name="org.gradle.api.Project org.gradle.api.plugins.PluginContainer getPlugins()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name='org.gradle.api.Project org.gradle.api.initialization.dsl.ScriptHandler getBuildscript()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getBuildscript() : ScriptHandler""/>
|
||||
</annotation>
|
||||
</item>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
|
||||
+3
@@ -2,4 +2,7 @@
|
||||
<item name='org.gradle.api.artifacts.Configuration org.gradle.api.artifacts.ResolvedConfiguration getResolvedConfiguration()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='org.gradle.api.artifacts.ConfigurationContainer org.gradle.api.artifacts.Configuration detachedConfiguration(org.gradle.api.artifacts.Dependency...)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
</root>
|
||||
+3
@@ -2,4 +2,7 @@
|
||||
<item name='org.gradle.api.file.FileCollection org.gradle.api.file.FileCollection filter(org.gradle.api.specs.Spec<? super java.io.File>)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='org.gradle.api.file.SourceDirectorySet java.util.Set<java.io.File> getSrcDirs()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
</root>
|
||||
+1
-3
@@ -5,8 +5,6 @@
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='org.gradle.api.initialization.dsl.ScriptHandler org.gradle.api.artifacts.dsl.DependencyHandler getDependencies()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getDependencies() : DependencyHandler""/>
|
||||
</annotation>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
</root>
|
||||
+16
-14
@@ -1,15 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root>
|
||||
<item name='org.gradle.api.internal.HasConvention org.gradle.api.plugins.Convention getConvention()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getConvention() : Convention""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='org.gradle.api.internal.AbstractTask org.gradle.api.logging.Logger getLogger()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='org.gradle.api.internal.AbstractTask org.gradle.api.Project getProject()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getProject() : Project""/>
|
||||
</annotation>
|
||||
</item>
|
||||
</root>
|
||||
<item name="org.gradle.api.internal.AbstractTask org.gradle.api.Project getProject()">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun getProject() : Project"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.internal.AbstractTask org.gradle.api.logging.Logger getLogger()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.internal.HasConvention org.gradle.api.plugins.Convention getConvention()">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun getConvention() : Convention"" />
|
||||
</annotation>
|
||||
</item>
|
||||
</root>
|
||||
|
||||
|
||||
+26
-21
@@ -1,22 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root>
|
||||
<item name='org.gradle.api.plugins.Convention java.util.Map<java.lang.String,java.lang.Object> getPlugins()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getPlugins() : MutableMap<String, Any>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='org.gradle.api.plugins.Convention org.gradle.api.internal.DynamicObject getExtensionsAsDynamicObject()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getExtensionsAsDynamicObject() : DynamicObject""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='org.gradle.api.plugins.PluginContainer org.gradle.api.Plugin apply(java.lang.String)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='org.gradle.api.plugins.PluginContainer T apply(java.lang.Class<T>)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='org.gradle.api.plugins.Convention T getPlugin(java.lang.Class<T>)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
</root>
|
||||
<item name="org.gradle.api.plugins.Convention T getPlugin(java.lang.Class<T>)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.plugins.Convention java.util.Map<java.lang.String,java.lang.Object> getPlugins()">
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun getPlugins() : MutableMap<String, Any>"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.plugins.Convention org.gradle.api.internal.DynamicObject getExtensionsAsDynamicObject()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
<annotation name="jet.runtime.typeinfo.KotlinSignature">
|
||||
<val name="value" val=""fun getExtensionsAsDynamicObject() : DynamicObject"" />
|
||||
</annotation>
|
||||
</item>
|
||||
<item name="org.gradle.api.plugins.ExtensionAware org.gradle.api.plugins.ExtensionContainer getExtensions()">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.plugins.PluginContainer T apply(java.lang.Class<T>)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
<item name="org.gradle.api.plugins.PluginContainer org.gradle.api.Plugin apply(java.lang.String)">
|
||||
<annotation name="org.jetbrains.annotations.NotNull" />
|
||||
</item>
|
||||
</root>
|
||||
|
||||
|
||||
@@ -25,11 +25,6 @@
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-jdk-annotations</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>gradle-api</artifactId>
|
||||
@@ -91,6 +86,8 @@
|
||||
<postBuildHookScript>verify</postBuildHookScript> <!-- no extension required -->
|
||||
<extraArtifacts>
|
||||
<extraArtifact>org.jetbrains.kotlin:kotlin-gradle-plugin-core:${project.version}</extraArtifact>
|
||||
<extraArtifact>org.jetbrains.kotlin:kotlin-jdk-annotations:${project.version}</extraArtifact>
|
||||
<extraArtifact>org.jetbrains.kotlin:kotlin-android-sdk-annotations:${project.version}</extraArtifact>
|
||||
</extraArtifacts>
|
||||
</configuration>
|
||||
<executions>
|
||||
|
||||
+4
-3
@@ -12,7 +12,7 @@ import org.gradle.api.logging.Logging
|
||||
import java.util.Properties
|
||||
import java.io.FileNotFoundException
|
||||
|
||||
open abstract class KotlinBasePluginWrapper: Plugin<Project> {
|
||||
abstract class KotlinBasePluginWrapper: Plugin<Project> {
|
||||
|
||||
val log = Logging.getLogger(getClass())!!
|
||||
|
||||
@@ -31,8 +31,9 @@ open abstract class KotlinBasePluginWrapper: Plugin<Project> {
|
||||
|
||||
props.load(inputStream);
|
||||
|
||||
val projectVersion = props.get("project.version")
|
||||
log.debug("Found project version [" + projectVersion + "]")
|
||||
val projectVersion = props.get("project.version") as String
|
||||
log.debug("Found project version [$projectVersion]")
|
||||
project.getExtensions().getExtraProperties()?.set("kotlin.gradle.plugin.version", projectVersion)
|
||||
|
||||
log.debug("Creating configuration and dependency")
|
||||
val kotlinPluginCoreCoordinates = "org.jetbrains.kotlin:kotlin-gradle-plugin-core:" + projectVersion
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ open class MainActivity2: Activity() {
|
||||
|
||||
var next: Button = findViewById(R.id.Button02) as Button
|
||||
next.setOnClickListener(object: View.OnClickListener {
|
||||
public override fun onClick(view: View?): Unit {
|
||||
public override fun onClick(view: View): Unit {
|
||||
val intent: Intent = Intent()
|
||||
setResult(Activity.RESULT_OK, intent)
|
||||
finish()
|
||||
|
||||
Reference in New Issue
Block a user