Skip to content
Snippets Groups Projects
Commit ddcd47c0 authored by poka's avatar poka
Browse files

WIP: upgrade gradle and kotlin to last version

parent ac1157f1
Branches
Tags
No related merge requests found
Pipeline #18865 waiting for manual action
Showing
with 89 additions and 85 deletions
...@@ -57,3 +57,4 @@ integration_test/duniter/data/chains/ ...@@ -57,3 +57,4 @@ integration_test/duniter/data/chains/
# Ignore PC deps # Ignore PC deps
scripts/pushGecko scripts/pushGecko
android-old
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# This file should be version controlled. # This file should be version controlled.
version: version:
revision: 85684f9300908116a78138ea4c6036c35c9a1236 revision: c07f7888888435fd9df505aa2efc38d3cf65681b
channel: stable channel: stable
project_type: app project_type: app
...@@ -13,11 +13,26 @@ project_type: app ...@@ -13,11 +13,26 @@ project_type: app
migration: migration:
platforms: platforms:
- platform: root - platform: root
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236 create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236 base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
- platform: android - platform: android
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236 create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236 base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
- platform: ios
create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
- platform: linux
create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
- platform: macos
create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
- platform: web
create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
- platform: windows
create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
# User provided section # User provided section
......
# Ğecko # Ğecko
Ğecko is a transaction client owned by [Axiom-Team association] and written in Dart. It is fast and secure thanks to native code compilation. It is not intended to manage member accounts, but rather simple wallets. Ğecko is a transaction client owned by [Axiom-Team association] and written in Dart. It is fast and
secure thanks to native code compilation. It is not intended to manage member accounts, but rather
simple wallets.
The development is quite early, you can participate in the discussion [on the Duniter forum](https://forum.duniter.org/t/gecko-nouveau-client-de-paiements-1-sur-mobile-en-cours-de-developpement-dart-flutter/7857) (mostly FR) The development is quite early, you can participate in the
discussion [on the Duniter forum](https://forum.duniter.org/t/gecko-nouveau-client-de-paiements-1-sur-mobile-en-cours-de-developpement-dart-flutter/7857) (
mostly FR)
[Axiom-Team association]: https://axiom-team.fr/ [Axiom-Team association]: https://axiom-team.fr/
...@@ -20,18 +24,22 @@ The development is quite early, you can participate in the discussion [on the Du ...@@ -20,18 +24,22 @@ The development is quite early, you can participate in the discussion [on the Du
To contribute to the code, we advise you to install the following development environment. To contribute to the code, we advise you to install the following development environment.
1. Android Studio 1. Android Studio
- Android VM - Android VM
- Android NDK - Android NDK
1. Flutter SDK 1. Flutter SDK
1. VSCode/Codium Flutter extension 1. VSCode/Codium Flutter extension
This will take about 12GB on your drive and 30 min of your time (with a good connection). Don't hesitate to ask on the forum for a peer-coding session if you are stuck. This will take about 12GB on your drive and 30 min of your time (with a good connection). Don't
hesitate to ask on the forum for a peer-coding session if you are stuck.
### Android Studio ### Android Studio
Android Studio will let you set up an Android VM and install tools you need. Android Studio will let you set up an Android VM and install tools you need.
- Install [Android Studio](https://developer.android.com/studio/) using your favorite installation method. - Install [Android Studio](https://developer.android.com/studio/) using your favorite installation
method.
- At startup, do not open a project but click "configure" at the bottom of the "Welcome" menu - At startup, do not open a project but click "configure" at the bottom of the "Welcome" menu
- In "SDK Manager" - In "SDK Manager"
- SDK Platforms Ttab - SDK Platforms Ttab
...@@ -47,16 +55,21 @@ If you reach this point without trouble, you're good to go for the next step. ...@@ -47,16 +55,21 @@ If you reach this point without trouble, you're good to go for the next step.
### Flutter SDK ### Flutter SDK
Flutter is a powerfull SDK to develop Android apps. [Install it](https://flutter.dev/docs/get-started/install/linux) with your favorite installation method. Flutter is a powerfull SDK to develop Android
apps. [Install it](https://flutter.dev/docs/get-started/install/linux) with your favorite
installation method.
### VSCode ### VSCode
We are using VSCode and therefore document the process for this IDE. Of course you're free to use whatever you want. We are using VSCode and therefore document the process for this IDE. Of course you're free to use
Clone the ğecko repo and open a dart file (e.g. `lib/main.dart`). VSCode will suggest you to insall relevant extensions. whatever you want.
Clone the ğecko repo and open a dart file (e.g. `lib/main.dart`). VSCode will suggest you to insall
relevant extensions.
### Build the app ### Build the app
In a dart file (e.g. `lib/main.dart`), type the `F5` key to build the code. The app should open automatically in your VM which is running. In a dart file (e.g. `lib/main.dart`), type the `F5` key to build the code. The app should open
automatically in your VM which is running.
### Build your app for Desktop ### Build your app for Desktop
......
...@@ -9,3 +9,5 @@ GeneratedPluginRegistrant.java ...@@ -9,3 +9,5 @@ GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore. # Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties key.properties
**/*.keystore
**/*.jks
...@@ -21,32 +21,40 @@ if (flutterVersionName == null) { ...@@ -21,32 +21,40 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0' flutterVersionName = '1.0'
} }
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystoreProperties = new Properties() def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties') def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) { if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
} }
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android { android {
compileSdkVersion 33 compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
sourceSets { compileOptions {
main.java.srcDirs += 'src/main/kotlin' sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
} }
lintOptions { kotlinOptions {
disable 'InvalidPackage' jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
} }
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "gecko.axiomteam.fr" applicationId "gecko.axiomteam.fr"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 19 minSdkVersion 19
targetSdkVersion 33 targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName
multiDexEnabled true multiDexEnabled true
...@@ -82,5 +90,4 @@ flutter { ...@@ -82,5 +90,4 @@ flutter {
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.work:work-runtime-ktx:2.7.0'
} }
-ignorewarnings
-keep class * {
public private *;
}
-dontwarn org.xmlpull.v1.XmlPullParser
-dontwarn org.xmlpull.v1.XmlSerializer
-keep class org.xmlpull.v1.* {*;}
\ No newline at end of file
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gecko.axiomteam.fr"> package="gecko.axiomteam.gecko">
<!-- Flutter needs it to communicate with the running application <!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gecko.axiomteam.fr"> package="gecko.axiomteam.gecko">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application <application
android:requestLegacyExternalStorage="true" android:label="gecko"
android:name="${applicationName}" android:name="${applicationName}"
android:label="Ğecko" android:icon="@mipmap/ic_launcher">
android:usesCleartextTraffic="true">
<!-- TODO: Remove usesCleartextTraffic for production mode ! kopa -->
<!-- android:icon="@mipmap/ic_launcher"> -->
<activity <activity
android:requestLegacyExternalStorage="true"
android:name=".MainActivity" android:name=".MainActivity"
android:icon="@mipmap/ic_launcher" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:theme="@style/LaunchTheme" android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize" android:windowSoftInputMode="adjustResize">
android:exported="true">
<!-- Specifies an Android theme to apply to this Activity as soon as <!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. --> to determine the Window background behind the Flutter UI. -->
<!-- <meta-data <meta-data
android:name="io.flutter.embedding.android.NormalTheme" android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme" android:resource="@style/NormalTheme"
android:icon="@mipmap/ic_launcher" />
/> -->
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<!-- Don't delete the meta-data below. <!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data <meta-data
......
package gecko.axiomteam.fr
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}
android/app/src/main/res/mipmap-hdpi/launcher_icon.png

5.57 KiB

android/app/src/main/res/mipmap-mdpi/launcher_icon.png

3.63 KiB

android/app/src/main/res/mipmap-xhdpi/launcher_icon.png

7.53 KiB

android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png

11.8 KiB

android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png

16.3 KiB

<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Theme applied to the Android Window while the process is starting --> <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when <!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame --> the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item> <item name="android:windowBackground">@drawable/launch_background</item>
</style> </style>
<!-- Theme applied to the Android Window as soon as the process has started. <!-- Theme applied to the Android Window as soon as the process has started.
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
running. running.
This Theme is only used starting with V2 of Flutter's Android embedding. --> This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar"> <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">@android:color/white</item> <item name="android:windowBackground">?android:colorBackground</item>
</style> </style>
</resources> </resources>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gecko.axiomteam.fr"> package="gecko.axiomteam.gecko">
<!-- Flutter needs it to communicate with the running application <!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
......
...@@ -2,7 +2,7 @@ buildscript { ...@@ -2,7 +2,7 @@ buildscript {
ext.kotlin_version = '1.7.10' ext.kotlin_version = '1.7.10'
repositories { repositories {
google() google()
jcenter() mavenCentral()
} }
dependencies { dependencies {
...@@ -14,7 +14,7 @@ buildscript { ...@@ -14,7 +14,7 @@ buildscript {
allprojects { allprojects {
repositories { repositories {
google() google()
jcenter() mavenCentral()
} }
} }
......
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
include ':app'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment