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: default:
go version go version
GO111MODULE=off go build -v -o $(PROJECT_NAME) go build -v -o $(PROJECT_NAME)
clean: clean:
rm -Rf $(PROJECT_NAME) $(OUTPUT_DIR) rm -Rf $(PROJECT_NAME) $(OUTPUT_DIR)

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@ package raw
import ( import (
"fmt" "fmt"
"../../platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common"
) )
type FieldMacros struct {} 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" "flag"
"fmt" "fmt"
"os" "os"
"./parser"
"./config" "review.coreboot.org/coreboot.git/util/intelp2m/config"
"review.coreboot.org/coreboot.git/util/intelp2m/parser"
) )
// generateOutputFile - generates include file // generateOutputFile - generates include file

View File

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

View File

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

View File

@ -1,6 +1,6 @@
package adl 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 // GroupNameExtract - This function extracts the group ID, if it exists in a row
// line : string from the configuration file // line : string from the configuration file

View File

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

View File

@ -1,6 +1,6 @@
package apl 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 // GroupNameExtract - This function extracts the group ID, if it exists in a row
// line : string from the configuration file // line : string from the configuration file

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
package snr 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 // GroupNameExtract - This function extracts the group ID, if it exists in a row
// line : string from the configuration file // line : string from the configuration file