View MainActivity.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.morfly.helloworld; | |
import android.app.Activity; | |
import android.os.Bundle; | |
public class MainActivity extends Activity { | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); |
View activity_main.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent"> | |
<TextView | |
android:id="@+id/text" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_gravity="center" |
View AndroidManifest.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="com.morfly.helloworld"> | |
<application android:label="Bazel Android Hello World"> | |
<activity android:name=".MainActivity"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN" /> | |
<category android:name="android.intent.category.LAUNCHER" /> |
View BUILD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
android_binary( | |
name = "app", | |
custom_package = "com.morfly.helloworld", | |
manifest = "AndroidManifest.xml", | |
srcs = ["java/com/morfly/helloworld/MainActivity.java"], | |
resource_files = glob(["res/**"]), | |
) |
View WORKSPACE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
android_sdk_repository( | |
name = "androidsdk" | |
) |
View WORKSPACE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
android_sdk_repository( | |
name = "androidsdk", | |
path = "/path/to/Android/sdk", | |
) |
View FunctionProcessor.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class FunctionProcessor(...) : SymbolProcessor { | |
override fun process(resolver: Resolver): List<KSAnnotated> { | |
val symbols = resolver | |
.getSymbolsWithAnnotation("com.morfly.Function") | |
.filterIsInstance<KSClassDeclaration>() | |
if (!symbols.iterator().hasNext()) return emptyList() | |
} | |
} |
View FunctionProcessor.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class FunctionProcessor(...) : SymbolProcessor { | |
override fun process(resolver: Resolver): List<KSAnnotated> { | |
... | |
val file: OutputStream = codeGenerator.createNewFile( | |
// Make sure to associate the generated file with sources to keep/maintain it across incremental builds. | |
// Learn more about incremental processing in KSP from the official docs: | |
// https://kotlinlang.org/docs/ksp-incremental.html | |
dependencies = Dependencies(false, *resolver.getAllFiles().toList().toTypedArray()), |
View FunctionProcessor.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class FunctionProcessor(...) : SymbolProcessor { | |
operator fun OutputStream.plusAssign(str: String) { | |
this.write(str.toByteArray()) | |
} | |
override fun process(resolver: Resolver): List<KSAnnotated> { ... } | |
} |
View FunctionProcessor.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class FunctionProcessor(...) : SymbolProcessor { | |
override fun process(resolver: Resolver): List<KSAnnotated> { | |
... | |
symbols.forEach { it.accept(Visitor(file), Unit) } | |
file.close() | |
val unableToProcess = symbols.filterNot { it.validate() }.toList() | |
return unableToProcess |
OlderNewer