diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 87a4778d704..6847ee2697a 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -1,9 +1,3 @@ -plugins { - id "com.android.application" - id "kotlin-android" - id "dev.flutter.flutter-gradle-plugin" -} - def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -12,6 +6,11 @@ if (localPropertiesFile.exists()) { } } +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -22,6 +21,7 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } + def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { @@ -34,8 +34,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - namespace "dev.linwood.flow" - compileSdkVersion flutter.compileSdkVersion + compileSdk 33 ndkVersion flutter.ndkVersion compileOptions { @@ -43,27 +42,18 @@ android { targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "dev.linwood.flow" - // 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 flutter.minSdkVersion + applicationId "dev.linwood.butterfly" + minSdkVersion 19 targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } - flavorDimensions "default" - productFlavors { + flavorDimensions += "default" + productFlavors { production { dimension "default" applicationIdSuffix "" @@ -105,6 +95,7 @@ flutter { source '../..' } + dependencies { testImplementation 'junit:junit:5.8.2' testImplementation "com.google.truth:truth:1.1.3" @@ -113,5 +104,4 @@ dependencies { api 'androidx.test:core:1.5.0' androidTestImplementation 'tools.fastlane:screengrab:2.1.1' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation "androidx.multidex:multidex:$multidex_version" } diff --git a/app/android/build.gradle b/app/android/build.gradle index a58ccb2f2e8..d02fac26000 100644 --- a/app/android/build.gradle +++ b/app/android/build.gradle @@ -7,7 +7,6 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/app/linux/rpm/linwood-flow.desktop b/app/linux/rpm/linwood-flow.desktop new file mode 100644 index 00000000000..b20056a91d5 --- /dev/null +++ b/app/linux/rpm/linwood-flow.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Linwood Flow +Comment=Free, opensource time and event management software +Exec=/usr/bin/linwood-flow %f +Icon=/usr/share/linwood-flow/data/flutter_assets/images/logo.svg +Terminal=false +Type=Application +Categories=Productivity; \ No newline at end of file diff --git a/app/linux/rpm/linwood-flow.spec b/app/linux/rpm/linwood-flow.spec new file mode 100644 index 00000000000..8fcf9c690ed --- /dev/null +++ b/app/linux/rpm/linwood-flow.spec @@ -0,0 +1,35 @@ +Name: linwood-flow +Version: 1.0.0 +Release: 1%{?dist} +Summary: Free, opensource time and event management software +BuildArch: x86_64 +URL: https://github.com/LinwoodDev/Flow +License: AGPLv3 +Source0: %{name}-%{version}.tar.gz + +Requires: bash + +%description +Linwood Flow is a free, opensource time and event management software. You can choose where your data is stored and who can access it. Group your events and manage places and people. The app is available for Windows, Linux, Android and Web. + +%prep +%setup -q + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/%{_bindir} +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{name} +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/pixmaps +cp %{name} $RPM_BUILD_ROOT/%{_datadir}/%{name} +cp -R lib $RPM_BUILD_ROOT/%{_datadir}/%{name} +cp -R data $RPM_BUILD_ROOT/%{_datadir}/%{name} +ln -s %{_datadir}/%{name}/%{name} $RPM_BUILD_ROOT/%{_bindir}/%{name} +desktop-file-install %{name}.desktop + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%{_bindir}/%{name} +%{_datadir}/%{name} +/usr/share/applications/ \ No newline at end of file