Prima implementazione dello script per le multibuild

This commit is contained in:
Giuseppe Scorrano 2019-02-11 12:09:47 +01:00
parent 996f5978e9
commit b98530358d
12 changed files with 267 additions and 138 deletions

Binary file not shown.

1
.idea/gradle.xml generated
View File

@ -10,6 +10,7 @@
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/barcode_base_library" /> <option value="$PROJECT_DIR$/barcode_base_library" />
<option value="$PROJECT_DIR$/dynamic__base" />
<option value="$PROJECT_DIR$/dynamic_vgalimenti" /> <option value="$PROJECT_DIR$/dynamic_vgalimenti" />
<option value="$PROJECT_DIR$/pointmobilescannerlibrary" /> <option value="$PROJECT_DIR$/pointmobilescannerlibrary" />
<option value="$PROJECT_DIR$/waterfall_toolbar" /> <option value="$PROJECT_DIR$/waterfall_toolbar" />

1
.idea/modules.xml generated
View File

@ -5,6 +5,7 @@
<module fileurl="file://$PROJECT_DIR$/WMS_Native.iml" filepath="$PROJECT_DIR$/WMS_Native.iml" /> <module fileurl="file://$PROJECT_DIR$/WMS_Native.iml" filepath="$PROJECT_DIR$/WMS_Native.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" filepath="$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" /> <module fileurl="file://$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" filepath="$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic__base/dynamic__base.iml" filepath="$PROJECT_DIR$/dynamic__base/dynamic__base.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" filepath="$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" /> <module fileurl="file://$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" filepath="$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" />
<module fileurl="file://$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" filepath="$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" /> <module fileurl="file://$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" filepath="$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" />
<module fileurl="file://$PROJECT_DIR$/waterfall_toolbar/waterfall_toolbar.iml" filepath="$PROJECT_DIR$/waterfall_toolbar/waterfall_toolbar.iml" /> <module fileurl="file://$PROJECT_DIR$/waterfall_toolbar/waterfall_toolbar.iml" filepath="$PROJECT_DIR$/waterfall_toolbar/waterfall_toolbar.iml" />

View File

@ -37,6 +37,7 @@ android {
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
@ -46,6 +47,7 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.release signingConfig signingConfigs.release
} }
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
@ -64,6 +66,28 @@ android {
} }
tasks.register("hello") { a ->
doLast {
println "${a}"
def packages = ['vgalimenti', 'biolevante', 'ime']
dynamicFeatures.each { item -> dynamicFeatures.remove(item) }
packages.each { config ->
println ":dynamic_${config}"
dynamicFeatures.add(":dynamic_${config}")
project(':app').tasks.build.execute()
dynamicFeatures.remove(":dynamic_${config}")
}
}
}
build { build {
doLast { doLast {
delete "$projectDir/build/outputs/apk/release/version_v2.txt" delete "$projectDir/build/outputs/apk/release/version_v2.txt"
@ -81,7 +105,7 @@ android {
abortOnError false abortOnError false
} }
dynamicFeatures = [":dynamic_vgalimenti"] dynamicFeatures = [":dynamic__base"]
} }

42
app/build_VGAlimenti.bat Normal file
View File

@ -0,0 +1,42 @@
@echo off
SET nome_azienda=vgalimenti
setlocal enabledelayedexpansion
set INTEXTFILE=build.gradle
set OUTTEXTFILE=build_out.gradle
set SEARCHTEXT=:dynamic__base
set REPLACETEXT=:dynamic_%nome_azienda%
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
SET string=%%A
for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
if "!string!" == "" (
echo.>>%OUTTEXTFILE%
) else (
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE%
)
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
pause
gradle build
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %INTEXTFILE%"') do (
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%

View File

@ -87,7 +87,6 @@ public class DialogVenditaFiltroAvanzato {
Button button = ((AlertDialog) dialogInterface).getButton(AlertDialog.BUTTON_NEUTRAL); Button button = ((AlertDialog) dialogInterface).getButton(AlertDialog.BUTTON_NEUTRAL);
button.setOnClickListener(view -> { button.setOnClickListener(view -> {
// TODO Do something
resetAll(viewModel); resetAll(viewModel);
}); });
}); });

View File

@ -183,5 +183,6 @@
<string name="recovering_data">Recovering data</string> <string name="recovering_data">Recovering data</string>
<string name="wait_a_moment">Wait a moment</string> <string name="wait_a_moment">Wait a moment</string>
<string name="title_dynamic_vgalimenti">Personalizzazione VGAlimenti</string> <string name="title_dynamic_vgalimenti">Personalizzazione VGAlimenti</string>
<string name="title_dynamic__base">Azienda Base</string>
</resources> </resources>

1
dynamic__base/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

View File

@ -0,0 +1,23 @@
apply plugin: 'com.android.dynamic-feature'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(':app')
}

View File

@ -0,0 +1,12 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="it.integry.wms.dynamic__base">
<dist:module
dist:instant="false"
dist:onDemand="true"
dist:title="@string/title_dynamic__base">
<dist:fusing dist:include="true" />
</dist:module>
</manifest>

View File

@ -0,0 +1,25 @@
package it.integry.wms.dynamic_customization;
import android.util.Log;
import it.integry.integrywmsnative.core.class_router.BaseRouter;
import it.integry.integrywmsnative.core.class_router.MethodDTO;
import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathAlreadyDeclaredException;
public class DynamicContext {
public static void init() {
Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE");
// try {
//BaseRouter.registerPath("testToast", MethodDTO.fromName(OrdineVendita.class, "testMe"));
// } catch (MethodPathAlreadyDeclaredException ex) {
//
// }
Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE COMPLETATO");
}
}

View File

@ -1 +1 @@
include ':app', ':pointmobilescannerlibrary', ':waterfall_toolbar', ':barcode_base_library', ':dynamic_vgalimenti' include ':app', ':pointmobilescannerlibrary', ':waterfall_toolbar', ':barcode_base_library', ':dynamic_vgalimenti', ':dynamic__base'