Skip to content

Commit 324a9bc

Browse files
authored
Merge pull request #9023 from mattiabertorello/add-file-cache
Add file downloader cache to make faster the library/boards manager
2 parents ba34eb6 + 9ce5101 commit 324a9bc

28 files changed

+1167
-229
lines changed

.classpath

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
<classpathentry kind="src" path="app/test"/>
55
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
66
<classpathentry kind="lib" path="app/lib/apple.jar"/>
7-
<classpathentry kind="lib" path="app/lib/ecj.jar"/>
87
<classpathentry kind="lib" path="app/test-lib/junit-4.11.jar"/>
98
<classpathentry kind="lib" path="app/test-lib/fest-assert-1.2.jar"/>
109
<classpathentry kind="lib" path="app/test-lib/fest-reflect-1.2.jar"/>
@@ -16,10 +15,10 @@
1615
<classpathentry kind="lib" path="app/lib/commons-httpclient-3.1.jar"/>
1716
<classpathentry kind="lib" path="app/lib/commons-logging-1.0.4.jar"/>
1817
<classpathentry kind="lib" path="app/lib/commons-net-3.3.jar"/>
19-
<classpathentry kind="lib" path="app/lib/jmdns-3.5.1.jar"/>
18+
<classpathentry kind="lib" path="app/lib/jmdns-3.5.3.jar"/>
2019
<classpathentry kind="lib" path="app/lib/slf4j-api-1.7.22.jar"/>
2120
<classpathentry kind="lib" path="app/lib/jsch-0.1.50.jar"/>
22-
<classpathentry kind="lib" path="app/lib/jssc-2.8.0.jar"/>
21+
<classpathentry kind="lib" path="app/lib/jssc-2.8.0-arduino3.jar"/>
2322
<classpathentry kind="lib" path="app/lib/bcpg-jdk15on-152.jar"/>
2423
<classpathentry kind="lib" path="app/lib/bcprov-jdk15on-152.jar"/>
2524
<classpathentry kind="lib" path="app/lib/jackson-core-2.9.5.jar"/>

app/.classpath

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
<classpathentry kind="lib" path="lib/jmdns-3.5.3.jar"/>
4040
<classpathentry kind="lib" path="lib/slf4j-api-1.7.22.jar"/>
4141
<classpathentry kind="lib" path="lib/slf4j-simple-1.7.22.jar"/>
42+
<classpathentry kind="lib" path="lib/log4j-api-2.12.0.jar"/>
43+
<classpathentry kind="lib" path="lib/log4j-core-2.12.0.jar"/>
4244
<classpathentry kind="lib" path="lib/jsch-0.1.50.jar"/>
4345
<classpathentry kind="lib" path="lib/jssc-2.8.0-arduino3.jar"/>
4446
<classpathentry kind="lib" path="lib/rsyntaxtextarea-3.0.3-SNAPSHOT.jar"/>

app/build.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@
8080
includeAntRuntime="false"
8181
debug="true"
8282
classpathref="class.path" />
83+
<!-- If you want to add files in the jars -->
84+
<copy todir="bin" overwrite="true" verbose="true">
85+
<fileset dir="src" includes="log4j2.xml" />
86+
</copy>
8387
</target>
8488

8589
<target name="test" depends="compile" description="Runs the test">

app/lib/commons-io-2.6.jar

210 KB
Binary file not shown.

app/lib/log4j-api-2.12.0.jar

267 KB
Binary file not shown.

app/lib/log4j-core-2.12.0.jar

1.59 MB
Binary file not shown.

app/src/log4j2.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="warn" name="Arduino" packages="cc.arduino">
3+
<Appenders>
4+
5+
<!-- Console Appender -->
6+
<Console name="Console" target="SYSTEM_ERR">
7+
<PatternLayout pattern="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}{UTC} %p %c{1.} [%t] %m%n" />
8+
</Console>
9+
10+
<!-- Rolling File Appender -->
11+
<RollingFile name="RollingFile" fileName="${sys:log4j.saveDirectory}/logs/application.log"
12+
filePattern="${sys:log4j.saveDirectory}/logs/application-%d{MM-dd-yyyy}-%i.log.gz"
13+
ignoreExceptions="false">
14+
<PatternLayout>
15+
<Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}{UTC} %p %c{1.} [%t] %m%n</Pattern>
16+
</PatternLayout>
17+
<Policies>
18+
<SizeBasedTriggeringPolicy size="50 MB"/>
19+
</Policies>
20+
<DefaultRolloverStrategy max="20"/>
21+
</RollingFile>
22+
</Appenders>
23+
<Loggers>
24+
<Root level="debug">
25+
<AppenderRef ref="Console" level="info" />
26+
<AppenderRef ref="RollingFile"/>
27+
</Root>
28+
</Loggers>
29+
</Configuration>

app/src/processing/app/Base.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,30 +26,29 @@
2626
import cc.arduino.Constants;
2727
import cc.arduino.UpdatableBoardsLibsFakeURLsHandler;
2828
import cc.arduino.UploaderUtils;
29-
import cc.arduino.packages.Uploader;
3029
import cc.arduino.contributions.*;
31-
import cc.arduino.contributions.libraries.*;
30+
import cc.arduino.contributions.libraries.ContributedLibrary;
31+
import cc.arduino.contributions.libraries.LibrariesIndexer;
32+
import cc.arduino.contributions.libraries.LibraryInstaller;
33+
import cc.arduino.contributions.libraries.LibraryOfSameTypeComparator;
3234
import cc.arduino.contributions.libraries.ui.LibraryManagerUI;
3335
import cc.arduino.contributions.packages.ContributedPlatform;
3436
import cc.arduino.contributions.packages.ContributionInstaller;
3537
import cc.arduino.contributions.packages.ContributionsIndexer;
3638
import cc.arduino.contributions.packages.ui.ContributionManagerUI;
3739
import cc.arduino.files.DeleteFilesOnShutdown;
3840
import cc.arduino.packages.DiscoveryManager;
41+
import cc.arduino.packages.Uploader;
3942
import cc.arduino.view.Event;
4043
import cc.arduino.view.JMenuUtils;
4144
import cc.arduino.view.SplashScreenHelper;
42-
45+
import com.github.zafarkhaja.semver.Version;
4346
import org.apache.commons.compress.utils.IOUtils;
4447
import org.apache.commons.lang3.StringUtils;
45-
46-
import com.github.zafarkhaja.semver.Version;
47-
4848
import processing.app.debug.TargetBoard;
4949
import processing.app.debug.TargetPackage;
5050
import processing.app.debug.TargetPlatform;
5151
import processing.app.helpers.*;
52-
import processing.app.helpers.OSUtils;
5352
import processing.app.helpers.filefilters.OnlyDirs;
5453
import processing.app.helpers.filefilters.OnlyFilesWithExtension;
5554
import processing.app.javax.swing.filechooser.FileNameExtensionFilter;
@@ -67,9 +66,9 @@
6766
import java.awt.*;
6867
import java.awt.event.*;
6968
import java.io.*;
70-
import java.util.*;
7169
import java.util.List;
7270
import java.util.Timer;
71+
import java.util.*;
7372
import java.util.logging.Handler;
7473
import java.util.logging.Level;
7574
import java.util.logging.Logger;
@@ -208,6 +207,8 @@ public Base(String[] args) throws Exception {
208207
BaseNoGui.getPlatform().init();
209208

210209
BaseNoGui.initPortableFolder();
210+
// This configure the logs root folder
211+
System.setProperty("log4j.saveDirectory", BaseNoGui.getSettingsFolder().getAbsolutePath());
211212

212213
// Look for a possible "--preferences-file" parameter and load preferences
213214
BaseNoGui.initParameters(args);
@@ -286,8 +287,9 @@ public Base(String[] args) throws Exception {
286287
pdeKeywords = new PdeKeywords();
287288
pdeKeywords.reload();
288289

289-
contributionInstaller = new ContributionInstaller(BaseNoGui.getPlatform(), new GPGDetachedSignatureVerifier());
290-
libraryInstaller = new LibraryInstaller(BaseNoGui.getPlatform());
290+
final GPGDetachedSignatureVerifier gpgDetachedSignatureVerifier = new GPGDetachedSignatureVerifier();
291+
contributionInstaller = new ContributionInstaller(BaseNoGui.getPlatform(), gpgDetachedSignatureVerifier);
292+
libraryInstaller = new LibraryInstaller(BaseNoGui.getPlatform(), gpgDetachedSignatureVerifier);
291293

292294
parser.parseArgumentsPhase2();
293295

@@ -301,7 +303,7 @@ public Base(String[] args) throws Exception {
301303
if (parser.isInstallBoard()) {
302304
ContributionsIndexer indexer = new ContributionsIndexer(
303305
BaseNoGui.getSettingsFolder(), BaseNoGui.getHardwareFolder(),
304-
BaseNoGui.getPlatform(), new GPGDetachedSignatureVerifier());
306+
BaseNoGui.getPlatform(), gpgDetachedSignatureVerifier);
305307
ProgressListener progressListener = new ConsoleProgressListener();
306308

307309
List<String> downloadedPackageIndexFiles = contributionInstaller.updateIndex(progressListener);

arduino-core/.classpath

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<classpathentry kind="lib" path="lib/jmdns-3.5.3.jar"/>
99
<classpathentry kind="lib" path="lib/slf4j-api-1.7.22.jar"/>
1010
<classpathentry kind="lib" path="lib/slf4j-simple-1.7.22.jar"/>
11+
<classpathentry kind="lib" path="lib/log4j-api-2.12.0.jar"/>
12+
<classpathentry kind="lib" path="lib/log4j-core-2.12.0.jar"/>
1113
<classpathentry kind="lib" path="lib/jssc-2.8.0-arduino3.jar"/>
1214
<classpathentry kind="lib" path="lib/jsch-0.1.50.jar"/>
1315
<classpathentry kind="lib" path="lib/commons-exec-1.1.jar"/>

arduino-core/lib/commons-io-2.6.jar

210 KB
Binary file not shown.

0 commit comments

Comments
 (0)