in ecs-cli/modules/cli/compose/project/project_version.go [14:43]
func (p *ecsProject) checkComposeVersion() (string, error) {
var composeVersion string
if len(p.ecsContext.ComposeFiles) == 0 {
return "", fmt.Errorf("No Compose files found")
}
for _, file := range p.ecsContext.ComposeFiles {
fileVersion, err := getFileVersion(file)
if err != nil {
return "", err
}
if composeVersion != "" && composeVersion != fileVersion {
return "", fmt.Errorf("Compose files must be of the same version. Found: %s and %s", composeVersion, fileVersion)
}
composeVersion = fileVersion
}
// if minor version of 1 or 2 found, log warning
match, _ := regexp.MatchString("^.+\\..", composeVersion)
if composeVersion != "" && match {
versionNumber, err := strconv.ParseFloat(composeVersion, 64)
if err != nil {
return "", err
}
if 0 < versionNumber && versionNumber < 3 {
logrus.Warnf("Minor version (%s) detected. Please format to include only major version (%d).", composeVersion, int(versionNumber))
}
}
return composeVersion, nil
}