Skip to content

Commit deb3175

Browse files
author
jantje
committed
#1339 merged the 2 version implementations
Also used the versionNumber class to store versions
1 parent 6708628 commit deb3175

File tree

15 files changed

+218
-263
lines changed

15 files changed

+218
-263
lines changed

io.sloeber.core/src/io/sloeber/core/api/BoardDescription.java

+12-24
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ public class BoardDescription {
7474
private String myBoardID = EMPTY;
7575
private Map<String, String> myOptions = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
7676

77-
7877
/*
7978
* Stuff to make things work
8079
*/
@@ -94,7 +93,6 @@ public class BoardDescription {
9493
private final String KEY_SLOEBER_UPLOAD_PORT = "UPLOAD.PORT"; //$NON-NLS-1$
9594
private final String KEY_SLOEBER_MENU_SELECTION = "BOARD.MENU"; //$NON-NLS-1$
9695

97-
9896
@Override
9997
public String toString() {
10098
return getReferencingBoardsFile() + " \"" + getBoardName() + "\" " + getUploadPort(); //$NON-NLS-1$//$NON-NLS-2$
@@ -207,7 +205,7 @@ private void ParseSection() {
207205
} else if (valueSplit.length == 4) {
208206
String refVendor = valueSplit[0];
209207
String refArchitecture = valueSplit[1];
210-
String refVersion = valueSplit[2];
208+
VersionNumber refVersion = new VersionNumber(valueSplit[2]);
211209
String actualValue = valueSplit[3];
212210
myBoardsCore = actualValue;
213211
myReferencedCorePlatformPath = InternalPackageManager.getPlatformInstallPath(refVendor, refArchitecture,
@@ -241,7 +239,7 @@ private void ParseSection() {
241239
} else if (valueSplit.length == 4) {
242240
String refVendor = valueSplit[0];
243241
String refArchitecture = valueSplit[1];
244-
String refVersion = valueSplit[2];
242+
VersionNumber refVersion = new VersionNumber(valueSplit[2]);
245243
String actualValue = valueSplit[3];
246244
this.myBoardsVariant = actualValue;
247245
if ("*".equals(refVersion)) { //$NON-NLS-1$
@@ -280,7 +278,7 @@ private void ParseSection() {
280278
} else if (valueSplit.length == 4) {
281279
String refVendor = valueSplit[0];
282280
String refArchitecture = valueSplit[1];
283-
String refVersion = valueSplit[2];
281+
VersionNumber refVersion = new VersionNumber(valueSplit[2]);
284282
String actualValue = valueSplit[3];
285283
this.myUploadTool = actualValue;
286284
this.myReferencedUploadToolPlatformPath = InternalPackageManager.getPlatformInstallPath(refVendor,
@@ -357,8 +355,6 @@ public BoardDescription(BoardDescription srcObject) {
357355
myOptions = new TreeMap<>(srcObject.myOptions);
358356
}
359357

360-
361-
362358
public String getuploadTool() {
363359
return this.myUploadTool;
364360
}
@@ -374,7 +370,8 @@ private void setDefaultOptions() {
374370
Map<String, String> allMenuIDs = this.myBoardTxtFile.getMenus();
375371
for (Map.Entry<String, String> curMenuID : allMenuIDs.entrySet()) {
376372
String providedMenuValue = this.myOptions.get(curMenuID.getKey());
377-
ArrayList<String> menuOptions = this.myBoardTxtFile.getMenuItemIDsFromMenuID(curMenuID.getKey(), getBoardID());
373+
ArrayList<String> menuOptions = this.myBoardTxtFile.getMenuItemIDsFromMenuID(curMenuID.getKey(),
374+
getBoardID());
378375
if (menuOptions.size() > 0) {
379376
if (providedMenuValue == null) {
380377

@@ -398,7 +395,6 @@ public void saveUserSelection() {
398395
myStorageNode.put(KEY_LAST_USED_BOARD_MENU_OPTIONS, KeyValue.makeString(this.myOptions));
399396
}
400397

401-
402398
public String getArchitecture() {
403399
return this.myBoardTxtFile.getArchitecture();
404400
}
@@ -526,7 +522,6 @@ public String[] getMenuItemNamesFromMenuID(String menuID) {
526522
return this.myBoardTxtFile.getMenuItemNamesFromMenuID(menuID, this.myBoardID);
527523
}
528524

529-
530525
public TreeMap<String, IPath> getAllExamples() {
531526
updateWhenDirty();
532527
return LibraryManager.getAllExamples(this);
@@ -661,7 +656,6 @@ public String getUploadPatternKey() {
661656
return TOOLS + DOT + upLoadTool + DOT + UPLOAD + DOT + networkPrefix + PATTERN;
662657
}
663658

664-
665659
public IPath getreferencedHardwarePath() {
666660
updateWhenDirty();
667661
IPath platformPath = getReferencedCorePlatformPath();
@@ -701,7 +695,6 @@ public boolean isNetworkUpload() {
701695
return getHost() != null;
702696
}
703697

704-
705698
protected BoardDescription(File txtFile, String boardID) {
706699
this.myBoardID = boardID;
707700
this.myreferencingBoardsFile = txtFile;
@@ -730,7 +723,6 @@ protected BoardDescription(File txtFile, String boardID) {
730723
}
731724
}
732725

733-
734726
private Map<String, String> onlyKeepValidOptions(Map<String, String> options) {
735727
Map<String, String> ret = new HashMap<>();
736728

@@ -824,7 +816,6 @@ public Map<String, String> getEnvVars() {
824816
allVars.put(ENV_KEY_HARDWARE_PATH, getreferencedHardwarePath().toOSString());
825817
allVars.put(ENV_KEY_PLATFORM_PATH, getreferencingPlatformPath().toOSString());
826818

827-
828819
allVars.put(ENV_KEY_SERIAL_PORT, getActualUploadPort());
829820
allVars.put(ENV_KEY_SERIAL_DOT_PORT, getActualUploadPort());
830821

@@ -846,7 +837,6 @@ public Map<String, String> getEnvVars() {
846837
allVars.put(ENV_KEY_REFERENCED_VARIANT_PLATFORM_PATH, getReferencedVariantPlatformPath().toOSString());
847838
allVars.put(ENV_KEY_REFERENCED_UPLOAD_PLATFORM_PATH, getReferencedUploadPlatformPath().toOSString());
848839

849-
850840
PlatformTxtFile referencedPlatfromFile = getreferencedPlatformFile();
851841
// process the platform file referenced by the boards.txt
852842
if (referencedPlatfromFile != null) {
@@ -861,12 +851,10 @@ public Map<String, String> getEnvVars() {
861851
// put in the installed tools info
862852
allVars.putAll(getEnVarPlatformInfo());
863853

864-
865-
866854
Programmers localProgrammers[] = Programmers.fromBoards(this);
867855
String programmer = getProgrammer();
868856
for (Programmers curProgrammer : localProgrammers) {
869-
// allVars.putAll(curProgrammer.getAllEnvironVars());
857+
// allVars.putAll(curProgrammer.getAllEnvironVars());
870858
String programmerID = curProgrammer.getIDFromNiceName(programmer);
871859
if (programmerID != null) {
872860
allVars.putAll(curProgrammer.getAllEnvironVars(programmerID));
@@ -1069,18 +1057,18 @@ public static BoardDescription getFromCDT(ICConfigurationDescription confDesc) {
10691057
ret.myBoardID = getOldWayEnvVar(confDesc, "JANTJE.board_ID");
10701058
String optinconcat = getOldWayEnvVar(confDesc, "JANTJE.menu");
10711059
ret.myOptions = KeyValue.makeMap(optinconcat);
1072-
1060+
10731061
String referencingBoardsFile = getOldWayEnvVar(confDesc, "JANTJE.boards_file");
1074-
int packagesIndex=referencingBoardsFile.indexOf( "\\arduinoPlugin\\packages\\");
1075-
if(packagesIndex==-1) {
1076-
packagesIndex=referencingBoardsFile.indexOf( "/arduinoPlugin/packages/");
1062+
int packagesIndex = referencingBoardsFile.indexOf("\\arduinoPlugin\\packages\\");
1063+
if (packagesIndex == -1) {
1064+
packagesIndex = referencingBoardsFile.indexOf("/arduinoPlugin/packages/");
10771065
}
1078-
if(packagesIndex!=-1) {
1066+
if (packagesIndex != -1) {
10791067
referencingBoardsFile = sloeberHomePath.append(referencingBoardsFile.substring(packagesIndex)).toString();
10801068
}
10811069
ret.myreferencingBoardsFile = resolvePathEnvironmentString(new File(referencingBoardsFile));
10821070
ret.myBoardTxtFile = new BoardTxtFile(ret.myreferencingBoardsFile);
1083-
1071+
10841072
return ret;
10851073
}
10861074

io.sloeber.core/src/io/sloeber/core/api/Json/library/LibraryIndexJson.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
import io.sloeber.core.api.Defaults;
2323
import io.sloeber.core.api.LibraryDescriptor;
24-
import io.sloeber.core.tools.Version;
24+
import io.sloeber.core.api.VersionNumber;
2525

2626
/**
2727
* This class represents a json file that references libraries
@@ -64,7 +64,7 @@ public void resolve(File packageFile) {
6464

6565
LibraryJson current = this.latestLibs.get(name);
6666
if (current != null) {
67-
if (Version.compare(library.getVersion(), current.getVersion()) > 0) {
67+
if (library.getVersion().compareTo(current.getVersion()) > 0) {
6868
this.latestLibs.put(name, library);
6969
}
7070
} else {
@@ -77,7 +77,7 @@ public LibraryJson getLatestLibrary(String name) {
7777
return this.latestLibs.get(name);
7878
}
7979

80-
public LibraryJson getLibrary(String libName, String version) {
80+
public LibraryJson getLibrary(String libName, VersionNumber version) {
8181
for (LibraryJson library : this.libraries) {
8282
if (library.getName().equals(libName) && (library.getVersion().equals(version))) {
8383
return library;

io.sloeber.core/src/io/sloeber/core/api/Json/library/LibraryJson.java

+19-18
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.google.gson.JsonParseException;
2424

2525
import io.sloeber.core.Activator;
26+
import io.sloeber.core.api.VersionNumber;
2627
import io.sloeber.core.common.Common;
2728
import io.sloeber.core.common.ConfigurationPreferences;
2829
import io.sloeber.core.managers.InternalPackageManager;
@@ -38,7 +39,7 @@
3839
public class LibraryJson implements Comparable<LibraryJson> {
3940

4041
private String name;
41-
private String version;
42+
private VersionNumber version;
4243
private String author;
4344
private String maintainer;
4445
private String sentence;
@@ -58,7 +59,7 @@ public LibraryJson(JsonElement json, LibraryIndexJson libraryIndexJson) {
5859
JsonObject jsonObject = json.getAsJsonObject();
5960
try {
6061
name = getSafeString(jsonObject, "name");
61-
version = getSafeString(jsonObject, "version");
62+
version = getSafeVersion(jsonObject, "version");
6263
author = getSafeString(jsonObject, "author");
6364
maintainer = getSafeString(jsonObject, "maintainer");
6465
sentence = getSafeString(jsonObject, "sentence");
@@ -82,64 +83,64 @@ public LibraryJson(JsonElement json, LibraryIndexJson libraryIndexJson) {
8283
}
8384

8485
public String getName() {
85-
return this.name;
86+
return name;
8687
}
8788

88-
public String getVersion() {
89-
return this.version;
89+
public VersionNumber getVersion() {
90+
return version;
9091
}
9192

9293
public String getAuthor() {
93-
return this.author;
94+
return author;
9495
}
9596

9697
public String getMaintainer() {
97-
return this.maintainer;
98+
return maintainer;
9899
}
99100

100101
public String getSentence() {
101-
return this.sentence;
102+
return sentence;
102103
}
103104

104105
public String getParagraph() {
105-
return this.paragraph;
106+
return paragraph;
106107
}
107108

108109
public String getWebsite() {
109-
return this.website;
110+
return website;
110111
}
111112

112113
public String getCategory() {
113-
return this.category;
114+
return category;
114115
}
115116

116117
public List<String> getArchitectures() {
117-
return this.architectures;
118+
return architectures;
118119
}
119120

120121
public List<String> getTypes() {
121-
return this.types;
122+
return types;
122123
}
123124

124125
public String getUrl() {
125-
return this.url;
126+
return url;
126127
}
127128

128129
public String getArchiveFileName() {
129-
return this.archiveFileName;
130+
return archiveFileName;
130131
}
131132

132133
public int getSize() {
133-
return this.size;
134+
return size;
134135
}
135136

136137
public String getChecksum() {
137-
return this.checksum;
138+
return checksum;
138139
}
139140

140141
public IPath getInstallPath() {
141142
return ConfigurationPreferences.getInstallationPathLibraries().append(this.name.replace(' ', '_'))
142-
.append(this.version);
143+
.append(version.toString());
143144
}
144145

145146
public boolean isInstalled() {

io.sloeber.core/src/io/sloeber/core/api/Json/packages/ArduinoPlatform.java

+13-13
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.google.gson.JsonParseException;
2727

2828
import io.sloeber.core.Activator;
29+
import io.sloeber.core.api.VersionNumber;
2930
import io.sloeber.core.common.ConfigurationPreferences;
3031
import io.sloeber.core.common.Const;
3132
import io.sloeber.core.managers.InternalPackageManager;
@@ -34,7 +35,7 @@ public class ArduinoPlatform {
3435

3536
private String name;
3637
private String architecture;
37-
private String version;
38+
private VersionNumber version;
3839
private String category;
3940
private String url;
4041
private String archiveFileName;
@@ -55,7 +56,7 @@ public ArduinoPlatform(JsonElement json, Package parent) {
5556
try {
5657
name = getSafeString(jsonObject, "name");
5758
architecture = getSafeString(jsonObject, "architecture");
58-
version = getSafeString(jsonObject, "version");
59+
version = getSafeVersion(jsonObject, "version");
5960
category = getSafeString(jsonObject, "category");
6061
url = getSafeString(jsonObject, "url");
6162
archiveFileName = getSafeString(jsonObject, "archiveFileName");
@@ -83,35 +84,35 @@ public String getName() {
8384
}
8485

8586
public String getArchitecture() {
86-
return this.architecture;
87+
return architecture;
8788
}
8889

89-
public String getVersion() {
90-
return this.version;
90+
public VersionNumber getVersion() {
91+
return version;
9192
}
9293

9394
public String getCategory() {
94-
return this.category;
95+
return category;
9596
}
9697

9798
public String getUrl() {
98-
return this.url;
99+
return url;
99100
}
100101

101102
public String getArchiveFileName() {
102-
return this.archiveFileName;
103+
return archiveFileName;
103104
}
104105

105106
public String getChecksum() {
106-
return this.checksum;
107+
return checksum;
107108
}
108109

109110
public String getSize() {
110-
return this.size;
111+
return size;
111112
}
112113

113114
public List<ToolDependency> getToolsDependencies() {
114-
return this.toolsDependencies;
115+
return toolsDependencies;
115116
}
116117

117118
public boolean isInstalled() {
@@ -128,7 +129,7 @@ public File getPlatformFile() {
128129

129130
public IPath getInstallPath() {
130131
IPath stPath = ConfigurationPreferences.getInstallationPathPackages().append(this.myParent.getName())
131-
.append(Const.ARDUINO_HARDWARE_FOLDER_NAME).append(this.architecture).append(this.version);
132+
.append(Const.ARDUINO_HARDWARE_FOLDER_NAME).append(this.architecture).append(this.version.toString());
132133
return stPath;
133134
}
134135

@@ -138,7 +139,6 @@ public List<IPath> getIncludePath() {
138139
installPath.append(Const.VARIANTS_FOLDER_NAME + "/{build.variant}")); //$NON-NLS-1$
139140
}
140141

141-
@SuppressWarnings("unused")
142142
public IStatus remove(IProgressMonitor monitor) {
143143
// Check if we're installed
144144
if (!isInstalled()) {

0 commit comments

Comments
 (0)