intelp2m: Add Go Managing Dependencies System support

Add go.mod containing the full name of the project according to the
docs [1]: review.coreboot.org/coreboot.git/util/intelp2m, and also,
based on this, rename the internal packages to point to the absolute
path. This will allow Go Managing Dependencies System to integrate
packages from intelp2m to third-party Go written on the Go language [1].
This also requires fixing the Golang compiler version in go.mod: use
go1.18 [2], the latest up-to-date version.

[1] https://web.archive.org/web/20220910100342/https://go.dev/doc/modules/managing-dependencies
[2] https://web.archive.org/web/20220910100206/https://tip.golang.org/doc/go1.18

[ TEST ]
1) Import the coreboot project into some go project:

$cd path/to/go-project
$go get review.coreboot.org/coreboot.git
go: downloading review.coreboot.org/coreboot.git v0.0.0-20220903004133
-39914a50ae16
go: added review.coreboot.org/coreboot.git v0.0.0-20220903004133
-39914a50ae16

Thus, 'go get' correctly downloaded the contents of the repository.

2) Import intelp2m:

$cd path/to/go-project
$go get review.coreboot.org/coreboot.git/util/intelp2m
review.coreboot.org/coreboot.git/util/intelp2m imports
	./config: "./config" is relative, but relative import paths are
not supported in module mode
review.coreboot.org/coreboot.git/util/intelp2m imports
	./parser: "./parser" is relative, but relative import paths are
not supported in module mode

Thus, the problem is in the package names, but after this patch, the
import should be without errors.

3) Import a repository with an incorrect url:

$cd path/to/go-project
$go get review.coreboot.org/coreboot/test
go: unrecognized import path "review.coreboot.org/coreboot/test":
reading https://review.coreboot.org/coreboot/test?go-get=1:
404 Not Found

This has not happened in previous cases.

Change-Id: I12efae31227129b8c884af10fb233f398c4094e7
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64724
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
This commit is contained in:
Maxim Polyakov 2022-05-11 22:49:14 +03:00 committed by Felix Held
parent 5004e93053
commit 593b0f1f23
18 changed files with 54 additions and 43 deletions

View File

@ -5,7 +5,7 @@ PROJECT_NAME = intelp2m
default:
go version
GO111MODULE=off go build -v -o $(PROJECT_NAME)
go build -v -o $(PROJECT_NAME)
clean:
rm -Rf $(PROJECT_NAME) $(OUTPUT_DIR)

View File

@ -1,8 +1,8 @@
package cb
import (
"../../config"
"../../platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
)
type FieldMacros struct {}

View File

@ -1,11 +1,11 @@
package fields
import (
"../config"
"../platforms/common"
"./fsp"
"./cb"
"./raw"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/fields/fsp"
"review.coreboot.org/coreboot.git/util/intelp2m/fields/cb"
"review.coreboot.org/coreboot.git/util/intelp2m/fields/raw"
)
// InterfaceSet - set the interface for decoding configuration

View File

@ -1,6 +1,6 @@
package fsp
import "../../platforms/common"
import "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
type FieldMacros struct {}

View File

@ -2,7 +2,7 @@ package raw
import (
"fmt"
"../../platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
)
type FieldMacros struct {}

3
util/intelp2m/go.mod Normal file
View File

@ -0,0 +1,3 @@
module review.coreboot.org/coreboot.git/util/intelp2m
go 1.18

View File

@ -4,8 +4,9 @@ import (
"flag"
"fmt"
"os"
"./parser"
"./config"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/parser"
)
// generateOutputFile - generates include file

View File

@ -5,13 +5,14 @@ import (
"fmt"
"strings"
"strconv"
"../platforms/common"
"../platforms/snr"
"../platforms/lbg"
"../platforms/apl"
"../platforms/cnl"
"../platforms/adl"
"../config"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/lbg"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/apl"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/adl"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
)
// PlatformSpecific - platform-specific interface

View File

@ -3,11 +3,12 @@ package adl
import (
"strings"
"fmt"
"../common"
"../../config"
"../../fields"
"../snr"
"../cnl"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/fields"
)
const (

View File

@ -1,6 +1,6 @@
package adl
import "../common"
import "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
// GroupNameExtract - This function extracts the group ID, if it exists in a row
// line : string from the configuration file

View File

@ -3,9 +3,10 @@ package apl
import (
"fmt"
"strconv"
"../common"
"../../config"
"../../fields"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/fields"
)
const (

View File

@ -1,6 +1,6 @@
package apl
import "../common"
import "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
// GroupNameExtract - This function extracts the group ID, if it exists in a row
// line : string from the configuration file

View File

@ -3,10 +3,11 @@ package cnl
import (
"strings"
"fmt"
"../common"
"../../config"
"../../fields"
"../snr"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/fields"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr"
)
const (

View File

@ -1,6 +1,6 @@
package cnl
import "../common"
import "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
type InheritanceTemplate interface {
KeywordCheck(line string) bool

View File

@ -3,7 +3,8 @@ package common
import (
"strconv"
"sync"
"../../config"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
)
type Fields interface {

View File

@ -2,10 +2,11 @@ package lbg
import (
"fmt"
"../../config"
"../../fields"
"../common"
"../snr"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/fields"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr"
)
const (

View File

@ -3,9 +3,10 @@ package snr
import (
"strings"
"fmt"
"../common"
"../../config"
"../../fields"
"review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
"review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/fields"
)
const (

View File

@ -1,6 +1,6 @@
package snr
import "../common"
import "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
// GroupNameExtract - This function extracts the group ID, if it exists in a row
// line : string from the configuration file