Skip to content

Commit 479ef7d

Browse files
authored
feat(package_info_plus): Add support of built-in Kotlin (#3894)
1 parent 0c9b0ad commit 479ef7d

10 files changed

Lines changed: 85 additions & 31 deletions

File tree

packages/package_info_plus/package_info_plus/android/build.gradle.kts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,15 @@ allprojects {
2424

2525
plugins {
2626
id("com.android.library")
27-
id("kotlin-android")
2827
}
2928

30-
kotlin {
29+
val agpMajor = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.substringBefore('.').toInt()
30+
31+
if (agpMajor < 9) {
32+
apply(plugin = "org.jetbrains.kotlin.android")
33+
}
34+
35+
project.extensions.configure(org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension::class.java) {
3136
compilerOptions {
3237
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
3338
}

packages/package_info_plus/package_info_plus/example/android/app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ kotlin {
1313
android {
1414
namespace = "io.flutter.plugins.packageinfoexample"
1515
compileSdk = flutter.compileSdkVersion
16+
ndkVersion = flutter.ndkVersion
1617

1718
compileOptions {
1819
sourceCompatibility = JavaVersion.VERSION_17
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
org.gradle.jvmargs=-Xmx1536M
22
android.useAndroidX=true
3+
android.newDsl=false
4+
android.builtInKotlin=false

packages/package_info_plus/package_info_plus/example/android/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
33
zipStoreBase=GRADLE_USER_HOME
44
zipStorePath=wrapper/dists
5-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
5+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip

packages/package_info_plus/package_info_plus/example/android/settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ pluginManagement {
2020
plugins {
2121
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
2222
id("com.android.application") version "8.12.1" apply false
23-
id("org.jetbrains.kotlin.android") version "2.2.0" apply false
23+
id("org.jetbrains.kotlin.android") version "2.2.20" apply false
2424
}
2525

2626
include(":app")

packages/package_info_plus/package_info_plus/example/ios/Flutter/AppFrameworkInfo.plist

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,5 @@
2020
<string>????</string>
2121
<key>CFBundleVersion</key>
2222
<string>1.0</string>
23-
<key>MinimumOSVersion</key>
24-
<string>13.0</string>
2523
</dict>
2624
</plist>

packages/package_info_plus/package_info_plus/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1414
3E15AF6DC5E3ED410111828C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D1C0531D62A7BE5B3C172E9 /* Pods_Runner.framework */; };
1515
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
16+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
1617
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
1718
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
1819
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
@@ -56,6 +57,7 @@
5657
6D1C0531D62A7BE5B3C172E9 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5758
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
5859
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
60+
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = "<group>"; };
5961
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
6062
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
6163
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
@@ -80,6 +82,7 @@
8082
isa = PBXFrameworksBuildPhase;
8183
buildActionMask = 2147483647;
8284
files = (
85+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,
8386
3E15AF6DC5E3ED410111828C /* Pods_Runner.framework in Frameworks */,
8487
);
8588
runOnlyForDeploymentPostprocessing = 0;
@@ -121,6 +124,7 @@
121124
9740EEB11CF90186004384FC /* Flutter */ = {
122125
isa = PBXGroup;
123126
children = (
127+
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,
124128
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
125129
9740EEB21CF90195004384FC /* Debug.xcconfig */,
126130
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
@@ -198,13 +202,15 @@
198202
97C146EC1CF9000F007C117D /* Resources */,
199203
9705A1C41CF9048500538489 /* Embed Frameworks */,
200204
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
201-
FB61D828CAC1ABF007EBC86D /* [CP] Embed Pods Frameworks */,
202205
);
203206
buildRules = (
204207
);
205208
dependencies = (
206209
);
207210
name = Runner;
211+
packageProductDependencies = (
212+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
213+
);
208214
productName = Runner;
209215
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
210216
productType = "com.apple.product-type.application";
@@ -237,6 +243,9 @@
237243
Base,
238244
);
239245
mainGroup = 97C146E51CF9000F007C117D;
246+
packageReferences = (
247+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */,
248+
);
240249
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
241250
projectDirPath = "";
242251
projectRoot = "";
@@ -344,23 +353,6 @@
344353
shellPath = /bin/sh;
345354
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
346355
};
347-
FB61D828CAC1ABF007EBC86D /* [CP] Embed Pods Frameworks */ = {
348-
isa = PBXShellScriptBuildPhase;
349-
buildActionMask = 2147483647;
350-
files = (
351-
);
352-
inputFileListPaths = (
353-
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
354-
);
355-
name = "[CP] Embed Pods Frameworks";
356-
outputFileListPaths = (
357-
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
358-
);
359-
runOnlyForDeploymentPostprocessing = 0;
360-
shellPath = /bin/sh;
361-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
362-
showEnvVarsInLog = 0;
363-
};
364356
/* End PBXShellScriptBuildPhase section */
365357

366358
/* Begin PBXSourcesBuildPhase section */
@@ -716,6 +708,20 @@
716708
defaultConfigurationName = Release;
717709
};
718710
/* End XCConfigurationList section */
711+
712+
/* Begin XCLocalSwiftPackageReference section */
713+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = {
714+
isa = XCLocalSwiftPackageReference;
715+
relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
716+
};
717+
/* End XCLocalSwiftPackageReference section */
718+
719+
/* Begin XCSwiftPackageProductDependency section */
720+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
721+
isa = XCSwiftPackageProductDependency;
722+
productName = FlutterGeneratedPluginSwiftPackage;
723+
};
724+
/* End XCSwiftPackageProductDependency section */
719725
};
720726
rootObject = 97C146E61CF9000F007C117D /* Project object */;
721727
}

packages/package_info_plus/package_info_plus/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,24 @@
55
<BuildAction
66
parallelizeBuildables = "YES"
77
buildImplicitDependencies = "YES">
8+
<PreActions>
9+
<ExecutionAction
10+
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
11+
<ActionContent
12+
title = "Run Prepare Flutter Framework Script"
13+
scriptText = "/bin/sh &quot;$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh&quot; prepare&#10;">
14+
<EnvironmentBuildable>
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
18+
BuildableName = "Runner.app"
19+
BlueprintName = "Runner"
20+
ReferencedContainer = "container:Runner.xcodeproj">
21+
</BuildableReference>
22+
</EnvironmentBuildable>
23+
</ActionContent>
24+
</ExecutionAction>
25+
</PreActions>
826
<BuildActionEntries>
927
<BuildActionEntry
1028
buildForTesting = "YES"
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
import UIKit
21
import Flutter
2+
import UIKit
33

44
@main
5-
@objc class AppDelegate: FlutterAppDelegate {
5+
@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
66
override func application(
77
_ application: UIApplication,
88
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
99
) -> Bool {
10-
GeneratedPluginRegistrant.register(with: self)
1110
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
1211
}
12+
13+
func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
14+
GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
15+
}
1316
}

packages/package_info_plus/package_info_plus/example/ios/Runner/Info.plist

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5+
<key>CADisableMinimumFrameDurationOnPhone</key>
6+
<true/>
57
<key>CFBundleDevelopmentRegion</key>
68
<string>$(DEVELOPMENT_LANGUAGE)</string>
79
<key>CFBundleDisplayName</key>
@@ -24,6 +26,29 @@
2426
<string>$(FLUTTER_BUILD_NUMBER)</string>
2527
<key>LSRequiresIPhoneOS</key>
2628
<true/>
29+
<key>UIApplicationSceneManifest</key>
30+
<dict>
31+
<key>UIApplicationSupportsMultipleScenes</key>
32+
<false/>
33+
<key>UISceneConfigurations</key>
34+
<dict>
35+
<key>UIWindowSceneSessionRoleApplication</key>
36+
<array>
37+
<dict>
38+
<key>UISceneClassName</key>
39+
<string>UIWindowScene</string>
40+
<key>UISceneConfigurationName</key>
41+
<string>flutter</string>
42+
<key>UISceneDelegateClassName</key>
43+
<string>FlutterSceneDelegate</string>
44+
<key>UISceneStoryboardFile</key>
45+
<string>Main</string>
46+
</dict>
47+
</array>
48+
</dict>
49+
</dict>
50+
<key>UIApplicationSupportsIndirectInputEvents</key>
51+
<true/>
2752
<key>UILaunchStoryboardName</key>
2853
<string>LaunchScreen</string>
2954
<key>UIMainStoryboardFile</key>
@@ -43,9 +68,5 @@
4368
</array>
4469
<key>UIViewControllerBasedStatusBarAppearance</key>
4570
<false/>
46-
<key>CADisableMinimumFrameDurationOnPhone</key>
47-
<true/>
48-
<key>UIApplicationSupportsIndirectInputEvents</key>
49-
<true/>
5071
</dict>
5172
</plist>

0 commit comments

Comments
 (0)