Skip to content

Resolve ballerina dependencies in dependencies.toml when a user a opens a ballerina project  #302

Open
@tharindulak

Description

@tharindulak

Description:

We need to resolve ballerina dependencies in dependencies.toml when a user a opens a bal file in a ballerina project.

Steps to reproduce:
Following is my dependencies.toml in my bal project.

# AUTO-GENERATED FILE. DO NOT MODIFY.

# This file is auto-generated by Ballerina for managing dependency versions.
# It should not be modified by hand.

[ballerina]
dependencies-toml-version = "2"

[[package]]
org = "ballerina"
name = "auth"
version = "2.4.0"
dependencies = [
	{org = "ballerina", name = "crypto"},
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.array"},
	{org = "ballerina", name = "lang.string"},
	{org = "ballerina", name = "log"},
	{org = "ballerina", name = "regex"}
]

[[package]]
org = "ballerina"
name = "cache"
version = "3.2.2"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "task"},
	{org = "ballerina", name = "time"}
]

[[package]]
org = "ballerina"
name = "constraint"
version = "1.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "crypto"
version = "2.2.2"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "time"}
]

[[package]]
org = "ballerina"
name = "file"
version = "1.4.0"
dependencies = [
	{org = "ballerina", name = "io"},
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "log"},
	{org = "ballerina", name = "os"},
	{org = "ballerina", name = "regex"},
	{org = "ballerina", name = "time"}
]

[[package]]
org = "ballerina"
name = "http"
version = "2.4.3"
dependencies = [
	{org = "ballerina", name = "auth"},
	{org = "ballerina", name = "cache"},
	{org = "ballerina", name = "constraint"},
	{org = "ballerina", name = "crypto"},
	{org = "ballerina", name = "file"},
	{org = "ballerina", name = "io"},
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "jwt"},
	{org = "ballerina", name = "lang.array"},
	{org = "ballerina", name = "lang.decimal"},
	{org = "ballerina", name = "lang.int"},
	{org = "ballerina", name = "lang.runtime"},
	{org = "ballerina", name = "lang.string"},
	{org = "ballerina", name = "lang.value"},
	{org = "ballerina", name = "log"},
	{org = "ballerina", name = "mime"},
	{org = "ballerina", name = "oauth2"},
	{org = "ballerina", name = "observe"},
	{org = "ballerina", name = "regex"},
	{org = "ballerina", name = "time"},
	{org = "ballerina", name = "url"}
]
modules = [
	{org = "ballerina", packageName = "http", moduleName = "http"}
]

[[package]]
org = "ballerina"
name = "io"
version = "1.3.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.value"}
]

[[package]]
org = "ballerina"
name = "jballerina.java"
version = "0.0.0"

[[package]]
org = "ballerina"
name = "jwt"
version = "2.4.0"
dependencies = [
	{org = "ballerina", name = "cache"},
	{org = "ballerina", name = "crypto"},
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.int"},
	{org = "ballerina", name = "lang.string"},
	{org = "ballerina", name = "log"},
	{org = "ballerina", name = "regex"},
	{org = "ballerina", name = "time"}
]

[[package]]
org = "ballerina"
name = "lang.__internal"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.object"}
]

[[package]]
org = "ballerina"
name = "lang.array"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.__internal"}
]

[[package]]
org = "ballerina"
name = "lang.decimal"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "lang.int"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "lang.object"
version = "0.0.0"

[[package]]
org = "ballerina"
name = "lang.runtime"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "lang.string"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "lang.value"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "log"
version = "2.4.1"
dependencies = [
	{org = "ballerina", name = "io"},
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.value"},
	{org = "ballerina", name = "observe"}
]

[[package]]
org = "ballerina"
name = "mime"
version = "2.4.0"
dependencies = [
	{org = "ballerina", name = "io"},
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.int"}
]

[[package]]
org = "ballerina"
name = "oauth2"
version = "2.4.1"
dependencies = [
	{org = "ballerina", name = "cache"},
	{org = "ballerina", name = "crypto"},
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "log"},
	{org = "ballerina", name = "time"}
]

[[package]]
org = "ballerina"
name = "observe"
version = "1.0.5"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "os"
version = "1.4.0"
dependencies = [
	{org = "ballerina", name = "io"},
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "regex"
version = "1.3.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "lang.string"}
]

[[package]]
org = "ballerina"
name = "task"
version = "2.2.2"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "time"}
]

[[package]]
org = "ballerina"
name = "time"
version = "2.2.2"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerina"
name = "url"
version = "2.2.2"
dependencies = [
	{org = "ballerina", name = "jballerina.java"}
]

[[package]]
org = "ballerinai"
name = "observe"
version = "0.0.0"
dependencies = [
	{org = "ballerina", name = "jballerina.java"},
	{org = "ballerina", name = "observe"}
]
modules = [
	{org = "ballerinai", packageName = "observe", moduleName = "observe"}
]

[[package]]
org = "user"
name = "problem_1_1"
version = "0.1.0"
dependencies = [
	{org = "ballerina", name = "http"},
	{org = "ballerinai", name = "observe"}
]
modules = [
	{org = "user", packageName = "problem_1_1", moduleName = "problem_1_1"}
]

When I try to open a bal file with following code, It fails to resolve the http module.

import ballerina/http;

service / on new http:Listener(9090) {

    // This function responds with `string` value `Hello, World!` to HTTP GET requests.
    resource function get greeting() returns string {
        return "Hello, World!";
    }
}

Please note that I have updated the ballerina version and removed my .ballerina folder in home dir.

Affected Versions:

OS, DB, other environment details and versions:

Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions