CodenameOne icon indicating copy to clipboard operation
CodenameOne copied to clipboard

Speeding up clean & build?

Open jsfan3 opened this issue 4 years ago • 6 comments

The same project, when compiled with Ant, took a few seconds for a clean & build. After switching to Maven, it takes much longer, in the following log 45 seconds, sometimes more. Is there any way to speed it up? Are all the operations shown in the following log necessary?

For example, compliance-checking seems unnecessary to me, at least in this case.

cd /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common; JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 /home/francesco/netbeans-12.3/netbeans/java/maven/bin/mvn clean install
Scanning for projects...

Some problems were encountered while building the effective model for app.aren.client:mainclass-common:jar:1.0-SNAPSHOT
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 342, column 21

It is highly recommended to fix these problems because they threaten the stability of your build.

For this reason, future Maven versions might no longer support building such malformed projects.


------------------< app.aren.client:mainclass-common >------------------
Building MyAppClient-common 1.0-SNAPSHOT
--------------------------------[ jar ]---------------------------------

--- maven-clean-plugin:2.5:clean (default-clean) @ mainclass-common ---
Deleting /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target

--- properties-maven-plugin:1.0.0:read-project-properties (default) @ mainclass-common ---

--- codenameone-maven-plugin:7.0.27:generate-gui-sources (generate-gui-sources) @ mainclass-common ---
Generating GUI sources
No GUI Entries available

--- maven-resources-plugin:2.6:resources (default-resources) @ mainclass-common ---
Using 'UTF-8' encoding to copy filtered resources.
Copying 5 resources

--- maven-compiler-plugin:3.1:compile (default-compile) @ mainclass-common ---
Changes detected - recompiling the module!
Compiling 89 source files to /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/classes
/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/src/main/java/app/aren/client/managers/MainManager.java: Some input files use or override a deprecated API.
/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/src/main/java/app/aren/client/managers/MainManager.java: Recompile with -Xlint:deprecation for details.
/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/src/main/java/app/aren/client/managers/MainManager.java: Some input files use unchecked or unsafe operations.
/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/src/main/java/app/aren/client/managers/MainManager.java: Recompile with -Xlint:unchecked for details.

--- codenameone-maven-plugin:7.0.27:compliance-check (cn1-process-classes) @ mainclass-common ---
Running compliance check against Codename One Java Runtime API
See https://www.codenameone.com/javadoc/ for supported Classes and Methods
Proguard classpath: /home/francesco/.m2/repository/net/sf/proguard/proguard-base/6.3.0beta1/proguard-base-6.3.0beta1.jar
artifact com.codenameone:codenameone-core:jar:7.0.27:provided
artifact app.aren.client:mainclass-cn1-websockets:pom:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT.pom
artifact app.aren.client:mainclass-cn1-websockets:jar:common:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT-common.jar
artifact app.aren.client:mainclass-Device:pom:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT.pom
artifact app.aren.client:mainclass-Device:jar:common:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT-common.jar
artifact app.aren.client:mainclass-NativeLogsReader:pom:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT.pom
artifact app.aren.client:mainclass-NativeLogsReader:jar:common:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT-common.jar
artifact app.aren.client:mainclass-SMSActivation:pom:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT.pom
artifact app.aren.client:mainclass-SMSActivation:jar:common:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT-common.jar
artifact app.aren.client:mainclass-GoogleMaps:pom:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT.pom
artifact app.aren.client:mainclass-GoogleMaps:jar:common:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT-common.jar
artifact app.aren.client:mainclass-CameraKitCodenameOne:pom:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT.pom
artifact app.aren.client:mainclass-CameraKitCodenameOne:jar:common:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT-common.jar
artifact app.aren.client:mainclass-VideoOptimizerCN1Lib:pom:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT.pom
artifact app.aren.client:mainclass-VideoOptimizerCN1Lib:jar:common:1.0-SNAPSHOT:compile
Adding to injars: /home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT-common.jar
injars = /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/classes:/home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT.pom(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT-common.jar(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT.pom(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT-common.jar(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT.pom(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT-common.jar(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT.pom(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT-common.jar(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT.pom(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT-common.jar(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT.pom(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT-common.jar(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT.pom(!META-INF/**):/home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT-common.jar(!META-INF/**)
Keeping class app.aren.client.MainClass {
            *;
            }
ProGuard, version 6.3.0 beta1
Reading program directory [/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/classes] (filtered)
Reading program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT.pom] (filtered)
Reading program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT-common.jar] (filtered)
Reading program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT.pom] (filtered)
Reading program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT-common.jar] (filtered)
Reading program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT.pom] (filtered)
Reading program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT-common.jar] (filtered)
Reading program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT.pom] (filtered)
Reading program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT-common.jar] (filtered)
Reading program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT.pom] (filtered)
Reading program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT-common.jar] (filtered)
Reading program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT.pom] (filtered)
Reading program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT-common.jar] (filtered)
Reading program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT.pom] (filtered)
Reading program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT-common.jar] (filtered)
Reading library jar [/home/francesco/.m2/repository/com/codenameone/java-runtime/7.0.27/java-runtime-7.0.27.jar] (filtered)
Reading library jar [/home/francesco/.m2/repository/com/codenameone/codenameone-core/7.0.27/codenameone-core-7.0.27.jar] (filtered)
Preparing output jar [/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/compliance-check.jar] (filtered)
  Copying resources from program directory [/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/classes] (filtered)
  Copying resources from program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT.pom] (filtered)
  Copying resources from program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-cn1-websockets/1.0-SNAPSHOT/mainclass-cn1-websockets-1.0-SNAPSHOT-common.jar] (filtered)
  Copying resources from program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT.pom] (filtered)
  Copying resources from program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-Device/1.0-SNAPSHOT/mainclass-Device-1.0-SNAPSHOT-common.jar] (filtered)
  Copying resources from program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT.pom] (filtered)
  Copying resources from program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-NativeLogsReader/1.0-SNAPSHOT/mainclass-NativeLogsReader-1.0-SNAPSHOT-common.jar] (filtered)
  Copying resources from program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT.pom] (filtered)
  Copying resources from program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-SMSActivation/1.0-SNAPSHOT/mainclass-SMSActivation-1.0-SNAPSHOT-common.jar] (filtered)
  Copying resources from program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT.pom] (filtered)
  Copying resources from program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-GoogleMaps/1.0-SNAPSHOT/mainclass-GoogleMaps-1.0-SNAPSHOT-common.jar] (filtered)
  Copying resources from program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT.pom] (filtered)
  Copying resources from program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-CameraKitCodenameOne/1.0-SNAPSHOT/mainclass-CameraKitCodenameOne-1.0-SNAPSHOT-common.jar] (filtered)
  Copying resources from program directory [/home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT.pom] (filtered)
  Copying resources from program jar [/home/francesco/.m2/repository/app/aren/client/mainclass-VideoOptimizerCN1Lib/1.0-SNAPSHOT/mainclass-VideoOptimizerCN1Lib-1.0-SNAPSHOT-common.jar] (filtered)
Proguard classpath: /home/francesco/.m2/repository/net/sf/proguard/proguard-base/6.3.0beta1/proguard-base-6.3.0beta1.jar
Keeping class app.aren.client.MainClass {
            *;
            }
ProGuard, version 6.3.0 beta1
Reading program jar [/home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/compliance-check.jar] (filtered)
Reading library jar [/home/francesco/.m2/repository/com/codenameone/java-runtime/7.0.27/java-runtime-7.0.27.jar] (filtered)
Reading library jar [/home/francesco/.m2/repository/com/codenameone/codenameone-core/7.0.27/codenameone-core-7.0.27.jar] (filtered)

--- codenameone-maven-plugin:7.0.27:css (cn1-process-classes) @ mainclass-common ---
Retina Scale: 1.0
Using stateless mode
Updating merge file /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/css/theme.css
Compiling /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/css/theme.css to /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/classes/theme.res
Looks like this CSS file needs CEF on classpath... adding it now, and retrying...
Adding CEF to classpath /home/francesco/.m2/repository/com/codenameone/codenameone-cef/84.4.1-M3/codenameone-cef-84.4.1-M3-linux64.zip-extracted
Retina Scale: 1.0
Using stateless mode
Updating merge file /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/css/theme.css
Compiling /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/css/theme.css to /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/classes/theme.res
[EDT] 0:0:0,1 - Codename One revisions: 7dd4e7d08b3442d90959477ee52a5ae8c4361b29

[EDT] 0:0:0,5 - Attempting to create browser component
[AWT-EventQueue-0] 0:0:0,5 - Attempting to create browser component
Using:
JCEF Version = 84.4.1.262
CEF Version = 84.4.1
Chromium Version = 84.0.4147.105
initialize on Thread[AWT-EventQueue-0,6,main] with library path /home/francesco/.m2/repository/com/codenameone/codenameone-cef/84.4.1-M3/codenameone-cef-84.4.1-M3-linux64.zip-extracted/lib/linux64
Added scheme search://
Added scheme client://
Added scheme cn1stream://

DevTools listening on ws://127.0.0.1:40033/devtools/browser/bd108ed8-ccda-4057-a66d-fe73e8c4b884
AppHandler.stateHasChanged: NEW
AppHandler.stateHasChanged: INITIALIZING
AppHandler.stateHasChanged: INITIALIZED
Failed to get location on screen:component must be showing on the screen to determine its location
CSS file successfully compiled.  /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/classes/theme.res

--- maven-resources-plugin:2.6:testResources (default-testResources) @ mainclass-common ---
Using 'UTF-8' encoding to copy filtered resources.
Copying 0 resource

--- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ mainclass-common ---
Changes detected - recompiling the module!
Compiling 1 source file to /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/test-classes

--- maven-surefire-plugin:3.0.0-M5:test (default-test) @ mainclass-common ---

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running app.aren.client.MyFirstTest
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in app.aren.client.MyFirstTest

Results:

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0


--- codenameone-maven-plugin:7.0.27:attach-test-artifact (attach-test-artifact) @ mainclass-common ---

--- maven-jar-plugin:2.4:jar (default-jar) @ mainclass-common ---
Building jar: /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/mainclass-common-1.0-SNAPSHOT.jar

--- maven-install-plugin:2.4:install (default-install) @ mainclass-common ---
Installing /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/mainclass-common-1.0-SNAPSHOT.jar to /home/francesco/.m2/repository/app/aren/client/mainclass-common/1.0-SNAPSHOT/mainclass-common-1.0-SNAPSHOT.jar
Installing /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/pom.xml to /home/francesco/.m2/repository/app/aren/client/mainclass-common/1.0-SNAPSHOT/mainclass-common-1.0-SNAPSHOT.pom
Installing /home/francesco/NetBeansProjects/3_MyApp/MyAppClient/common/target/mainclass-common-1.0-SNAPSHOT-tests.jar to /home/francesco/.m2/repository/app/aren/client/mainclass-common/1.0-SNAPSHOT/mainclass-common-1.0-SNAPSHOT-tests.jar
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time:  45.500 s
Finished at: 2021-06-04T15:40:55+02:00
------------------------------------------------------------------------

jsfan3 avatar Jun 04 '21 13:06 jsfan3

Much of this is because Maven's incremental compile option has a bug. If any files are changed, it compiles all the files. By adding -Dmaven.compiler.useIncrementalCompilation=false it will only compile the changed files (ironic naming). However this option is not perfect because it won't compile files that depend on the changed files so it can create an inconsistent state. I'm using this option currently for the "hot-reload" support I'm developing:

https://github.com/codenameone/CodenameOne/blob/master/Ports/JavaSE/src/com/codename1/impl/javase/SourceChangeWatcher.java#L92

Notice, I also disable the compliance check in that case to boost performance.

The compliance check may seem unnecessary, but it is helpful for identifying problems before you get to the build server. I'm considering disabling it for running the simulator, and keeping it on for builds.

shannah avatar Jun 04 '21 20:06 shannah

I think disabling the compliance check will lead to far worse problems. People will add dependencies and write a lot of code only to find out that they need to throw it all away. It doesn't have to be in the hot reload but it has to be in the simulator run code.

shai-almog avatar Jun 05 '21 03:06 shai-almog

So Maven has had a bug for more than eight years that no one has fixed and that hasn't even been assigned....

What do you think about Netbeans' "Compile on save" option, in reference to speeding up compilation? It seems to me that it doesn't produce any benefit, I'm not sure if it's worth keeping it enabled or disabled.

jsfan3 avatar Jun 05 '21 14:06 jsfan3

I don't think IDE compile-on-save options will be suitable here as they probably don't take all of the build steps into account. There are many things that we will be able to do to improve build times and introduce smart incremental build options - but these will have to be developed specifically for CN1.

shannah avatar Jun 05 '21 14:06 shannah

I was just about to open an issue like this one :-)

Can proguard at least be disabled for the following 2 options?

-Run in simulator -Run as Desktop app

I think that will at least let us debug & simulate a lot faster

javieranton-zz avatar Jun 09 '21 07:06 javieranton-zz

I think Shai's right about keeping it on for simulator (and also desktop app). We are about to unroll (pseudo) hot reload which should alleviate most of the pain here.

shannah avatar Jun 09 '21 11:06 shannah