From faa0572a5f1f61c8bedceac657b385b524ade013 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Thu, 23 Jan 2025 17:22:44 +0100 Subject: [PATCH 01/10] Removed unused libraries package. Tests have been moved in the corresponding internal package. --- internal/libraries/repolist_test.go | 104 ++++++++++++++ .../libraries}/testdata/git_test_repos.txt | 0 libraries/repolist.go | 41 ------ libraries/repolist_test.go | 135 ------------------ 4 files changed, 104 insertions(+), 176 deletions(-) rename {libraries => internal/libraries}/testdata/git_test_repos.txt (100%) delete mode 100644 libraries/repolist.go delete mode 100644 libraries/repolist_test.go diff --git a/internal/libraries/repolist_test.go b/internal/libraries/repolist_test.go index b253c8ba..edd0a6d1 100644 --- a/internal/libraries/repolist_test.go +++ b/internal/libraries/repolist_test.go @@ -59,3 +59,107 @@ func TestRepoFolderPathDetermination(t *testing.T) { require.NoError(t, err) require.Equal(t, "bitbucket.org/bjoern/arduino_osc", f) } + +func TestLoadRepoListFromFile(t *testing.T) { + _, err := LoadRepoListFromFile("./testdata/nonexistent.txt") + assert.Error(t, err, "Attempt to load non-existent registry data file") + + repos, err := LoadRepoListFromFile("./testdata/git_test_repos.txt") + require.NoError(t, err) + + reposAssertion := []*Repo{ + { + URL: "https://github.com/arduino-libraries", + Types: []string{"Arduino"}, + LibraryName: "libraries", + }, + { + URL: "git@github.com:PaulStoffregen/Audio.git", + Types: []string{"Contributed"}, + LibraryName: "Audio", + }, + { + URL: "https://github.com/PaulStoffregen/OctoWS2811.git", + Types: []string{"Arduino", "Contributed"}, + LibraryName: "OctoWS2811", + }, + { + URL: "https://github.com/PaulStoffregen/AltSoftSerial.git", + Types: []string{"Contributed"}, + LibraryName: "AltSoftSerial", + }, + { + URL: "https://github.com/Cheong2K/ble-sdk-arduino.git", + Types: []string{"Contributed"}, + LibraryName: "ble-sdk-arduino", + }, + { + URL: "https://github.com/arduino-libraries/Bridge.git", + Types: []string{"Contributed"}, + LibraryName: "Bridge", + }, + { + URL: "https://github.com/adafruit/Adafruit_ADS1X15.git", + Types: []string{"Recommended"}, + LibraryName: "Adafruit_ADS1X15", + }, + { + URL: "https://github.com/adafruit/Adafruit_ADXL345.git", + Types: []string{"Recommended"}, + LibraryName: "Adafruit_ADXL345", + }, + { + URL: "https://github.com/adafruit/Adafruit_AHRS.git", + Types: []string{"Recommended"}, + LibraryName: "Adafruit_AHRS", + }, + { + URL: "https://github.com/adafruit/Adafruit_AM2315.git", + Types: []string{"Recommended"}, + LibraryName: "Adafruit_AM2315", + }, + { + URL: "https://github.com/arduino-libraries/Scheduler.git", + Types: []string{"Arduino"}, + LibraryName: "Scheduler", + }, + { + URL: "https://github.com/arduino-libraries/SD.git", + Types: []string{"Arduino"}, + LibraryName: "SD", + }, + { + URL: "https://github.com/arduino-libraries/Servo.git", + Types: []string{"Arduino"}, + LibraryName: "Servo", + }, + } + + assert.Equal(t, reposAssertion, repos) +} + +func TestListRepos(t *testing.T) { + repos, err := ListRepos("testdata/git_test_repos.txt") + require.Error(t, err) + + require.Equal(t, 11, len(repos)) + + require.Equal(t, "https://github.com/PaulStoffregen/OctoWS2811.git", repos[0].URL) + require.Equal(t, "https://github.com/PaulStoffregen/AltSoftSerial.git", repos[1].URL) + + require.Equal(t, "https://github.com/Cheong2K/ble-sdk-arduino.git", repos[2].URL) + require.Equal(t, "https://github.com/arduino-libraries/Bridge.git", repos[3].URL) + require.Equal(t, "https://github.com/adafruit/Adafruit_ADS1X15.git", repos[4].URL) + require.Equal(t, "https://github.com/adafruit/Adafruit_ADXL345.git", repos[5].URL) + require.Equal(t, "https://github.com/adafruit/Adafruit_AHRS.git", repos[6].URL) + require.Equal(t, "https://github.com/adafruit/Adafruit_AM2315.git", repos[7].URL) + require.Equal(t, "https://github.com/arduino-libraries/Scheduler.git", repos[8].URL) + require.Equal(t, "https://github.com/arduino-libraries/SD.git", repos[9].URL) + require.Equal(t, "https://github.com/arduino-libraries/Servo.git", repos[10].URL) + require.Error(t, err) + + error, ok := err.(GitURLsError) + require.True(t, ok) + require.Equal(t, "https://github.com/arduino-libraries", error.Repos[0].URL) + require.Equal(t, "git@github.com:PaulStoffregen/Audio.git", error.Repos[1].URL) +} diff --git a/libraries/testdata/git_test_repos.txt b/internal/libraries/testdata/git_test_repos.txt similarity index 100% rename from libraries/testdata/git_test_repos.txt rename to internal/libraries/testdata/git_test_repos.txt diff --git a/libraries/repolist.go b/libraries/repolist.go deleted file mode 100644 index 94f7b78b..00000000 --- a/libraries/repolist.go +++ /dev/null @@ -1,41 +0,0 @@ -// This file is part of libraries-repository-engine. -// -// Copyright 2021 ARDUINO SA (http://www.arduino.cc/) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -// -// You can be released from the requirements of the above licenses by purchasing -// a commercial license. Buying such a license is mandatory if you want to -// modify or otherwise use the software for commercial activities involving the -// Arduino software without disclosing the source code of your own applications. -// To purchase a commercial license, send an email to license@arduino.cc. - -package libraries - -import ( - "github.com/arduino/libraries-repository-engine/internal/libraries" -) - -// LoadRepoListFromFile returns an unfiltered list of library registry entries loaded from the given data file. -func LoadRepoListFromFile(filename string) ([]*Repo, error) { - return libraries.LoadRepoListFromFile(filename) -} - -// Repo is the type for the library repository data. -type Repo = libraries.Repo - -// ListRepos returns a filtered list of library registry entries loaded from the given data file. -func ListRepos(reposFilename string) ([]*Repo, error) { - return libraries.ListRepos(reposFilename) -} diff --git a/libraries/repolist_test.go b/libraries/repolist_test.go deleted file mode 100644 index dc2e3442..00000000 --- a/libraries/repolist_test.go +++ /dev/null @@ -1,135 +0,0 @@ -// This file is part of libraries-repository-engine. -// -// Copyright 2021 ARDUINO SA (http://www.arduino.cc/) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -// -// You can be released from the requirements of the above licenses by purchasing -// a commercial license. Buying such a license is mandatory if you want to -// modify or otherwise use the software for commercial activities involving the -// Arduino software without disclosing the source code of your own applications. -// To purchase a commercial license, send an email to license@arduino.cc. - -package libraries - -import ( - "testing" - - "github.com/arduino/libraries-repository-engine/internal/libraries" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestLoadRepoListFromFile(t *testing.T) { - _, err := LoadRepoListFromFile("./testdata/nonexistent.txt") - assert.Error(t, err, "Attempt to load non-existent registry data file") - - repos, err := LoadRepoListFromFile("./testdata/git_test_repos.txt") - require.NoError(t, err) - - reposAssertion := []*Repo{ - { - URL: "https://github.com/arduino-libraries", - Types: []string{"Arduino"}, - LibraryName: "libraries", - }, - { - URL: "git@github.com:PaulStoffregen/Audio.git", - Types: []string{"Contributed"}, - LibraryName: "Audio", - }, - { - URL: "https://github.com/PaulStoffregen/OctoWS2811.git", - Types: []string{"Arduino", "Contributed"}, - LibraryName: "OctoWS2811", - }, - { - URL: "https://github.com/PaulStoffregen/AltSoftSerial.git", - Types: []string{"Contributed"}, - LibraryName: "AltSoftSerial", - }, - { - URL: "https://github.com/Cheong2K/ble-sdk-arduino.git", - Types: []string{"Contributed"}, - LibraryName: "ble-sdk-arduino", - }, - { - URL: "https://github.com/arduino-libraries/Bridge.git", - Types: []string{"Contributed"}, - LibraryName: "Bridge", - }, - { - URL: "https://github.com/adafruit/Adafruit_ADS1X15.git", - Types: []string{"Recommended"}, - LibraryName: "Adafruit_ADS1X15", - }, - { - URL: "https://github.com/adafruit/Adafruit_ADXL345.git", - Types: []string{"Recommended"}, - LibraryName: "Adafruit_ADXL345", - }, - { - URL: "https://github.com/adafruit/Adafruit_AHRS.git", - Types: []string{"Recommended"}, - LibraryName: "Adafruit_AHRS", - }, - { - URL: "https://github.com/adafruit/Adafruit_AM2315.git", - Types: []string{"Recommended"}, - LibraryName: "Adafruit_AM2315", - }, - { - URL: "https://github.com/arduino-libraries/Scheduler.git", - Types: []string{"Arduino"}, - LibraryName: "Scheduler", - }, - { - URL: "https://github.com/arduino-libraries/SD.git", - Types: []string{"Arduino"}, - LibraryName: "SD", - }, - { - URL: "https://github.com/arduino-libraries/Servo.git", - Types: []string{"Arduino"}, - LibraryName: "Servo", - }, - } - - assert.Equal(t, reposAssertion, repos) -} - -func TestListRepos(t *testing.T) { - repos, err := ListRepos("./testdata/git_test_repos.txt") - - require.Equal(t, 11, len(repos)) - - require.Equal(t, "https://github.com/PaulStoffregen/OctoWS2811.git", repos[0].URL) - require.Equal(t, "https://github.com/PaulStoffregen/AltSoftSerial.git", repos[1].URL) - - require.Equal(t, "https://github.com/Cheong2K/ble-sdk-arduino.git", repos[2].URL) - require.Equal(t, "https://github.com/arduino-libraries/Bridge.git", repos[3].URL) - require.Equal(t, "https://github.com/adafruit/Adafruit_ADS1X15.git", repos[4].URL) - require.Equal(t, "https://github.com/adafruit/Adafruit_ADXL345.git", repos[5].URL) - require.Equal(t, "https://github.com/adafruit/Adafruit_AHRS.git", repos[6].URL) - require.Equal(t, "https://github.com/adafruit/Adafruit_AM2315.git", repos[7].URL) - require.Equal(t, "https://github.com/arduino-libraries/Scheduler.git", repos[8].URL) - require.Equal(t, "https://github.com/arduino-libraries/SD.git", repos[9].URL) - require.Equal(t, "https://github.com/arduino-libraries/Servo.git", repos[10].URL) - require.Error(t, err) - - error, ok := err.(libraries.GitURLsError) - require.True(t, ok) - require.Equal(t, "https://github.com/arduino-libraries", error.Repos[0].URL) - require.Equal(t, "git@github.com:PaulStoffregen/Audio.git", error.Repos[1].URL) -} From 936a6e68789442c3540aa5fe029e9e066b316db7 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Thu, 23 Jan 2025 17:28:49 +0100 Subject: [PATCH 02/10] Cleaned up linter warnings --- internal/libraries/clamav.go | 4 ++-- internal/libraries/git_integration_test.go | 1 + internal/libraries/repoclone.go | 7 +++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/libraries/clamav.go b/internal/libraries/clamav.go index 9f1062a4..5d8fc1ba 100644 --- a/internal/libraries/clamav.go +++ b/internal/libraries/clamav.go @@ -65,8 +65,8 @@ func RunAntiVirus(folder string) ([]byte, error) { } output := string(out) - if strings.Index(output, "Infected files: 0") == -1 { - return out, errors.New("Infected files found") + if !strings.Contains(output, "Infected files: 0") { + return out, errors.New("infected files found") } return out, nil diff --git a/internal/libraries/git_integration_test.go b/internal/libraries/git_integration_test.go index b0f1ef74..11dd11d2 100644 --- a/internal/libraries/git_integration_test.go +++ b/internal/libraries/git_integration_test.go @@ -66,6 +66,7 @@ func TestUpdateLibraryJson(t *testing.T) { require.NoError(t, err) err = gitutils.CheckoutTag(r.Repository, tag) + require.NoError(t, err) library, err := libraries.GenerateLibraryFromRepo(r) require.NoError(t, err) diff --git a/internal/libraries/repoclone.go b/internal/libraries/repoclone.go index 0e8c64dd..1d887929 100644 --- a/internal/libraries/repoclone.go +++ b/internal/libraries/repoclone.go @@ -24,7 +24,6 @@ package libraries import ( - "io/ioutil" "os" "path/filepath" @@ -92,7 +91,7 @@ func CloneOrFetch(repoMeta *Repo, folderName string) (*Repository, error) { // GenerateLibraryFromRepo parses a repository and returns the library metadata. func GenerateLibraryFromRepo(repo *Repository) (*metadata.LibraryMetadata, error) { - bytes, err := ioutil.ReadFile(filepath.Join(repo.FolderPath, "library.properties")) + bytes, err := os.ReadFile(filepath.Join(repo.FolderPath, "library.properties")) if err != nil { return nil, fmt.Errorf("can't read library.properties: %s", err) } @@ -154,10 +153,10 @@ func BackupAndDeleteGitClone(config *configuration.Config, repoMeta *Repo) error } if gitClonePathExists { if err := backup.Backup(gitClonePath); err != nil { - return fmt.Errorf("While backing up library's Git clone: %w", err) + return fmt.Errorf("backing up library's Git clone: %w", err) } if err := gitClonePath.RemoveAll(); err != nil { - return fmt.Errorf("While removing library Git clone: %s", err) + return fmt.Errorf("removing library Git clone: %s", err) } } else { feedback.Warningf("Library Git clone folder %s not present", gitClonePath) From dbbced5aa0eda61f91a4c3cd4a386d605d422f9f Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Thu, 23 Jan 2025 17:33:17 +0100 Subject: [PATCH 03/10] Simplified os-env management --- internal/libraries/clamav.go | 26 +------------------------- internal/libraries/lint.go | 5 +++-- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/internal/libraries/clamav.go b/internal/libraries/clamav.go index 5d8fc1ba..c238164a 100644 --- a/internal/libraries/clamav.go +++ b/internal/libraries/clamav.go @@ -30,34 +30,10 @@ import ( "strings" ) -func envSliceToMap(env []string) map[string]string { - envMap := make(map[string]string) - for _, value := range env { - key := value[:strings.Index(value, "=")] - value = value[strings.Index(value, "=")+1:] - envMap[key] = value - } - return envMap -} - -func envMapToSlice(envMap map[string]string) []string { - var env []string - for key, value := range envMap { - env = append(env, key+"="+value) - } - return env -} - -func modifyEnv(env []string, key, value string) []string { - envMap := envSliceToMap(env) - envMap[key] = value - return envMapToSlice(envMap) -} - // RunAntiVirus scans the folder for viruses. func RunAntiVirus(folder string) ([]byte, error) { cmd := exec.Command("clamdscan", "--fdpass", "-i", folder) - cmd.Env = modifyEnv(os.Environ(), "LANG", "en") + cmd.Env = append(os.Environ(), "LANG=en") out, err := cmd.CombinedOutput() if err != nil { diff --git a/internal/libraries/lint.go b/internal/libraries/lint.go index c4a71675..7feef05f 100644 --- a/internal/libraries/lint.go +++ b/internal/libraries/lint.go @@ -72,8 +72,9 @@ func RunArduinoLint(arduinoLintPath string, folder string, metadata *Repo) ([]by folder, ) // See: https://arduino.github.io/arduino-lint/latest/#environment-variables - cmd.Env = modifyEnv(os.Environ(), "ARDUINO_LINT_LIBRARY_MANAGER_INDEXING", "true") - cmd.Env = modifyEnv(cmd.Env, "ARDUINO_LINT_OFFICIAL", fmt.Sprintf("%t", official(metadata))) + cmd.Env = append(os.Environ(), + "ARDUINO_LINT_LIBRARY_MANAGER_INDEXING=true", + fmt.Sprintf("ARDUINO_LINT_OFFICIAL=%t", official(metadata))) textReport, lintErr := cmd.CombinedOutput() if lintErr != nil { From 87ff500efe8dd45785c8c9a228bce4defd74c571 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 24 Jan 2025 16:14:45 +0100 Subject: [PATCH 04/10] Other linter warnings fixed --- internal/command/modify/modify.go | 1 - internal/command/remove/remove.go | 1 - internal/command/sync/sync.go | 20 ++++++++++---------- internal/libraries/git_integration_test.go | 3 +-- internal/libraries/zip/ziphelper.go | 14 +++++--------- internal/libraries/zip/ziphelper_test.go | 3 +-- 6 files changed, 17 insertions(+), 25 deletions(-) diff --git a/internal/command/modify/modify.go b/internal/command/modify/modify.go index 41c03e4e..43142f2a 100644 --- a/internal/command/modify/modify.go +++ b/internal/command/modify/modify.go @@ -37,7 +37,6 @@ import ( "github.com/arduino/libraries-repository-engine/internal/libraries/archive" "github.com/arduino/libraries-repository-engine/internal/libraries/db" "github.com/arduino/libraries-repository-engine/internal/libraries/metadata" - "github.com/spf13/cobra" "github.com/spf13/pflag" ) diff --git a/internal/command/remove/remove.go b/internal/command/remove/remove.go index 5b9f6937..141a26d8 100644 --- a/internal/command/remove/remove.go +++ b/internal/command/remove/remove.go @@ -37,7 +37,6 @@ import ( "github.com/arduino/libraries-repository-engine/internal/libraries/archive" "github.com/arduino/libraries-repository-engine/internal/libraries/db" "github.com/arduino/libraries-repository-engine/internal/libraries/metadata" - "github.com/spf13/cobra" ) diff --git a/internal/command/sync/sync.go b/internal/command/sync/sync.go index d256ef39..d174ff9d 100644 --- a/internal/command/sync/sync.go +++ b/internal/command/sync/sync.go @@ -27,8 +27,8 @@ package sync import ( "bytes" "encoding/json" + "errors" "fmt" - "io/ioutil" "log" "os" "path/filepath" @@ -61,7 +61,7 @@ func Run(command *cobra.Command, cliArguments []string) { } if len(cliArguments) > 1 { - feedback.LogError(fmt.Errorf("Multiple arguments are not supported")) + feedback.LogError(errors.New("multiple arguments are not supported")) os.Exit(1) } @@ -102,7 +102,7 @@ func syncLibraries(reposFile string) { syncLibrary(logger, repo, libraryDb) // Output log to file - if err := outputLogFile(logger, repo, buffer); err != nil { + if err := outputLogFile(repo, buffer); err != nil { logger.Printf("Error writing log file: %s", err.Error()) } @@ -200,13 +200,13 @@ func syncLibraryTaggedRelease(logger *log.Logger, repo *libraries.Repository, ta // Checkout desired tag logger.Printf("Checking out tag: %s", tag.Name().Short()) if err := gitutils.CheckoutTag(repo.Repository, tag); err != nil { - return fmt.Errorf("Error checking out repo: %s", err) + return fmt.Errorf("error checking out repo: %s", err) } // Create library metadata from library.properties library, err := libraries.GenerateLibraryFromRepo(repo) if err != nil { - return fmt.Errorf("Error generating library from repo: %s", err) + return fmt.Errorf("error generating library from repo: %s", err) } library.Types = repoMeta.Types @@ -257,10 +257,10 @@ func syncLibraryTaggedRelease(logger *log.Logger, repo *libraries.Repository, ta archiveData, err := archive.New(repo, library, config) if err != nil { - return fmt.Errorf("Error while configuring library release archive: %s", err) + return fmt.Errorf("error while configuring library release archive: %s", err) } if err := archiveData.Create(); err != nil { - return fmt.Errorf("Error while zipping library: %s", err) + return fmt.Errorf("error while zipping library: %s", err) } release := db.FromLibraryToRelease(library) @@ -271,13 +271,13 @@ func syncLibraryTaggedRelease(logger *log.Logger, repo *libraries.Repository, ta release.Log = releaseLog if err := libraries.UpdateLibrary(release, repo.URL, libraryDb); err != nil { - return fmt.Errorf("Error while updating library DB: %s", err) + return fmt.Errorf("error while updating library DB: %s", err) } return nil } -func outputLogFile(logger *log.Logger, repoMetadata *libraries.Repo, buffer *bytes.Buffer) error { +func outputLogFile(repoMetadata *libraries.Repo, buffer *bytes.Buffer) error { if config.LogsFolder == "" { return nil } @@ -294,7 +294,7 @@ func outputLogFile(logger *log.Logger, repoMetadata *libraries.Repo, buffer *byt } logFile := filepath.Join(logFolder, "index.html") output := "
\n" + buffer.String() + "\n
" - if err := ioutil.WriteFile(logFile, []byte(output), 0644); err != nil { + if err := os.WriteFile(logFile, []byte(output), 0644); err != nil { return fmt.Errorf("write log to file: %s", err.Error()) } return nil diff --git a/internal/libraries/git_integration_test.go b/internal/libraries/git_integration_test.go index 11dd11d2..e4e076bb 100644 --- a/internal/libraries/git_integration_test.go +++ b/internal/libraries/git_integration_test.go @@ -24,7 +24,6 @@ package libraries_test import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -43,7 +42,7 @@ func TestUpdateLibraryJson(t *testing.T) { require.NoError(t, err) require.NotNil(t, repos) - librariesRepo, err := ioutil.TempDir("", "libraries") + librariesRepo, err := os.MkdirTemp("", "libraries") require.NoError(t, err) defer os.RemoveAll(librariesRepo) diff --git a/internal/libraries/zip/ziphelper.go b/internal/libraries/zip/ziphelper.go index f9f728b2..5d8b60e8 100644 --- a/internal/libraries/zip/ziphelper.go +++ b/internal/libraries/zip/ziphelper.go @@ -25,7 +25,6 @@ package zip import ( "fmt" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -37,15 +36,12 @@ import ( // Inside the archive "rootFolder" will be renamed to "zipRootFolderName". func Directory(rootFolder string, zipRootFolderName string, zipFile string) error { checks := func(path string, info os.FileInfo, err error) error { - info, err = os.Lstat(path) - if err != nil { + if lstat, err := os.Lstat(path); err != nil { // TODO: is calling Lstat here necessary? we already have the FileInfo from the function args return err - } - if (info.Mode() & os.ModeSymlink) != 0 { + } else if (lstat.Mode() & os.ModeSymlink) != 0 { dest, _ := os.Readlink(path) - return fmt.Errorf("Symlink not allowed: %s -> %s", path, dest) - } - if file.IsSCCS(info.Name()) { + return fmt.Errorf("symlink not allowed: %s -> %s", path, dest) + } else if file.IsSCCS(lstat.Name()) { return filepath.SkipDir } return nil @@ -60,7 +56,7 @@ func Directory(rootFolder string, zipRootFolderName string, zipFile string) erro return err } - tmpdir, err := ioutil.TempDir("", "ziphelper") + tmpdir, err := os.MkdirTemp("", "ziphelper") if err != nil { return fmt.Errorf("creating temp dir for zip archive: %s", err) } diff --git a/internal/libraries/zip/ziphelper_test.go b/internal/libraries/zip/ziphelper_test.go index 9c96271e..e541bf6a 100644 --- a/internal/libraries/zip/ziphelper_test.go +++ b/internal/libraries/zip/ziphelper_test.go @@ -25,7 +25,6 @@ package zip import ( "archive/zip" - "io/ioutil" "os" "testing" @@ -33,7 +32,7 @@ import ( ) func TestZip(t *testing.T) { - zipFile, err := ioutil.TempFile("", "ziphelper*.zip") + zipFile, err := os.CreateTemp("", "ziphelper*.zip") require.NoError(t, err) require.NotNil(t, zipFile) zipFileName := zipFile.Name() From 2d95155d25451242e97fdf455df24d55b10f3845 Mon Sep 17 00:00:00 2001 From: megabug Date: Mon, 27 Jan 2025 17:33:27 +0100 Subject: [PATCH 05/10] Updated testdata --- tests/testdata/test_sync/golden/db.json | 38 +++--- .../ArduinoCloudThing/index.html | 129 ++++-------------- .../ArduinoCloudThing/index.html | 129 ++++-------------- 3 files changed, 73 insertions(+), 223 deletions(-) diff --git a/tests/testdata/test_sync/golden/db.json b/tests/testdata/test_sync/golden/db.json index 38bf90d2..19cbe265 100644 --- a/tests/testdata/test_sync/golden/db.json +++ b/tests/testdata/test_sync/golden/db.json @@ -50,7 +50,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/ArduinoCloudThing_test \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/ReadAndWrite\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/SimpleCloudButton\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/SimpleCloudButtonExpandedNewAPI\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/SimpleCloudButtonYun\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinter results for projects: 0 ERRORS, 4 WARNINGS\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/ArduinoCloudThing_test \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/ReadAndWrite\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/SimpleCloudButton\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/SimpleCloudButtonExpandedNewAPI\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinting sketch in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/examples/SimpleCloudButtonYun\n\nLinter results for project: no errors or warnings\n\n-------------------\n\nLinter results for projects: 0 ERRORS, 3 WARNINGS\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "SpacebrewYun", @@ -115,7 +115,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -135,7 +135,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -155,7 +155,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -175,7 +175,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -195,7 +195,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -215,7 +215,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -235,7 +235,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -255,7 +255,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -275,7 +275,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -295,7 +295,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -315,7 +315,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 5 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: Sketch(es) found outside examples and extras folders: \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/ClassList \n ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/src/lib/LinkedList/examples/SimpleIntegerList\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples \n (Rule LD003) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -335,7 +335,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -355,7 +355,7 @@ "Checksum": "${checksum_placeholder}", "Includes": [], "Dependencies": [], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -380,7 +380,7 @@ "Version": "" } ], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -405,7 +405,7 @@ "Version": "" } ], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -430,7 +430,7 @@ "Version": "" } ], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -455,7 +455,7 @@ "Version": "" } ], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" }, { "LibraryName": "ArduinoCloudThing", @@ -480,7 +480,7 @@ "Version": "" } ], - "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters.\n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP010) \nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 4 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" + "Log": "\u003ca href=\"https://arduino.github.io/arduino-lint/latest/\"\u003eArduino Lint\u003c/a\u003e has suggestions for possible improvements:\n\u003cdetails\u003e\u003csummary\u003eClick to expand Arduino Lint report\u003c/summary\u003e\n\u003chr\u003e\nLinting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing\nWARNING: Library name ArduinoCloudThing is missing the \"Arduino_\" prefix. The names of all new official libraries must \n have this prefix. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP013) \nWARNING: The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy \n is not needed. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format \n (Rule LP036) \nWARNING: No example sketches found. Please provide examples. \n See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples\n (Rule LD004) \n\nLinter results for project: 0 ERRORS, 3 WARNINGS\n\n-------------------\n\n\n\u003chr\u003e\n\u003c/details\u003e" } ] } diff --git a/tests/testdata/test_sync/golden/logs/generate/github.com/arduino-libraries/ArduinoCloudThing/index.html b/tests/testdata/test_sync/golden/logs/generate/github.com/arduino-libraries/ArduinoCloudThing/index.html index 439e3975..a262f7d8 100644 --- a/tests/testdata/test_sync/golden/logs/generate/github.com/arduino-libraries/ArduinoCloudThing/index.html +++ b/tests/testdata/test_sync/golden/logs/generate/github.com/arduino-libraries/ArduinoCloudThing/index.html @@ -5,9 +5,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -23,7 +20,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD003) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -51,7 +48,7 @@ ------------------- -Linter results for projects: 0 ERRORS, 4 WARNINGS +Linter results for projects: 0 ERRORS, 3 WARNINGS
@@ -64,9 +61,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -81,7 +75,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD003) -Linter results for project: 1 ERRORS, 4 WARNINGS +Linter results for project: 1 ERRORS, 3 WARNINGS ------------------- @@ -109,7 +103,7 @@ ------------------- -Linter results for projects: 1 ERRORS, 4 WARNINGS +Linter results for projects: 1 ERRORS, 3 WARNINGS
@@ -123,9 +117,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -143,7 +134,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -160,9 +151,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -180,7 +168,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -197,9 +185,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -217,7 +202,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -234,9 +219,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -254,7 +236,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -271,9 +253,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -291,7 +270,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -304,9 +283,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -324,7 +300,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -336,9 +312,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -356,7 +329,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -368,9 +341,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -388,7 +358,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -400,9 +370,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -420,7 +387,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -432,9 +399,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -452,7 +416,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -464,9 +428,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -484,7 +445,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -496,9 +457,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -516,7 +474,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -528,9 +486,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -548,7 +503,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -560,9 +515,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -580,7 +532,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -592,9 +544,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -612,7 +561,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -624,9 +573,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -644,7 +590,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -656,9 +602,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -671,7 +614,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -683,9 +626,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -698,7 +638,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -710,9 +650,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -725,7 +662,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -737,9 +674,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -752,7 +686,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -764,9 +698,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -779,7 +710,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -791,9 +722,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -806,7 +734,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -818,9 +746,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -833,7 +758,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- diff --git a/tests/testdata/test_sync/golden/logs/update/github.com/arduino-libraries/ArduinoCloudThing/index.html b/tests/testdata/test_sync/golden/logs/update/github.com/arduino-libraries/ArduinoCloudThing/index.html index 9822fb24..ecefa0aa 100644 --- a/tests/testdata/test_sync/golden/logs/update/github.com/arduino-libraries/ArduinoCloudThing/index.html +++ b/tests/testdata/test_sync/golden/logs/update/github.com/arduino-libraries/ArduinoCloudThing/index.html @@ -6,9 +6,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -24,7 +21,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD003) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -52,7 +49,7 @@ ------------------- -Linter results for projects: 0 ERRORS, 4 WARNINGS +Linter results for projects: 0 ERRORS, 3 WARNINGS
@@ -65,9 +62,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -82,7 +76,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD003) -Linter results for project: 1 ERRORS, 4 WARNINGS +Linter results for project: 1 ERRORS, 3 WARNINGS ------------------- @@ -110,7 +104,7 @@ ------------------- -Linter results for projects: 1 ERRORS, 4 WARNINGS +Linter results for projects: 1 ERRORS, 3 WARNINGS
@@ -124,9 +118,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -144,7 +135,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -161,9 +152,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -181,7 +169,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -198,9 +186,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -218,7 +203,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -235,9 +220,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -255,7 +237,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -272,9 +254,6 @@ Manager index: ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing/test/external/catch/current (Rule LS005) -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -292,7 +271,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 1 ERRORS, 5 WARNINGS +Linter results for project: 1 ERRORS, 4 WARNINGS ------------------- @@ -306,9 +285,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -326,7 +302,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -339,9 +315,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -359,7 +332,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -372,9 +345,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -392,7 +362,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -405,9 +375,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -425,7 +392,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -438,9 +405,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -458,7 +422,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -471,9 +435,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -491,7 +452,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -504,9 +465,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -524,7 +482,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -537,9 +495,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -557,7 +512,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -570,9 +525,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -590,7 +542,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -603,9 +555,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -623,7 +572,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -636,9 +585,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -656,7 +602,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 5 WARNINGS +Linter results for project: 0 ERRORS, 4 WARNINGS ------------------- @@ -669,9 +615,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -684,7 +627,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -697,9 +640,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -712,7 +652,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -725,9 +665,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -740,7 +677,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -753,9 +690,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -768,7 +702,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -781,9 +715,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -796,7 +727,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -809,9 +740,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -824,7 +752,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- @@ -837,9 +765,6 @@
Click to expand Arduino Lint report
Linting library in ${git_clones_folder}/github.com/arduino-libraries/ArduinoCloudThing -WARNING: library.properties name value ArduinoCloudThing is longer than the recommended length of 16 characters. - See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format - (Rule LP010) WARNING: Library name ArduinoCloudThing is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format @@ -852,7 +777,7 @@ See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples (Rule LD004) -Linter results for project: 0 ERRORS, 4 WARNINGS +Linter results for project: 0 ERRORS, 3 WARNINGS ------------------- From 14e1576e3dae2fef3f2305c7b7eaadda354f7ba4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Jan 2025 11:55:27 +0100 Subject: [PATCH 06/10] Added new command check-registry --- internal/cli/check-registry.go | 46 +++++++++ internal/cli/check-registry/check-registry.go | 93 +++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 internal/cli/check-registry.go create mode 100644 internal/cli/check-registry/check-registry.go diff --git a/internal/cli/check-registry.go b/internal/cli/check-registry.go new file mode 100644 index 00000000..18b473cf --- /dev/null +++ b/internal/cli/check-registry.go @@ -0,0 +1,46 @@ +// This file is part of libraries-repository-engine. +// +// Copyright 2025 ARDUINO SA (http://www.arduino.cc/) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package cli + +import ( + checkregistry "github.com/arduino/libraries-repository-engine/internal/cli/check-registry" + "github.com/spf13/cobra" +) + +func init() { + // checkRegistryCmd defines the `check-registry` CLI subcommand. + var checkRegistryCmd = &cobra.Command{ + Short: "Check the registry.txt file format", + Long: "Check the registry.txt file format", + DisableFlagsInUseLine: true, + Use: `check-registry FLAG... /path/to/registry.txt + +Validate the registry.txt format and correctness.`, + Args: cobra.ExactArgs(1), + Run: func(cmd *cobra.Command, args []string) { + checkregistry.CheckRegistry(args[0]) + }, + } + rootCmd.AddCommand(checkRegistryCmd) +} diff --git a/internal/cli/check-registry/check-registry.go b/internal/cli/check-registry/check-registry.go new file mode 100644 index 00000000..e85b06ab --- /dev/null +++ b/internal/cli/check-registry/check-registry.go @@ -0,0 +1,93 @@ +// This file is part of libraries-repository-engine. +// +// Copyright 2025 ARDUINO SA (http://www.arduino.cc/) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package checkregistry + +import ( + "fmt" + "os" + "reflect" + + "github.com/arduino/libraries-repository-engine/internal/libraries" +) + +// CheckRegistry runs the check-registry action +func CheckRegistry(reposFile string) { + info, err := os.Stat(reposFile) + if err != nil { + fmt.Fprintf(os.Stderr, "error: While loading registry data file: %s\n", err) + os.Exit(1) + } + + if info.IsDir() { + fmt.Fprintf(os.Stderr, "error: Registry data file argument %s is a folder, not a file\n", reposFile) + os.Exit(1) + } + + rawRepos, err := libraries.LoadRepoListFromFile(reposFile) + if err != nil { + fmt.Fprintf(os.Stderr, "error: While loading registry data file: %s\n", err) + os.Exit(1) + } + + filteredRepos, err := libraries.ListRepos(reposFile) + if err != nil { + fmt.Fprintf(os.Stderr, "error: While filtering registry data file: %s\n", err) + os.Exit(1) + } + + if !reflect.DeepEqual(rawRepos, filteredRepos) { + fmt.Fprintln(os.Stderr, "error: Registry data file contains duplicate URLs") + os.Exit(1) + } + + validTypes := map[string]bool{ + "Arduino": true, + "Contributed": true, + "Partner": true, + "Recommended": true, + "Retired": true, + } + + nameMap := make(map[string]bool) + for _, entry := range rawRepos { + // Check entry types + if len(entry.Types) == 0 { + fmt.Fprintf(os.Stderr, "error: Type not specified for library '%s'\n", entry.LibraryName) + os.Exit(1) + } + for _, entryType := range entry.Types { + if _, valid := validTypes[entryType]; !valid { + fmt.Fprintf(os.Stderr, "error: Invalid type '%s' used by library '%s'\n", entryType, entry.LibraryName) + os.Exit(1) + } + } + + // Check library name of the entry + if _, found := nameMap[entry.LibraryName]; found { + fmt.Fprintf(os.Stderr, "error: Registry data file contains duplicates of name '%s'\n", entry.LibraryName) + os.Exit(1) + } + nameMap[entry.LibraryName] = true + } +} From 53a87519e769e1d276928131c2d704cf67a5febd Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Jan 2025 12:37:47 +0100 Subject: [PATCH 07/10] Added unit tests from library-registry repo --- internal/cli/check-registry/check-registry.go | 33 +++++----- .../cli/check-registry/check-registry_test.go | 60 +++++++++++++++++++ .../testdata/duplicate-name.txt | 4 ++ .../check-registry/testdata/duplicate-url.txt | 4 ++ .../testdata/invalid-data-format.txt | 3 + .../check-registry/testdata/invalid-type.txt | 3 + .../testdata/invalid-url-format.txt | 3 + .../cli/check-registry/testdata/no-type.txt | 3 + .../cli/check-registry/testdata/valid.txt | 3 + 9 files changed, 100 insertions(+), 16 deletions(-) create mode 100644 internal/cli/check-registry/check-registry_test.go create mode 100644 internal/cli/check-registry/testdata/duplicate-name.txt create mode 100644 internal/cli/check-registry/testdata/duplicate-url.txt create mode 100644 internal/cli/check-registry/testdata/invalid-data-format.txt create mode 100644 internal/cli/check-registry/testdata/invalid-type.txt create mode 100644 internal/cli/check-registry/testdata/invalid-url-format.txt create mode 100644 internal/cli/check-registry/testdata/no-type.txt create mode 100644 internal/cli/check-registry/testdata/valid.txt diff --git a/internal/cli/check-registry/check-registry.go b/internal/cli/check-registry/check-registry.go index e85b06ab..110dd04e 100644 --- a/internal/cli/check-registry/check-registry.go +++ b/internal/cli/check-registry/check-registry.go @@ -24,6 +24,7 @@ package checkregistry import ( + "errors" "fmt" "os" "reflect" @@ -33,32 +34,34 @@ import ( // CheckRegistry runs the check-registry action func CheckRegistry(reposFile string) { + if err := runcheck(reposFile); err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + os.Exit(1) + } +} + +func runcheck(reposFile string) error { info, err := os.Stat(reposFile) if err != nil { - fmt.Fprintf(os.Stderr, "error: While loading registry data file: %s\n", err) - os.Exit(1) + return fmt.Errorf("while loading registry data file: %w", err) } if info.IsDir() { - fmt.Fprintf(os.Stderr, "error: Registry data file argument %s is a folder, not a file\n", reposFile) - os.Exit(1) + return fmt.Errorf("registry data file argument %s is a folder, not a file", reposFile) } rawRepos, err := libraries.LoadRepoListFromFile(reposFile) if err != nil { - fmt.Fprintf(os.Stderr, "error: While loading registry data file: %s\n", err) - os.Exit(1) + return fmt.Errorf("while loading registry data file: %w", err) } filteredRepos, err := libraries.ListRepos(reposFile) if err != nil { - fmt.Fprintf(os.Stderr, "error: While filtering registry data file: %s\n", err) - os.Exit(1) + return fmt.Errorf("while filtering registry data file: %w", err) } if !reflect.DeepEqual(rawRepos, filteredRepos) { - fmt.Fprintln(os.Stderr, "error: Registry data file contains duplicate URLs") - os.Exit(1) + return errors.New("registry data file contains duplicate URLs") } validTypes := map[string]bool{ @@ -73,21 +76,19 @@ func CheckRegistry(reposFile string) { for _, entry := range rawRepos { // Check entry types if len(entry.Types) == 0 { - fmt.Fprintf(os.Stderr, "error: Type not specified for library '%s'\n", entry.LibraryName) - os.Exit(1) + return fmt.Errorf("type not specified for library '%s'", entry.LibraryName) } for _, entryType := range entry.Types { if _, valid := validTypes[entryType]; !valid { - fmt.Fprintf(os.Stderr, "error: Invalid type '%s' used by library '%s'\n", entryType, entry.LibraryName) - os.Exit(1) + return fmt.Errorf("invalid type '%s' used by library '%s'", entryType, entry.LibraryName) } } // Check library name of the entry if _, found := nameMap[entry.LibraryName]; found { - fmt.Fprintf(os.Stderr, "error: Registry data file contains duplicates of name '%s'\n", entry.LibraryName) - os.Exit(1) + return fmt.Errorf("registry data file contains duplicates of name '%s'", entry.LibraryName) } nameMap[entry.LibraryName] = true } + return nil } diff --git a/internal/cli/check-registry/check-registry_test.go b/internal/cli/check-registry/check-registry_test.go new file mode 100644 index 00000000..7a3a0820 --- /dev/null +++ b/internal/cli/check-registry/check-registry_test.go @@ -0,0 +1,60 @@ +// This file is part of libraries-repository-engine. +// +// Copyright 2025 ARDUINO SA (http://www.arduino.cc/) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package checkregistry + +import ( + "path/filepath" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestRegistryValidation(t *testing.T) { + type testcase struct { + Name string + TestFile string + ExpectedResult string + } + tests := []testcase{ + {"EmptyArg", "", "registry data file argument testdata is a folder, not a file"}, + {"NonExistentFile", "nonexistent.txt", "while loading registry data file: stat testdata/nonexistent.txt: no such file or directory"}, + //{"InvalidDataFormat", "invalid-data-format.txt", "while loading registry data file: invalid line format (3 fields are required): https://github.com/arduino-libraries/SD.git|Partner;SD"}, + {"InvalidUrlFormat", "invalid-url-format.txt", "while filtering registry data file: Following URL are unknown or unsupported git repos:\nhttps://github.com/arduino-libraries/SD\n"}, + {"MissingType", "no-type.txt", "invalid type '' used by library 'SD'"}, + {"InvalidType", "invalid-type.txt", "invalid type 'foo' used by library 'SD'"}, + {"DuplicateRepoURL", "duplicate-url.txt", "registry data file contains duplicate URLs"}, + {"DuplicateLibName", "duplicate-name.txt", "registry data file contains duplicates of name 'SD'"}, + {"ValidList", "valid.txt", ""}, + } + for _, test := range tests { + t.Run(test.Name, func(t *testing.T) { + err := runcheck(filepath.Join("testdata", test.TestFile)) + if test.ExpectedResult == "" { + require.NoError(t, err) + } else { + require.EqualError(t, err, test.ExpectedResult) + } + }) + } +} diff --git a/internal/cli/check-registry/testdata/duplicate-name.txt b/internal/cli/check-registry/testdata/duplicate-name.txt new file mode 100644 index 00000000..389a0988 --- /dev/null +++ b/internal/cli/check-registry/testdata/duplicate-name.txt @@ -0,0 +1,4 @@ +https://github.com/arduino-libraries/Scheduler.git|Arduino|Scheduler +https://github.com/arduino-libraries/SD.git|Partner|SD +https://github.com/arduino-libraries/Servo.git|Recommended|Servo +https://github.com/arduino-libraries/Foo.git|Contributed|SD diff --git a/internal/cli/check-registry/testdata/duplicate-url.txt b/internal/cli/check-registry/testdata/duplicate-url.txt new file mode 100644 index 00000000..13727fc9 --- /dev/null +++ b/internal/cli/check-registry/testdata/duplicate-url.txt @@ -0,0 +1,4 @@ +https://github.com/arduino-libraries/Scheduler.git|Arduino|Scheduler +https://github.com/arduino-libraries/SD.git|Partner|SD +https://github.com/arduino-libraries/Servo.git|Recommended|Servo +https://github.com/arduino-libraries/SD.git|Contributed|Foo diff --git a/internal/cli/check-registry/testdata/invalid-data-format.txt b/internal/cli/check-registry/testdata/invalid-data-format.txt new file mode 100644 index 00000000..ba787b98 --- /dev/null +++ b/internal/cli/check-registry/testdata/invalid-data-format.txt @@ -0,0 +1,3 @@ +https://github.com/arduino-libraries/Scheduler.git|Arduino|Scheduler +https://github.com/arduino-libraries/SD.git|Partner;SD +https://github.com/arduino-libraries/Servo.git|Recommended|Servo diff --git a/internal/cli/check-registry/testdata/invalid-type.txt b/internal/cli/check-registry/testdata/invalid-type.txt new file mode 100644 index 00000000..5cae8ae9 --- /dev/null +++ b/internal/cli/check-registry/testdata/invalid-type.txt @@ -0,0 +1,3 @@ +https://github.com/arduino-libraries/Scheduler.git|Arduino|Scheduler +https://github.com/arduino-libraries/SD.git|foo|SD +https://github.com/arduino-libraries/Servo.git|Recommended|Servo diff --git a/internal/cli/check-registry/testdata/invalid-url-format.txt b/internal/cli/check-registry/testdata/invalid-url-format.txt new file mode 100644 index 00000000..9327b7ac --- /dev/null +++ b/internal/cli/check-registry/testdata/invalid-url-format.txt @@ -0,0 +1,3 @@ +https://github.com/arduino-libraries/Scheduler.git|Arduino|Scheduler +https://github.com/arduino-libraries/SD|Partner|SD +https://github.com/arduino-libraries/Servo.git|Recommended|Servo diff --git a/internal/cli/check-registry/testdata/no-type.txt b/internal/cli/check-registry/testdata/no-type.txt new file mode 100644 index 00000000..5c592dc2 --- /dev/null +++ b/internal/cli/check-registry/testdata/no-type.txt @@ -0,0 +1,3 @@ +https://github.com/arduino-libraries/Scheduler.git|Arduino|Scheduler +https://github.com/arduino-libraries/SD.git||SD +https://github.com/arduino-libraries/Servo.git|Recommended|Servo diff --git a/internal/cli/check-registry/testdata/valid.txt b/internal/cli/check-registry/testdata/valid.txt new file mode 100644 index 00000000..48f549c4 --- /dev/null +++ b/internal/cli/check-registry/testdata/valid.txt @@ -0,0 +1,3 @@ +https://github.com/arduino-libraries/Scheduler.git|Arduino|Scheduler +https://github.com/arduino-libraries/SD.git|Partner|SD +https://github.com/arduino-libraries/Servo.git|Recommended|Servo From 1b2372d65bbfae547d36036b7ee228e86889f9fc Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Jan 2025 12:38:26 +0100 Subject: [PATCH 08/10] Fixed unit-test --- internal/cli/check-registry/check-registry_test.go | 2 +- internal/libraries/repolist.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/cli/check-registry/check-registry_test.go b/internal/cli/check-registry/check-registry_test.go index 7a3a0820..44eb39e7 100644 --- a/internal/cli/check-registry/check-registry_test.go +++ b/internal/cli/check-registry/check-registry_test.go @@ -39,7 +39,7 @@ func TestRegistryValidation(t *testing.T) { tests := []testcase{ {"EmptyArg", "", "registry data file argument testdata is a folder, not a file"}, {"NonExistentFile", "nonexistent.txt", "while loading registry data file: stat testdata/nonexistent.txt: no such file or directory"}, - //{"InvalidDataFormat", "invalid-data-format.txt", "while loading registry data file: invalid line format (3 fields are required): https://github.com/arduino-libraries/SD.git|Partner;SD"}, + {"InvalidDataFormat", "invalid-data-format.txt", "while loading registry data file: invalid line format (3 fields are required): https://github.com/arduino-libraries/SD.git|Partner;SD"}, {"InvalidUrlFormat", "invalid-url-format.txt", "while filtering registry data file: Following URL are unknown or unsupported git repos:\nhttps://github.com/arduino-libraries/SD\n"}, {"MissingType", "no-type.txt", "invalid type '' used by library 'SD'"}, {"InvalidType", "invalid-type.txt", "invalid type 'foo' used by library 'SD'"}, diff --git a/internal/libraries/repolist.go b/internal/libraries/repolist.go index 58002594..a2d12d10 100644 --- a/internal/libraries/repolist.go +++ b/internal/libraries/repolist.go @@ -50,6 +50,9 @@ func LoadRepoListFromFile(filename string) ([]*Repo, error) { line = strings.TrimSpace(line) if len(line) > 0 && line[0] != '#' { split := strings.Split(line, "|") + if len(split) < 3 { + return nil, fmt.Errorf("invalid line format (3 fields are required): %s", line) + } url := split[0] types := strings.Split(split[1], ",") name := split[2] From 9258f4729296ebcd05412997d2f773f93d51ec50 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Jan 2025 12:38:56 +0100 Subject: [PATCH 09/10] Trimmed error string --- internal/cli/check-registry/check-registry_test.go | 2 +- internal/libraries/repolist.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/cli/check-registry/check-registry_test.go b/internal/cli/check-registry/check-registry_test.go index 44eb39e7..38c0aa9a 100644 --- a/internal/cli/check-registry/check-registry_test.go +++ b/internal/cli/check-registry/check-registry_test.go @@ -40,7 +40,7 @@ func TestRegistryValidation(t *testing.T) { {"EmptyArg", "", "registry data file argument testdata is a folder, not a file"}, {"NonExistentFile", "nonexistent.txt", "while loading registry data file: stat testdata/nonexistent.txt: no such file or directory"}, {"InvalidDataFormat", "invalid-data-format.txt", "while loading registry data file: invalid line format (3 fields are required): https://github.com/arduino-libraries/SD.git|Partner;SD"}, - {"InvalidUrlFormat", "invalid-url-format.txt", "while filtering registry data file: Following URL are unknown or unsupported git repos:\nhttps://github.com/arduino-libraries/SD\n"}, + {"InvalidUrlFormat", "invalid-url-format.txt", "while filtering registry data file: Following URL are unknown or unsupported git repos:\nhttps://github.com/arduino-libraries/SD"}, {"MissingType", "no-type.txt", "invalid type '' used by library 'SD'"}, {"InvalidType", "invalid-type.txt", "invalid type 'foo' used by library 'SD'"}, {"DuplicateRepoURL", "duplicate-url.txt", "registry data file contains duplicate URLs"}, diff --git a/internal/libraries/repolist.go b/internal/libraries/repolist.go index a2d12d10..d3f8aaed 100644 --- a/internal/libraries/repolist.go +++ b/internal/libraries/repolist.go @@ -128,7 +128,7 @@ func (err GitURLsError) Error() string { fmt.Fprintln(error, v.URL) } - return error.String() + return strings.TrimSpace(error.String()) } func filterReposBy(repos []*Repo, matcher repoMatcher) ([]*Repo, error) { From a61326231854f46248392efab05b59931ff25004 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Jan 2025 16:43:25 +0100 Subject: [PATCH 10/10] Moved check-registry implementation in the right directory --- internal/cli/check-registry.go | 2 +- internal/{cli => command}/check-registry/check-registry.go | 0 internal/{cli => command}/check-registry/check-registry_test.go | 0 .../{cli => command}/check-registry/testdata/duplicate-name.txt | 0 .../{cli => command}/check-registry/testdata/duplicate-url.txt | 0 .../check-registry/testdata/invalid-data-format.txt | 0 .../{cli => command}/check-registry/testdata/invalid-type.txt | 0 .../check-registry/testdata/invalid-url-format.txt | 0 internal/{cli => command}/check-registry/testdata/no-type.txt | 0 internal/{cli => command}/check-registry/testdata/valid.txt | 0 10 files changed, 1 insertion(+), 1 deletion(-) rename internal/{cli => command}/check-registry/check-registry.go (100%) rename internal/{cli => command}/check-registry/check-registry_test.go (100%) rename internal/{cli => command}/check-registry/testdata/duplicate-name.txt (100%) rename internal/{cli => command}/check-registry/testdata/duplicate-url.txt (100%) rename internal/{cli => command}/check-registry/testdata/invalid-data-format.txt (100%) rename internal/{cli => command}/check-registry/testdata/invalid-type.txt (100%) rename internal/{cli => command}/check-registry/testdata/invalid-url-format.txt (100%) rename internal/{cli => command}/check-registry/testdata/no-type.txt (100%) rename internal/{cli => command}/check-registry/testdata/valid.txt (100%) diff --git a/internal/cli/check-registry.go b/internal/cli/check-registry.go index 18b473cf..d0118577 100644 --- a/internal/cli/check-registry.go +++ b/internal/cli/check-registry.go @@ -24,7 +24,7 @@ package cli import ( - checkregistry "github.com/arduino/libraries-repository-engine/internal/cli/check-registry" + checkregistry "github.com/arduino/libraries-repository-engine/internal/command/check-registry" "github.com/spf13/cobra" ) diff --git a/internal/cli/check-registry/check-registry.go b/internal/command/check-registry/check-registry.go similarity index 100% rename from internal/cli/check-registry/check-registry.go rename to internal/command/check-registry/check-registry.go diff --git a/internal/cli/check-registry/check-registry_test.go b/internal/command/check-registry/check-registry_test.go similarity index 100% rename from internal/cli/check-registry/check-registry_test.go rename to internal/command/check-registry/check-registry_test.go diff --git a/internal/cli/check-registry/testdata/duplicate-name.txt b/internal/command/check-registry/testdata/duplicate-name.txt similarity index 100% rename from internal/cli/check-registry/testdata/duplicate-name.txt rename to internal/command/check-registry/testdata/duplicate-name.txt diff --git a/internal/cli/check-registry/testdata/duplicate-url.txt b/internal/command/check-registry/testdata/duplicate-url.txt similarity index 100% rename from internal/cli/check-registry/testdata/duplicate-url.txt rename to internal/command/check-registry/testdata/duplicate-url.txt diff --git a/internal/cli/check-registry/testdata/invalid-data-format.txt b/internal/command/check-registry/testdata/invalid-data-format.txt similarity index 100% rename from internal/cli/check-registry/testdata/invalid-data-format.txt rename to internal/command/check-registry/testdata/invalid-data-format.txt diff --git a/internal/cli/check-registry/testdata/invalid-type.txt b/internal/command/check-registry/testdata/invalid-type.txt similarity index 100% rename from internal/cli/check-registry/testdata/invalid-type.txt rename to internal/command/check-registry/testdata/invalid-type.txt diff --git a/internal/cli/check-registry/testdata/invalid-url-format.txt b/internal/command/check-registry/testdata/invalid-url-format.txt similarity index 100% rename from internal/cli/check-registry/testdata/invalid-url-format.txt rename to internal/command/check-registry/testdata/invalid-url-format.txt diff --git a/internal/cli/check-registry/testdata/no-type.txt b/internal/command/check-registry/testdata/no-type.txt similarity index 100% rename from internal/cli/check-registry/testdata/no-type.txt rename to internal/command/check-registry/testdata/no-type.txt diff --git a/internal/cli/check-registry/testdata/valid.txt b/internal/command/check-registry/testdata/valid.txt similarity index 100% rename from internal/cli/check-registry/testdata/valid.txt rename to internal/command/check-registry/testdata/valid.txt