mirror of
https://github.com/arduino/Arduino.git
synced 2025-03-13 10:29:35 +01:00
Removed no more needed UserLibrary constructor/parser
This commit is contained in:
parent
5295e106db
commit
ce05a6831b
11
arduino-core/src/cc/arduino/legacy/OldI18nMessages.java
Normal file
11
arduino-core/src/cc/arduino/legacy/OldI18nMessages.java
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
package cc.arduino.legacy;
|
||||||
|
|
||||||
|
import static processing.app.I18n.tr;
|
||||||
|
|
||||||
|
public class OldI18nMessages {
|
||||||
|
|
||||||
|
static {
|
||||||
|
tr("Invalid version '{0}' for library in: {1}");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -28,25 +28,12 @@
|
|||||||
*/
|
*/
|
||||||
package processing.app.packages;
|
package processing.app.packages;
|
||||||
|
|
||||||
import static processing.app.I18n.format;
|
|
||||||
import static processing.app.I18n.tr;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import com.github.zafarkhaja.semver.Version;
|
|
||||||
|
|
||||||
import cc.arduino.Constants;
|
|
||||||
import cc.arduino.contributions.VersionHelper;
|
|
||||||
import cc.arduino.contributions.libraries.ContributedLibraryDependency;
|
import cc.arduino.contributions.libraries.ContributedLibraryDependency;
|
||||||
import processing.app.helpers.PreferencesMap;
|
|
||||||
|
|
||||||
public class UserLibrary {
|
public class UserLibrary {
|
||||||
|
|
||||||
@ -72,115 +59,6 @@ public class UserLibrary {
|
|||||||
public static final String LOCATION_REF_CORE = "ref-platform";
|
public static final String LOCATION_REF_CORE = "ref-platform";
|
||||||
protected String location;
|
protected String location;
|
||||||
|
|
||||||
public static UserLibrary create(File libFolder, String location) throws IOException {
|
|
||||||
// Parse metadata
|
|
||||||
File propertiesFile = new File(libFolder, "library.properties");
|
|
||||||
PreferencesMap properties = new PreferencesMap();
|
|
||||||
properties.load(propertiesFile);
|
|
||||||
|
|
||||||
// Library sanity checks
|
|
||||||
// ---------------------
|
|
||||||
|
|
||||||
// Compatibility with 1.5 rev.1 libraries:
|
|
||||||
// "email" field changed to "maintainer"
|
|
||||||
if (!properties.containsKey("maintainer") && properties.containsKey("email")) {
|
|
||||||
properties.put("maintainer", properties.get("email"));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Compatibility with 1.5 rev.1 libraries:
|
|
||||||
// "arch" folder no longer supported
|
|
||||||
File archFolder = new File(libFolder, "arch");
|
|
||||||
if (archFolder.isDirectory())
|
|
||||||
throw new IOException("'arch' folder is no longer supported! See http://goo.gl/gfFJzU for more information");
|
|
||||||
|
|
||||||
// Check mandatory properties
|
|
||||||
for (String p : Constants.LIBRARY_MANDATORY_PROPERTIES)
|
|
||||||
if (!properties.containsKey(p))
|
|
||||||
throw new IOException("Missing '" + p + "' from library");
|
|
||||||
|
|
||||||
// Check layout
|
|
||||||
String layout;
|
|
||||||
File srcFolder = new File(libFolder, "src");
|
|
||||||
|
|
||||||
if (srcFolder.exists() && srcFolder.isDirectory()) {
|
|
||||||
// Layout with a single "src" folder and recursive compilation
|
|
||||||
layout = "recursive";
|
|
||||||
} else {
|
|
||||||
// Layout with source code on library's root and "utility" folders
|
|
||||||
layout = "flat";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Warn if root folder contains development leftovers
|
|
||||||
File[] files = libFolder.listFiles();
|
|
||||||
if (files == null) {
|
|
||||||
throw new IOException("Unable to list files of library in " + libFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Extract metadata info
|
|
||||||
String architectures = properties.get("architectures");
|
|
||||||
if (architectures == null)
|
|
||||||
architectures = "*"; // defaults to "any"
|
|
||||||
List<String> archs = new ArrayList<>();
|
|
||||||
for (String arch : architectures.split(","))
|
|
||||||
archs.add(arch.trim());
|
|
||||||
|
|
||||||
String category = properties.get("category");
|
|
||||||
if (category == null) {
|
|
||||||
category = "Uncategorized";
|
|
||||||
}
|
|
||||||
if (!Constants.LIBRARY_CATEGORIES.contains(category)) {
|
|
||||||
category = "Uncategorized";
|
|
||||||
}
|
|
||||||
|
|
||||||
String license = properties.get("license");
|
|
||||||
if (license == null) {
|
|
||||||
license = "Unspecified";
|
|
||||||
}
|
|
||||||
|
|
||||||
String types = properties.get("types");
|
|
||||||
if (types == null) {
|
|
||||||
types = "Contributed";
|
|
||||||
}
|
|
||||||
List<String> typesList = new LinkedList<>();
|
|
||||||
for (String type : types.split(",")) {
|
|
||||||
typesList.add(type.trim());
|
|
||||||
}
|
|
||||||
|
|
||||||
List<String> includes = null;
|
|
||||||
if (properties.containsKey("includes") && !properties.get("includes").trim().isEmpty()) {
|
|
||||||
includes = new ArrayList<>();
|
|
||||||
for (String i : properties.get("includes").split(","))
|
|
||||||
includes.add(i.trim());
|
|
||||||
}
|
|
||||||
|
|
||||||
String declaredVersion = properties.get("version").trim();
|
|
||||||
Optional<Version> version = VersionHelper.valueOf(declaredVersion);
|
|
||||||
if (!version.isPresent()) {
|
|
||||||
System.out.println(
|
|
||||||
format(tr("Invalid version '{0}' for library in: {1}"), declaredVersion, libFolder.getAbsolutePath()));
|
|
||||||
}
|
|
||||||
|
|
||||||
UserLibrary res = new UserLibrary( //
|
|
||||||
libFolder, //
|
|
||||||
properties.get("name").trim(), //
|
|
||||||
version.isPresent() ? version.get().toString() : declaredVersion, //
|
|
||||||
properties.get("author").trim(), //
|
|
||||||
properties.get("maintainer").trim(), //
|
|
||||||
properties.get("sentence").trim(), //
|
|
||||||
properties.get("paragraph").trim(), //
|
|
||||||
properties.get("url").trim(), //
|
|
||||||
category.trim(), //
|
|
||||||
license.trim(), //
|
|
||||||
archs, //
|
|
||||||
layout, //
|
|
||||||
typesList, //
|
|
||||||
Files.exists(Paths.get(libFolder.getAbsolutePath(), Constants.LIBRARY_DEVELOPMENT_FLAG_FILE)), //
|
|
||||||
includes, //
|
|
||||||
location //
|
|
||||||
);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserLibrary(File installedFolder, String name, String version,
|
public UserLibrary(File installedFolder, String name, String version,
|
||||||
String author, String maintainer, String sentence,
|
String author, String maintainer, String sentence,
|
||||||
String paraghraph, String website, String category,
|
String paraghraph, String website, String category,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user