Creato script che cambia e classi in base alla build da fare.

This commit is contained in:
Giuseppe Scorrano 2019-02-15 12:20:33 +01:00
parent e4f46f5805
commit d5532132f3
10 changed files with 267 additions and 178 deletions

Binary file not shown.

View File

@ -1,153 +1,153 @@
buildscript { buildscript {
repositories { repositories {
maven { url 'https://maven.fabric.io/public' } maven { url 'https://maven.fabric.io/public' }
} }
dependencies { dependencies {
classpath 'io.fabric.tools:gradle:1.27.0' classpath 'io.fabric.tools:gradle:1.27.0'
} }
} }
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf' apply plugin: 'com.google.firebase.firebase-perf'
apply plugin: 'io.fabric' apply plugin: 'io.fabric'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 36 def appVersionCode = 36
def appVersionName = '1.0.33' def appVersionName = '1.0.33'
signingConfigs { signingConfigs {
release { release {
keyAlias 'wms key' keyAlias 'wms key'
keyPassword 'inpmiy' keyPassword 'inpmiy'
storeFile file('Integry.jks') storeFile file('Integry.jks')
storePassword 'inpmiy' storePassword 'inpmiy'
} }
} }
applicationVariants.all { variant -> applicationVariants.all { variant ->
variant.outputs.all { output -> variant.outputs.all { output ->
output.outputFileName = "android-release_v2.apk" output.outputFileName = "android-release_v2.apk"
} }
} }
compileSdkVersion 28 compileSdkVersion 28
buildToolsVersion '28.0.3' buildToolsVersion '28.0.3'
defaultConfig { defaultConfig {
applicationId "it.integry.integrywmsnative" applicationId "it.integry.integrywmsnative"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 28 targetSdkVersion 28
versionCode appVersionCode versionCode appVersionCode
versionName appVersionName versionName appVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.release signingConfig signingConfigs.release
} }
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release signingConfig signingConfigs.release
} }
} }
dataBinding { dataBinding {
enabled = true enabled = true
} }
compileOptions { compileOptions {
targetCompatibility 1.8 targetCompatibility 1.8
sourceCompatibility 1.8 sourceCompatibility 1.8
} }
productFlavors { productFlavors {
} }
build { build {
doLast { doLast {
delete "$projectDir/build/outputs/apk/release/version_v2.txt" delete "$projectDir/build/outputs/apk/release/version_v2.txt"
file("$projectDir/build/outputs/apk/release/version_v2.txt").text = appVersionCode + '\n' + appVersionName file("$projectDir/build/outputs/apk/release/version_v2.txt").text = appVersionCode + '\n' + appVersionName
} }
} }
gradle.projectsEvaluated { gradle.projectsEvaluated {
tasks.withType(JavaCompile.class) { tasks.withType(JavaCompile.class) {
options.compilerArgs << "-Xmaxerrs" << "10000" options.compilerArgs << "-Xmaxerrs" << "10000"
} }
} }
lintOptions { lintOptions {
abortOnError false abortOnError false
} }
dynamicFeatures = [":dynamic__base"] dynamicFeatures = [":dynamic__base"]
} }
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.1', { androidTestImplementation('androidx.test.espresso:espresso-core:3.1.1', {
exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'support-annotations'
}) })
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0' implementation 'com.orhanobut:logger:2.2.0'
implementation 'com.google.firebase:firebase-core:16.0.7' implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-crash:16.2.1' implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-perf:16.2.3' implementation 'com.google.firebase:firebase-perf:16.2.3'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8' implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha03' implementation 'com.google.android.material:material:1.1.0-alpha03'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha02' implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha02'
implementation 'androidx.preference:preference:1.1.0-alpha02' implementation 'androidx.preference:preference:1.1.0-alpha03'
implementation 'com.squareup.okhttp3:okhttp:3.12.1' implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.0.0' implementation 'com.squareup.retrofit2:converter-gson:2.0.0'
implementation 'com.annimon:stream:1.2.1' implementation 'com.annimon:stream:1.2.1'
implementation 'androidx.lifecycle:lifecycle-runtime:2.0.0' implementation 'androidx.lifecycle:lifecycle-runtime:2.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
implementation 'androidx.lifecycle:lifecycle-common-java8:2.0.0' implementation 'androidx.lifecycle:lifecycle-common-java8:2.0.0'
kapt "androidx.lifecycle:lifecycle-compiler:2.0.0" kapt "androidx.lifecycle:lifecycle-compiler:2.0.0"
implementation 'com.danielpuiu:ghostfish:2.0.0' implementation 'com.danielpuiu:ghostfish:2.0.0'
annotationProcessor "com.danielpuiu:ghostfish-compiler:2.0.0" annotationProcessor "com.danielpuiu:ghostfish-compiler:2.0.0"
//MVVM //MVVM
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0" annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0"
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1' implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.1.1' implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.1.1'
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1' implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1'
implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1' implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'
implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.1.1' implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.1.1'
implementation 'com.jakewharton:butterknife:10.0.0' implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
implementation 'br.com.zbra:android-linq:1.1.0' implementation 'br.com.zbra:android-linq:1.1.0'
//FAB //FAB
implementation 'com.github.clans:fab:1.6.4' implementation 'com.github.clans:fab:1.6.4'
//CUSTOM VIEWS //CUSTOM VIEWS
implementation 'com.github.NaimishTrivedi:FBToast:1.0' implementation 'com.github.NaimishTrivedi:FBToast:1.0'
implementation 'de.hdodenhof:circleimageview:2.2.0' implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2' implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar' implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
implementation 'com.github.andrefrsousa:SuperBottomSheet:1.2.1@aar' implementation 'com.github.andrefrsousa:SuperBottomSheet:1.2.1@aar'
implementation 'com.fede987:status-bar-alert:1.0.1' implementation 'com.fede987:status-bar-alert:1.0.1'
implementation 'com.fxn769:stash:1.2' implementation 'com.fxn769:stash:1.2'
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
implementation project(':waterfall_toolbar') implementation project(':waterfall_toolbar')
implementation 'com.mikhaellopez:lazydatepicker:1.0.0' implementation 'com.mikhaellopez:lazydatepicker:1.0.0'
implementation 'com.github.demoNo:AutoScrollViewPager:v1.0.2' implementation 'com.github.demoNo:AutoScrollViewPager:v1.0.2'
//AppUpdate //AppUpdate
implementation 'com.github.javiersantos:AppUpdater:2.7' implementation 'com.github.javiersantos:AppUpdater:2.7'
//Barcode //Barcode
implementation project(':pointmobilescannerlibrary') implementation project(':pointmobilescannerlibrary')
implementation project(path: ':barcode_base_library') implementation project(path: ':barcode_base_library')
} }
repositories { repositories {
mavenCentral() mavenCentral()
maven { url 'https://maven.fabric.io/public' } maven { url 'https://maven.fabric.io/public' }
} }

View File

@ -6,6 +6,8 @@ import com.crashlytics.android.Crashlytics;
import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.Logger; import com.orhanobut.logger.Logger;
import java.io.IOException;
import io.fabric.sdk.android.Fabric; import io.fabric.sdk.android.Fabric;
import it.integry.integrywmsnative.BuildConfig; import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
@ -45,6 +47,7 @@ public class AppContext {
} }
private void initSettings() { private void initSettings() {
Stash.init(mContext); Stash.init(mContext);
SettingsManager.init(mContext); SettingsManager.init(mContext);

View File

@ -0,0 +1,27 @@
package it.integry.wms.dynamic_customization;
import android.content.Context;
import android.util.Log;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.wms.dynamic_customization.extensions.FiltroOrdiniVendita;
import it.integry.wms.dynamic_customization.extensions.OrdiniVendita;
public class DynamicContext {
public void init(Context context) {
Log.d("DynamicContext", "Caricamento personalizzazioni per VGAlimenti");
try {
ClassRouter.registerPath(ClassRouter.PATH.FILTRO_ORDINI_VENDITA, FiltroOrdiniVendita.class);
ClassRouter.registerPath(ClassRouter.PATH.ORDINI_VENDITA, OrdiniVendita.class);
} catch (Exception ex) {
UtilityExceptions.defaultException(context, ex);
}
Log.d("DynamicContext", "Caricamento personalizzazioni per VGAlimenti COMPLETATO");
}
}

View File

@ -0,0 +1,12 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.interfaces.IFiltroOrdiniVendita;
public class FiltroOrdiniVendita implements IFiltroOrdiniVendita {
@Override
public boolean shoudShowCodMdepFilter() {
return true;
}
}

View File

@ -0,0 +1,45 @@
package it.integry.wms.dynamic_customization.extensions;
import android.app.ProgressDialog;
import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaGroupedInevasoDTO;
public class OrdiniVendita implements IOrdiniVendita {
@Override
public void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, List<OrdineVenditaGroupedInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
String codMdepOrder = testateOrdini.get(0).ordini.get(0).getCodMdep();
//Se il deposito del collo è diverso dal deposito dell'utente allora sto "evadendo" la merce per una vendita presente
//su un altro deposito
if(!UtilityString.isNullOrEmpty(codMdepOrder) &&
!codMdepOrder.equalsIgnoreCase(SettingsManager.i().userSession.depo.getCodMdep())) {
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt,
DistribuzioneColloDTO.CriterioDistribuzione.UPDATE,
onComplete,
onFailed);
} else {
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt,
SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,
onFailed);
}
}
}

View File

@ -2,50 +2,53 @@
SET nome_azienda=%1 SET nome_azienda=%1
setlocal enabledelayedexpansion rem setlocal enabledelayedexpansion
set INTEXTFILE=build.gradle rem set INTEXTFILE=build.gradle
set OUTTEXTFILE=build_out.gradle rem set OUTTEXTFILE=build_out.gradle
set SEARCHTEXT=:dynamic__base rem set SEARCHTEXT=:dynamic__base
set REPLACETEXT=:dynamic_%nome_azienda% rem set REPLACETEXT=:dynamic_%nome_azienda%
set OUTPUTLINE= rem set OUTPUTLINE=
cd app rem cd app
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do ( rem for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
SET string=%%A rem SET string=%%A
for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b" rem for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
if "!string!" == "" ( rem if "!string!" == "" (
echo.>>%OUTTEXTFILE% rem echo.>>%OUTTEXTFILE%
) else ( rem ) else (
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%! rem SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE% rem echo !modified! >> %OUTTEXTFILE%
) rem )
) rem )
del %INTEXTFILE% rem del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE% rem rename %OUTTEXTFILE% %INTEXTFILE%
cd .. rem cd ..
call gradlew app:build --stacktrace XCOPY dynamic_%nome_azienda%\src\main\java\it\integry app\src\main\java\it\integry\ /E
CALL gradlew app:build --stacktrace
cd app RMDIR app\src\main\java\it\integry\wms\ /S /Q
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do ( rem cd app
SET string=%%A
for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
if "!string!" == "" (
echo.>>%OUTTEXTFILE%
) else (
SET modified=!string:%REPLACETEXT%=%SEARCHTEXT%!
echo !modified! >> %OUTTEXTFILE%
)
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
cd .. rem for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
rem SET string=%%A
rem for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
rem if "!string!" == "" (
rem echo.>>%OUTTEXTFILE%
rem ) else (
rem SET modified=!string:%REPLACETEXT%=%SEARCHTEXT%!
rem echo !modified! >> %OUTTEXTFILE%
rem )
rem )
rem del %INTEXTFILE%
rem rename %OUTTEXTFILE% %INTEXTFILE%
rem
rem cd ..
mkdir app\build\outputs\apk\release\%nome_azienda% MKDIR app\build\outputs\apk\release\%nome_azienda%
move app\build\outputs\apk\release\*.apk app\build\outputs\apk\release\%nome_azienda%\ MOVE app\build\outputs\apk\release\*.apk app\build\outputs\apk\release\%nome_azienda%\
move app\build\outputs\apk\release\*.txt app\build\outputs\apk\release\%nome_azienda%\ MOVE app\build\outputs\apk\release\*.txt app\build\outputs\apk\release\%nome_azienda%\

View File

@ -4,7 +4,7 @@
<dist:module <dist:module
dist:instant="false" dist:instant="false"
dist:onDemand="true" dist:onDemand="false"
dist:title="@string/title_dynamic__base"> dist:title="@string/title_dynamic__base">
<dist:fusing dist:include="true" /> <dist:fusing dist:include="true" />
</dist:module> </dist:module>

View File

@ -7,9 +7,8 @@ android {
targetSdkVersion 28 targetSdkVersion 28
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
} }
buildToolsVersion '28.0.3' buildToolsVersion '28.0.3'
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8

View File

@ -4,7 +4,7 @@
<dist:module <dist:module
dist:instant="false" dist:instant="false"
dist:onDemand="true" dist:onDemand="false"
dist:title="@string/title_dynamic_vgalimenti"> dist:title="@string/title_dynamic_vgalimenti">
<dist:fusing dist:include="true" /> <dist:fusing dist:include="true" />
</dist:module> </dist:module>